[jboss-svn-commits] JBL Code SVN: r26239 - in labs/jbosstm/workspace/adinn/orchestration: src/org/jboss/jbossts/orchestration/rule/grammar and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Apr 24 05:31:27 EDT 2009


Author: adinn
Date: 2009-04-24 05:31:27 -0400 (Fri, 24 Apr 2009)
New Revision: 26239

Added:
   labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestMethod.txt
   labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldMethodAuxiliary.java
   labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestMethod.java
Removed:
   labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldAuxiliary.java
Modified:
   labs/jbosstm/workspace/adinn/orchestration/dd/grammar/cup/ECAGrammar.cup
   labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java
   labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java
   labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/sym.java
   labs/jbosstm/workspace/adinn/orchestration/tests/build.xml
   labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestField.txt
   labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestField.java
Log:
added tests for method invocations and fixed parser bugs to do with static method invocations

Modified: labs/jbosstm/workspace/adinn/orchestration/dd/grammar/cup/ECAGrammar.cup
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/dd/grammar/cup/ECAGrammar.cup	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/dd/grammar/cup/ECAGrammar.cup	2009-04-24 09:31:27 UTC (rev 26239)
@@ -418,6 +418,10 @@
 		{: RESULT = node(ParseNode.METH, mleft, mright, m, eme, null); :}
 	|	meth_expr:eme DOT simple_name:m LPAREN expr_list:args RPAREN
 		{: RESULT = node(ParseNode.METH, mleft, mright, m, eme, args); :}
+	|	expr_field_expr:efe DOT simple_name:m LPAREN RPAREN
+		{: RESULT = node(ParseNode.METH, mleft, mright, m, efe, null); :}
+	|	expr_field_expr:efe DOT simple_name:m LPAREN expr_list:args RPAREN
+		{: RESULT = node(ParseNode.METH, mleft, mright, m, efe, args); :}
 	;
 
 simple_expr

Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECAGrammarParser.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,7 +1,7 @@
 
 //----------------------------------------------------
 // The following code was generated by CUP v0.10k
-// Wed Apr 15 17:33:38 BST 2009
+// Fri Apr 24 10:31:04 BST 2009
 //----------------------------------------------------
 
 package org.jboss.jbossts.orchestration.rule.grammar;
@@ -10,7 +10,7 @@
 import org.jboss.jbossts.orchestration.rule.grammar.ParseNode;
 
 /** CUP v0.10k generated parser.
-  * @version Wed Apr 15 17:33:38 BST 2009
+  * @version Fri Apr 24 10:31:04 BST 2009
   */
 public class ECAGrammarParser extends java_cup.runtime.lr_parser {
 
@@ -23,7 +23,7 @@
   /** Production table. */
   protected static final short _production_table[][] = 
     unpackFromStrings(new String[] {
-    "\000\123\000\002\003\003\000\002\002\004\000\002\004" +
+    "\000\125\000\002\003\003\000\002\002\004\000\002\004" +
     "\010\000\002\005\003\000\002\005\003\000\002\006\005" +
     "\000\002\006\005\000\002\006\003\000\002\007\005\000" +
     "\002\010\005\000\002\010\003\000\002\011\003\000\002" +
@@ -45,10 +45,11 @@
     "\002\024\005\000\002\024\005\000\002\025\005\000\002" +
     "\025\006\000\002\025\007\000\002\025\010\000\002\025" +
     "\003\000\002\026\007\000\002\026\010\000\002\026\007" +
-    "\000\002\026\010\000\002\027\003\000\002\027\003\000" +
+    "\000\002\026\010\000\002\026\007\000\002\026\010\000" +
     "\002\027\003\000\002\027\003\000\002\027\003\000\002" +
-    "\027\005\000\002\032\003\000\002\032\005\000\002\033" +
-    "\003\000\002\034\003\000\002\034\005" });
+    "\027\003\000\002\027\003\000\002\027\005\000\002\032" +
+    "\003\000\002\032\005\000\002\033\003\000\002\034\003" +
+    "\000\002\034\005" });
 
   /** Access to production table. */
   public short[][] production_table() {return _production_table;}
@@ -56,27 +57,27 @@
   /** Parse-action table. */
   protected static final short[][] _action_table = 
     unpackFromStrings(new String[] {
-    "\000\217\000\004\004\005\001\002\000\004\002\001\001" +
-    "\002\000\006\007\010\054\012\001\002\000\004\002\007" +
+    "\000\223\000\004\004\005\001\002\000\004\002\001\001" +
+    "\002\000\006\007\010\054\011\001\002\000\004\002\007" +
     "\001\002\000\004\002\000\001\002\000\004\005\ufffe\001" +
-    "\002\000\004\005\175\001\002\000\074\002\uffb1\005\uffb1" +
-    "\006\uffb1\012\uffb1\013\uffb1\014\uffb1\015\uffb1\016\uffb1\017" +
-    "\uffb1\020\uffb1\021\uffb1\022\uffb1\023\uffb1\024\uffb1\025\uffb1" +
-    "\026\uffb1\027\uffb1\030\uffb1\031\uffb1\032\uffb1\033\uffb1\034" +
-    "\uffb1\035\uffb1\036\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1" +
-    "\043\uffb1\001\002\000\004\021\032\001\002\000\006\021" +
+    "\002\000\074\002\uffaf\005\uffaf\006\uffaf\012\uffaf\013\uffaf" +
+    "\014\uffaf\015\uffaf\016\uffaf\017\uffaf\020\uffaf\021\uffaf\022" +
+    "\uffaf\023\uffaf\024\uffaf\025\uffaf\026\uffaf\027\uffaf\030\uffaf" +
+    "\031\uffaf\032\uffaf\033\uffaf\034\uffaf\035\uffaf\036\uffaf\037" +
+    "\uffaf\040\uffaf\041\uffaf\042\uffaf\043\uffaf\001\002\000\004" +
+    "\005\201\001\002\000\004\021\032\001\002\000\006\021" +
     "\ufff7\023\023\001\002\000\010\005\ufffa\016\020\017\017" +
-    "\001\002\000\004\005\ufffd\001\002\000\004\054\012\001" +
-    "\002\000\004\054\012\001\002\000\004\005\ufffb\001\002" +
+    "\001\002\000\004\005\ufffd\001\002\000\004\054\011\001" +
+    "\002\000\004\054\011\001\002\000\004\005\ufffb\001\002" +
     "\000\004\005\ufffc\001\002\000\004\054\025\001\002\000" +
-    "\004\021\ufff8\001\002\000\072\002\uffb1\005\uffb1\006\uffb1" +
-    "\012\uffb1\013\uffb1\015\uffb1\016\uffb1\017\uffb1\020\uffb0\021" +
-    "\uffb1\022\uffb1\023\uffb1\024\uffb1\025\uffb1\026\uffb1\027\uffb1" +
-    "\030\uffb1\031\uffb1\032\uffb1\033\uffb1\034\uffb1\035\uffb1\036" +
-    "\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043\uffb1\001\002" +
-    "\000\004\020\030\001\002\000\006\012\uffb3\021\uffb3\001" +
-    "\002\000\004\054\031\001\002\000\010\012\uffb2\020\uffaf" +
-    "\021\uffb2\001\002\000\026\012\042\042\051\044\036\045" +
+    "\004\021\ufff8\001\002\000\072\002\uffaf\005\uffaf\006\uffaf" +
+    "\012\uffaf\013\uffaf\015\uffaf\016\uffaf\017\uffaf\020\uffae\021" +
+    "\uffaf\022\uffaf\023\uffaf\024\uffaf\025\uffaf\026\uffaf\027\uffaf" +
+    "\030\uffaf\031\uffaf\032\uffaf\033\uffaf\034\uffaf\035\uffaf\036" +
+    "\uffaf\037\uffaf\040\uffaf\041\uffaf\042\uffaf\043\uffaf\001\002" +
+    "\000\004\020\030\001\002\000\006\012\uffb1\021\uffb1\001" +
+    "\002\000\004\054\031\001\002\000\010\012\uffb0\020\uffad" +
+    "\021\uffb0\001\002\000\026\012\042\042\051\044\036\045" +
     "\041\047\035\050\057\051\053\052\037\053\044\054\025" +
     "\001\002\000\052\005\ufff9\016\ufff9\017\ufff9\022\113\024" +
     "\077\025\073\026\074\027\101\030\110\031\075\032\106" +
@@ -86,18 +87,18 @@
     "\uffe5\023\uffe5\024\uffe5\025\uffe5\026\uffe5\027\uffe5\030\uffe5" +
     "\031\uffe5\032\uffe5\033\uffe5\034\uffe5\035\uffe5\036\uffe5\037" +
     "\uffe5\040\uffe5\041\uffe5\042\uffe5\043\uffe5\001\002\000\070" +
-    "\002\uffb5\005\uffb5\006\uffb5\013\uffb5\014\uffb5\015\uffb5\016" +
-    "\uffb5\017\uffb5\020\uffb5\022\uffb5\023\uffb5\024\uffb5\025\uffb5" +
-    "\026\uffb5\027\uffb5\030\uffb5\031\uffb5\032\uffb5\033\uffb5\034" +
-    "\uffb5\035\uffb5\036\uffb5\037\uffb5\040\uffb5\041\uffb5\042\uffb5" +
-    "\043\uffb5\001\002\000\026\012\042\042\051\044\036\045" +
+    "\002\uffb3\005\uffb3\006\uffb3\013\uffb3\014\uffb3\015\uffb3\016" +
+    "\uffb3\017\uffb3\020\uffb3\022\uffb3\023\uffb3\024\uffb3\025\uffb3" +
+    "\026\uffb3\027\uffb3\030\uffb3\031\uffb3\032\uffb3\033\uffb3\034" +
+    "\uffb3\035\uffb3\036\uffb3\037\uffb3\040\uffb3\041\uffb3\042\uffb3" +
+    "\043\uffb3\001\002\000\026\012\042\042\051\044\036\045" +
     "\041\047\035\050\057\051\053\052\037\053\044\054\025" +
-    "\001\002\000\070\002\uffb7\005\uffb7\006\uffb7\013\uffb7\014" +
-    "\uffb7\015\uffb7\016\uffb7\017\uffb7\020\uffb7\022\uffb7\023\uffb7" +
-    "\024\uffb7\025\uffb7\026\uffb7\027\uffb7\030\uffb7\031\uffb7\032" +
-    "\uffb7\033\uffb7\034\uffb7\035\uffb7\036\uffb7\037\uffb7\040\uffb7" +
-    "\041\uffb7\042\uffb7\043\uffb7\001\002\000\066\002\uffe2\005" +
-    "\uffe2\006\uffe2\012\167\013\uffe2\015\uffe2\016\uffe2\017\uffe2" +
+    "\001\002\000\070\002\uffb5\005\uffb5\006\uffb5\013\uffb5\014" +
+    "\uffb5\015\uffb5\016\uffb5\017\uffb5\020\uffb5\022\uffb5\023\uffb5" +
+    "\024\uffb5\025\uffb5\026\uffb5\027\uffb5\030\uffb5\031\uffb5\032" +
+    "\uffb5\033\uffb5\034\uffb5\035\uffb5\036\uffb5\037\uffb5\040\uffb5" +
+    "\041\uffb5\042\uffb5\043\uffb5\001\002\000\066\002\uffe2\005" +
+    "\uffe2\006\uffe2\012\173\013\uffe2\015\uffe2\016\uffe2\017\uffe2" +
     "\022\uffe2\023\uffe2\024\uffe2\025\uffe2\026\uffe2\027\uffe2\030" +
     "\uffe2\031\uffe2\032\uffe2\033\uffe2\034\uffe2\035\uffe2\036\uffe2" +
     "\037\uffe2\040\uffe2\041\uffe2\042\uffe2\043\uffe2\001\002\000" +
@@ -106,14 +107,14 @@
     "\042\042\051\044\036\045\041\047\035\050\057\051\053" +
     "\052\037\053\044\054\025\001\002\000\070\002\uffe3\005" +
     "\uffe3\006\uffe3\013\uffe3\014\060\015\uffe3\016\uffe3\017\uffe3" +
-    "\020\156\022\uffe3\023\uffe3\024\uffe3\025\uffe3\026\uffe3\027" +
+    "\020\162\022\uffe3\023\uffe3\024\uffe3\025\uffe3\026\uffe3\027" +
     "\uffe3\030\uffe3\031\uffe3\032\uffe3\033\uffe3\034\uffe3\035\uffe3" +
     "\036\uffe3\037\uffe3\040\uffe3\041\uffe3\042\uffe3\043\uffe3\001" +
-    "\002\000\070\002\uffb6\005\uffb6\006\uffb6\013\uffb6\014\uffb6" +
-    "\015\uffb6\016\uffb6\017\uffb6\020\uffb6\022\uffb6\023\uffb6\024" +
-    "\uffb6\025\uffb6\026\uffb6\027\uffb6\030\uffb6\031\uffb6\032\uffb6" +
-    "\033\uffb6\034\uffb6\035\uffb6\036\uffb6\037\uffb6\040\uffb6\041" +
-    "\uffb6\042\uffb6\043\uffb6\001\002\000\064\002\uffe8\005\uffe8" +
+    "\002\000\070\002\uffb4\005\uffb4\006\uffb4\013\uffb4\014\uffb4" +
+    "\015\uffb4\016\uffb4\017\uffb4\020\uffb4\022\uffb4\023\uffb4\024" +
+    "\uffb4\025\uffb4\026\uffb4\027\uffb4\030\uffb4\031\uffb4\032\uffb4" +
+    "\033\uffb4\034\uffb4\035\uffb4\036\uffb4\037\uffb4\040\uffb4\041" +
+    "\uffb4\042\uffb4\043\uffb4\001\002\000\064\002\uffe8\005\uffe8" +
     "\006\uffe8\013\uffe8\015\uffe8\016\uffe8\017\uffe8\022\uffe8\023" +
     "\uffe8\024\uffe8\025\uffe8\026\uffe8\027\uffe8\030\uffe8\031\uffe8" +
     "\032\uffe8\033\uffe8\034\uffe8\035\uffe8\036\uffe8\037\uffe8\040" +
@@ -133,11 +134,11 @@
     "\020\uffbe\022\uffbe\023\uffbe\024\uffbe\025\uffbe\026\uffbe\027" +
     "\uffbe\030\uffbe\031\uffbe\032\uffbe\033\uffbe\034\uffbe\035\uffbe" +
     "\036\uffbe\037\uffbe\040\uffbe\041\uffbe\042\uffbe\043\uffbe\001" +
-    "\002\000\070\002\uffb9\005\uffb9\006\uffb9\013\uffb9\014\uffb9" +
-    "\015\uffb9\016\uffb9\017\uffb9\020\uffb9\022\uffb9\023\uffb9\024" +
-    "\uffb9\025\uffb9\026\uffb9\027\uffb9\030\uffb9\031\uffb9\032\uffb9" +
-    "\033\uffb9\034\uffb9\035\uffb9\036\uffb9\037\uffb9\040\uffb9\041" +
-    "\uffb9\042\uffb9\043\uffb9\001\002\000\064\002\uffe6\005\uffe6" +
+    "\002\000\070\002\uffb7\005\uffb7\006\uffb7\013\uffb7\014\uffb7" +
+    "\015\uffb7\016\uffb7\017\uffb7\020\uffb7\022\uffb7\023\uffb7\024" +
+    "\uffb7\025\uffb7\026\uffb7\027\uffb7\030\uffb7\031\uffb7\032\uffb7" +
+    "\033\uffb7\034\uffb7\035\uffb7\036\uffb7\037\uffb7\040\uffb7\041" +
+    "\uffb7\042\uffb7\043\uffb7\001\002\000\064\002\uffe6\005\uffe6" +
     "\006\uffe6\013\uffe6\015\uffe6\016\uffe6\017\uffe6\022\uffe6\023" +
     "\uffe6\024\uffe6\025\uffe6\026\uffe6\027\uffe6\030\uffe6\031\uffe6" +
     "\032\uffe6\033\uffe6\034\uffe6\035\uffe6\036\uffe6\037\uffe6\040" +
@@ -150,11 +151,11 @@
     "\uffe4\017\uffe4\020\063\022\uffe4\023\uffe4\024\uffe4\025\uffe4" +
     "\026\uffe4\027\uffe4\030\uffe4\031\uffe4\032\uffe4\033\uffe4\034" +
     "\uffe4\035\uffe4\036\uffe4\037\uffe4\040\uffe4\041\uffe4\042\uffe4" +
-    "\043\uffe4\001\002\000\070\002\uffb8\005\uffb8\006\uffb8\013" +
-    "\uffb8\014\uffb8\015\uffb8\016\uffb8\017\uffb8\020\uffb8\022\uffb8" +
-    "\023\uffb8\024\uffb8\025\uffb8\026\uffb8\027\uffb8\030\uffb8\031" +
-    "\uffb8\032\uffb8\033\uffb8\034\uffb8\035\uffb8\036\uffb8\037\uffb8" +
-    "\040\uffb8\041\uffb8\042\uffb8\043\uffb8\001\002\000\026\012" +
+    "\043\uffe4\001\002\000\070\002\uffb6\005\uffb6\006\uffb6\013" +
+    "\uffb6\014\uffb6\015\uffb6\016\uffb6\017\uffb6\020\uffb6\022\uffb6" +
+    "\023\uffb6\024\uffb6\025\uffb6\026\uffb6\027\uffb6\030\uffb6\031" +
+    "\uffb6\032\uffb6\033\uffb6\034\uffb6\035\uffb6\036\uffb6\037\uffb6" +
+    "\040\uffb6\041\uffb6\042\uffb6\043\uffb6\001\002\000\026\012" +
     "\042\042\051\044\036\045\041\047\035\050\057\051\053" +
     "\052\037\053\044\054\025\001\002\000\064\002\uffcb\005" +
     "\uffcb\006\uffcb\013\uffcb\015\uffcb\016\uffcb\017\uffcb\022\uffcb" +
@@ -165,7 +166,7 @@
     "\017\uffca\022\uffca\023\uffca\024\uffca\025\uffca\026\uffca\027" +
     "\uffca\030\uffca\031\uffca\032\uffca\033\uffca\034\uffca\035\uffca" +
     "\036\uffca\037\uffca\040\uffca\041\uffca\042\uffca\043\uffca\001" +
-    "\002\000\004\054\012\001\002\000\072\002\uffc4\005\uffc4" +
+    "\002\000\004\054\011\001\002\000\072\002\uffc4\005\uffc4" +
     "\006\uffc4\012\065\013\uffc4\014\uffc4\015\uffc4\016\uffc4\017" +
     "\uffc4\020\uffc4\022\uffc4\023\uffc4\024\uffc4\025\uffc4\026\uffc4" +
     "\027\uffc4\030\uffc4\031\uffc4\032\uffc4\033\uffc4\034\uffc4\035" +
@@ -309,11 +310,11 @@
     "\017\uffce\022\uffce\023\uffce\024\uffce\025\uffce\026\uffce\027" +
     "\uffce\030\uffce\031\uffce\032\uffce\033\uffce\034\uffce\035\uffce" +
     "\036\uffce\037\uffce\040\uffce\041\uffce\042\uffce\043\uffce\001" +
-    "\002\000\004\054\145\001\002\000\072\002\uffb1\005\uffb1" +
-    "\006\uffb1\012\uffb1\013\uffb1\014\uffb1\015\uffb1\016\uffb1\017" +
-    "\uffb1\020\uffaf\022\uffb1\023\uffb1\024\uffb1\025\uffb1\026\uffb1" +
-    "\027\uffb1\030\uffb1\031\uffb1\032\uffb1\033\uffb1\034\uffb1\035" +
-    "\uffb1\036\uffb1\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043\uffb1" +
+    "\002\000\004\054\145\001\002\000\072\002\uffaf\005\uffaf" +
+    "\006\uffaf\012\uffaf\013\uffaf\014\uffaf\015\uffaf\016\uffaf\017" +
+    "\uffaf\020\uffad\022\uffaf\023\uffaf\024\uffaf\025\uffaf\026\uffaf" +
+    "\027\uffaf\030\uffaf\031\uffaf\032\uffaf\033\uffaf\034\uffaf\035" +
+    "\uffaf\036\uffaf\037\uffaf\040\uffaf\041\uffaf\042\uffaf\043\uffaf" +
     "\001\002\000\070\002\uffc7\005\uffc7\006\uffc7\012\147\013" +
     "\uffc7\014\uffc7\015\uffc7\016\uffc7\017\uffc7\022\uffc7\023\uffc7" +
     "\024\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032" +
@@ -330,91 +331,103 @@
     "\uffbf\022\uffbf\023\uffbf\024\uffbf\025\uffbf\026\uffbf\027\uffbf" +
     "\030\uffbf\031\uffbf\032\uffbf\033\uffbf\034\uffbf\035\uffbf\036" +
     "\uffbf\037\uffbf\040\uffbf\041\uffbf\042\uffbf\043\uffbf\001\002" +
-    "\000\004\054\012\001\002\000\070\002\uffc3\005\uffc3\006" +
-    "\uffc3\013\uffc3\014\uffc3\015\uffc3\016\uffc3\017\uffc3\020\uffc3" +
-    "\022\uffc3\023\uffc3\024\uffc3\025\uffc3\026\uffc3\027\uffc3\030" +
-    "\uffc3\031\uffc3\032\uffc3\033\uffc3\034\uffc3\035\uffc3\036\uffc3" +
-    "\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3\001\002\000" +
-    "\064\002\uffcd\005\uffcd\006\uffcd\013\uffcd\015\uffcd\016\uffcd" +
-    "\017\uffcd\022\uffcd\023\uffcd\024\uffcd\025\uffcd\026\uffcd\027" +
-    "\uffcd\030\uffcd\031\uffcd\032\uffcd\033\uffcd\034\uffcd\035\uffcd" +
-    "\036\uffcd\037\uffcd\040\uffcd\041\uffcd\042\uffcd\043\uffcd\001" +
-    "\002\000\004\054\012\001\002\000\072\002\uffc5\005\uffc5" +
-    "\006\uffc5\012\160\013\uffc5\014\uffc5\015\uffc5\016\uffc5\017" +
-    "\uffc5\020\uffc5\022\uffc5\023\uffc5\024\uffc5\025\uffc5\026\uffc5" +
-    "\027\uffc5\030\uffc5\031\uffc5\032\uffc5\033\uffc5\034\uffc5\035" +
-    "\uffc5\036\uffc5\037\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5" +
-    "\001\002\000\030\012\042\013\161\042\051\044\036\045" +
+    "\000\004\054\011\001\002\000\072\002\uffc3\005\uffc3\006" +
+    "\uffc3\012\155\013\uffc3\014\uffc3\015\uffc3\016\uffc3\017\uffc3" +
+    "\020\uffc3\022\uffc3\023\uffc3\024\uffc3\025\uffc3\026\uffc3\027" +
+    "\uffc3\030\uffc3\031\uffc3\032\uffc3\033\uffc3\034\uffc3\035\uffc3" +
+    "\036\uffc3\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3\001" +
+    "\002\000\030\012\042\013\156\042\051\044\036\045\041" +
+    "\047\035\050\057\051\053\052\037\053\044\054\025\001" +
+    "\002\000\070\002\uffb9\005\uffb9\006\uffb9\013\uffb9\014\uffb9" +
+    "\015\uffb9\016\uffb9\017\uffb9\020\uffb9\022\uffb9\023\uffb9\024" +
+    "\uffb9\025\uffb9\026\uffb9\027\uffb9\030\uffb9\031\uffb9\032\uffb9" +
+    "\033\uffb9\034\uffb9\035\uffb9\036\uffb9\037\uffb9\040\uffb9\041" +
+    "\uffb9\042\uffb9\043\uffb9\001\002\000\004\013\160\001\002" +
+    "\000\070\002\uffb8\005\uffb8\006\uffb8\013\uffb8\014\uffb8\015" +
+    "\uffb8\016\uffb8\017\uffb8\020\uffb8\022\uffb8\023\uffb8\024\uffb8" +
+    "\025\uffb8\026\uffb8\027\uffb8\030\uffb8\031\uffb8\032\uffb8\033" +
+    "\uffb8\034\uffb8\035\uffb8\036\uffb8\037\uffb8\040\uffb8\041\uffb8" +
+    "\042\uffb8\043\uffb8\001\002\000\064\002\uffcd\005\uffcd\006" +
+    "\uffcd\013\uffcd\015\uffcd\016\uffcd\017\uffcd\022\uffcd\023\uffcd" +
+    "\024\uffcd\025\uffcd\026\uffcd\027\uffcd\030\uffcd\031\uffcd\032" +
+    "\uffcd\033\uffcd\034\uffcd\035\uffcd\036\uffcd\037\uffcd\040\uffcd" +
+    "\041\uffcd\042\uffcd\043\uffcd\001\002\000\004\054\011\001" +
+    "\002\000\072\002\uffc5\005\uffc5\006\uffc5\012\164\013\uffc5" +
+    "\014\uffc5\015\uffc5\016\uffc5\017\uffc5\020\uffc5\022\uffc5\023" +
+    "\uffc5\024\uffc5\025\uffc5\026\uffc5\027\uffc5\030\uffc5\031\uffc5" +
+    "\032\uffc5\033\uffc5\034\uffc5\035\uffc5\036\uffc5\037\uffc5\040" +
+    "\uffc5\041\uffc5\042\uffc5\043\uffc5\001\002\000\030\012\042" +
+    "\013\165\042\051\044\036\045\041\047\035\050\057\051" +
+    "\053\052\037\053\044\054\025\001\002\000\070\002\uffbd" +
+    "\005\uffbd\006\uffbd\013\uffbd\014\uffbd\015\uffbd\016\uffbd\017" +
+    "\uffbd\020\uffbd\022\uffbd\023\uffbd\024\uffbd\025\uffbd\026\uffbd" +
+    "\027\uffbd\030\uffbd\031\uffbd\032\uffbd\033\uffbd\034\uffbd\035" +
+    "\uffbd\036\uffbd\037\uffbd\040\uffbd\041\uffbd\042\uffbd\043\uffbd" +
+    "\001\002\000\004\013\167\001\002\000\070\002\uffbc\005" +
+    "\uffbc\006\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc\017\uffbc" +
+    "\020\uffbc\022\uffbc\023\uffbc\024\uffbc\025\uffbc\026\uffbc\027" +
+    "\uffbc\030\uffbc\031\uffbc\032\uffbc\033\uffbc\034\uffbc\035\uffbc" +
+    "\036\uffbc\037\uffbc\040\uffbc\041\uffbc\042\uffbc\043\uffbc\001" +
+    "\002\000\046\013\171\022\113\024\077\025\073\026\074" +
+    "\027\101\030\110\031\075\032\106\033\100\034\105\035" +
+    "\111\036\104\037\112\040\103\041\076\042\107\043\072" +
+    "\001\002\000\070\002\uffb2\005\uffb2\006\uffb2\013\uffb2\014" +
+    "\uffb2\015\uffb2\016\uffb2\017\uffb2\020\uffb2\022\uffb2\023\uffb2" +
+    "\024\uffb2\025\uffb2\026\uffb2\027\uffb2\030\uffb2\031\uffb2\032" +
+    "\uffb2\033\uffb2\034\uffb2\035\uffb2\036\uffb2\037\uffb2\040\uffb2" +
+    "\041\uffb2\042\uffb2\043\uffb2\001\002\000\064\002\uffcf\005" +
+    "\uffcf\006\uffcf\013\uffcf\015\uffcf\016\uffcf\017\uffcf\022\uffcf" +
+    "\023\uffcf\024\uffcf\025\uffcf\026\uffcf\027\uffcf\030\uffcf\031" +
+    "\uffcf\032\uffcf\033\uffcf\034\uffcf\035\uffcf\036\uffcf\037\uffcf" +
+    "\040\uffcf\041\uffcf\042\uffcf\043\uffcf\001\002\000\030\012" +
+    "\042\013\174\042\051\044\036\045\041\047\035\050\057" +
+    "\051\053\052\037\053\044\054\025\001\002\000\070\002" +
+    "\uffc2\005\uffc2\006\uffc2\013\uffc2\014\uffc2\015\uffc2\016\uffc2" +
+    "\017\uffc2\020\uffc2\022\uffc2\023\uffc2\024\uffc2\025\uffc2\026" +
+    "\uffc2\027\uffc2\030\uffc2\031\uffc2\032\uffc2\033\uffc2\034\uffc2" +
+    "\035\uffc2\036\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2\043" +
+    "\uffc2\001\002\000\004\013\176\001\002\000\070\002\uffc1" +
+    "\005\uffc1\006\uffc1\013\uffc1\014\uffc1\015\uffc1\016\uffc1\017" +
+    "\uffc1\020\uffc1\022\uffc1\023\uffc1\024\uffc1\025\uffc1\026\uffc1" +
+    "\027\uffc1\030\uffc1\031\uffc1\032\uffc1\033\uffc1\034\uffc1\035" +
+    "\uffc1\036\uffc1\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043\uffc1" +
+    "\001\002\000\064\002\uffd0\005\uffd0\006\uffd0\013\uffd0\015" +
+    "\uffd0\016\uffd0\017\uffd0\022\uffd0\023\uffd0\024\uffd0\025\uffd0" +
+    "\026\074\027\101\030\110\031\075\032\106\033\100\034" +
+    "\105\035\111\036\104\037\112\040\103\041\076\042\107" +
+    "\043\072\001\002\000\064\002\uffcc\005\uffcc\006\uffcc\013" +
+    "\uffcc\015\uffcc\016\uffcc\017\uffcc\022\uffcc\023\uffcc\024\uffcc" +
+    "\025\uffcc\026\uffcc\027\uffcc\030\uffcc\031\uffcc\032\uffcc\033" +
+    "\uffcc\034\uffcc\035\uffcc\036\uffcc\037\uffcc\040\uffcc\041\uffcc" +
+    "\042\uffcc\043\uffcc\001\002\000\026\012\042\042\051\044" +
+    "\036\045\041\047\035\050\057\051\053\052\037\053\044" +
+    "\054\025\001\002\000\046\006\ufff6\022\113\024\077\025" +
+    "\073\026\074\027\101\030\110\031\075\032\106\033\100" +
+    "\034\105\035\111\036\104\037\112\040\103\041\076\042" +
+    "\107\043\072\001\002\000\004\006\204\001\002\000\034" +
+    "\007\211\010\207\011\213\012\042\042\051\044\036\045" +
     "\041\047\035\050\057\051\053\052\037\053\044\054\025" +
-    "\001\002\000\070\002\uffbd\005\uffbd\006\uffbd\013\uffbd\014" +
-    "\uffbd\015\uffbd\016\uffbd\017\uffbd\020\uffbd\022\uffbd\023\uffbd" +
-    "\024\uffbd\025\uffbd\026\uffbd\027\uffbd\030\uffbd\031\uffbd\032" +
-    "\uffbd\033\uffbd\034\uffbd\035\uffbd\036\uffbd\037\uffbd\040\uffbd" +
-    "\041\uffbd\042\uffbd\043\uffbd\001\002\000\004\013\163\001" +
-    "\002\000\070\002\uffbc\005\uffbc\006\uffbc\013\uffbc\014\uffbc" +
-    "\015\uffbc\016\uffbc\017\uffbc\020\uffbc\022\uffbc\023\uffbc\024" +
-    "\uffbc\025\uffbc\026\uffbc\027\uffbc\030\uffbc\031\uffbc\032\uffbc" +
-    "\033\uffbc\034\uffbc\035\uffbc\036\uffbc\037\uffbc\040\uffbc\041" +
-    "\uffbc\042\uffbc\043\uffbc\001\002\000\046\013\165\022\113" +
-    "\024\077\025\073\026\074\027\101\030\110\031\075\032" +
-    "\106\033\100\034\105\035\111\036\104\037\112\040\103" +
-    "\041\076\042\107\043\072\001\002\000\070\002\uffb4\005" +
-    "\uffb4\006\uffb4\013\uffb4\014\uffb4\015\uffb4\016\uffb4\017\uffb4" +
-    "\020\uffb4\022\uffb4\023\uffb4\024\uffb4\025\uffb4\026\uffb4\027" +
-    "\uffb4\030\uffb4\031\uffb4\032\uffb4\033\uffb4\034\uffb4\035\uffb4" +
-    "\036\uffb4\037\uffb4\040\uffb4\041\uffb4\042\uffb4\043\uffb4\001" +
-    "\002\000\064\002\uffcf\005\uffcf\006\uffcf\013\uffcf\015\uffcf" +
-    "\016\uffcf\017\uffcf\022\uffcf\023\uffcf\024\uffcf\025\uffcf\026" +
-    "\uffcf\027\uffcf\030\uffcf\031\uffcf\032\uffcf\033\uffcf\034\uffcf" +
-    "\035\uffcf\036\uffcf\037\uffcf\040\uffcf\041\uffcf\042\uffcf\043" +
-    "\uffcf\001\002\000\030\012\042\013\170\042\051\044\036" +
-    "\045\041\047\035\050\057\051\053\052\037\053\044\054" +
-    "\025\001\002\000\070\002\uffc2\005\uffc2\006\uffc2\013\uffc2" +
-    "\014\uffc2\015\uffc2\016\uffc2\017\uffc2\020\uffc2\022\uffc2\023" +
-    "\uffc2\024\uffc2\025\uffc2\026\uffc2\027\uffc2\030\uffc2\031\uffc2" +
-    "\032\uffc2\033\uffc2\034\uffc2\035\uffc2\036\uffc2\037\uffc2\040" +
-    "\uffc2\041\uffc2\042\uffc2\043\uffc2\001\002\000\004\013\172" +
-    "\001\002\000\070\002\uffc1\005\uffc1\006\uffc1\013\uffc1\014" +
-    "\uffc1\015\uffc1\016\uffc1\017\uffc1\020\uffc1\022\uffc1\023\uffc1" +
-    "\024\uffc1\025\uffc1\026\uffc1\027\uffc1\030\uffc1\031\uffc1\032" +
-    "\uffc1\033\uffc1\034\uffc1\035\uffc1\036\uffc1\037\uffc1\040\uffc1" +
-    "\041\uffc1\042\uffc1\043\uffc1\001\002\000\064\002\uffd0\005" +
-    "\uffd0\006\uffd0\013\uffd0\015\uffd0\016\uffd0\017\uffd0\022\uffd0" +
-    "\023\uffd0\024\uffd0\025\uffd0\026\074\027\101\030\110\031" +
+    "\001\002\000\004\002\ufff1\001\002\000\052\002\ufff0\016" +
+    "\222\017\223\022\113\024\077\025\073\026\074\027\101" +
+    "\030\110\031\075\032\106\033\100\034\105\035\111\036" +
+    "\104\037\112\040\103\041\076\042\107\043\072\001\002" +
+    "\000\030\002\uffef\012\042\042\051\044\036\045\041\047" +
+    "\035\050\057\051\053\052\037\053\044\054\025\001\002" +
+    "\000\004\002\uffff\001\002\000\004\002\ufff5\001\002\000" +
+    "\004\002\ufff4\001\002\000\004\054\025\001\002\000\004" +
+    "\012\215\001\002\000\030\012\042\013\216\042\051\044" +
+    "\036\045\041\047\035\050\057\051\053\052\037\053\044" +
+    "\054\025\001\002\000\004\002\uffed\001\002\000\004\013" +
+    "\220\001\002\000\004\002\uffec\001\002\000\046\002\uffee" +
+    "\022\113\024\077\025\073\026\074\027\101\030\110\031" +
     "\075\032\106\033\100\034\105\035\111\036\104\037\112" +
-    "\040\103\041\076\042\107\043\072\001\002\000\064\002" +
-    "\uffcc\005\uffcc\006\uffcc\013\uffcc\015\uffcc\016\uffcc\017\uffcc" +
-    "\022\uffcc\023\uffcc\024\uffcc\025\uffcc\026\uffcc\027\uffcc\030" +
-    "\uffcc\031\uffcc\032\uffcc\033\uffcc\034\uffcc\035\uffcc\036\uffcc" +
-    "\037\uffcc\040\uffcc\041\uffcc\042\uffcc\043\uffcc\001\002\000" +
-    "\026\012\042\042\051\044\036\045\041\047\035\050\057" +
-    "\051\053\052\037\053\044\054\025\001\002\000\046\006" +
-    "\ufff6\022\113\024\077\025\073\026\074\027\101\030\110" +
-    "\031\075\032\106\033\100\034\105\035\111\036\104\037" +
-    "\112\040\103\041\076\042\107\043\072\001\002\000\004" +
-    "\006\200\001\002\000\034\007\205\010\203\011\207\012" +
-    "\042\042\051\044\036\045\041\047\035\050\057\051\053" +
-    "\052\037\053\044\054\025\001\002\000\004\002\ufff1\001" +
-    "\002\000\052\002\ufff0\016\216\017\217\022\113\024\077" +
-    "\025\073\026\074\027\101\030\110\031\075\032\106\033" +
-    "\100\034\105\035\111\036\104\037\112\040\103\041\076" +
-    "\042\107\043\072\001\002\000\030\002\uffef\012\042\042" +
-    "\051\044\036\045\041\047\035\050\057\051\053\052\037" +
-    "\053\044\054\025\001\002\000\004\002\uffff\001\002\000" +
-    "\004\002\ufff5\001\002\000\004\002\ufff4\001\002\000\004" +
-    "\054\025\001\002\000\004\012\211\001\002\000\030\012" +
-    "\042\013\212\042\051\044\036\045\041\047\035\050\057" +
-    "\051\053\052\037\053\044\054\025\001\002\000\004\002" +
-    "\uffed\001\002\000\004\013\214\001\002\000\004\002\uffec" +
-    "\001\002\000\046\002\uffee\022\113\024\077\025\073\026" +
-    "\074\027\101\030\110\031\075\032\106\033\100\034\105" +
-    "\035\111\036\104\037\112\040\103\041\076\042\107\043" +
-    "\072\001\002\000\032\010\203\011\207\012\042\042\051" +
-    "\044\036\045\041\047\035\050\057\051\053\052\037\053" +
-    "\044\054\025\001\002\000\032\010\203\011\207\012\042" +
-    "\042\051\044\036\045\041\047\035\050\057\051\053\052" +
-    "\037\053\044\054\025\001\002\000\004\002\ufff2\001\002" +
-    "\000\004\002\ufff3\001\002" });
+    "\040\103\041\076\042\107\043\072\001\002\000\032\010" +
+    "\207\011\213\012\042\042\051\044\036\045\041\047\035" +
+    "\050\057\051\053\052\037\053\044\054\025\001\002\000" +
+    "\032\010\207\011\213\012\042\042\051\044\036\045\041" +
+    "\047\035\050\057\051\053\052\037\053\044\054\025\001" +
+    "\002\000\004\002\ufff2\001\002\000\004\002\ufff3\001\002" +
+    "" });
 
   /** Access to parse-action table. */
   public short[][] action_table() {return _action_table;}
@@ -422,8 +435,8 @@
   /** <code>reduce_goto</code> table. */
   protected static final short[][] _reduce_table = 
     unpackFromStrings(new String[] {
-    "\000\217\000\006\003\005\004\003\001\001\000\002\001" +
-    "\001\000\014\005\010\006\015\007\014\010\012\033\013" +
+    "\000\223\000\006\003\005\004\003\001\001\000\002\001" +
+    "\001\000\014\005\011\006\015\007\014\010\012\033\013" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
@@ -434,15 +447,15 @@
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\032\016\032\017\047\020\044\021\054\022\053\023" +
     "\033\024\045\025\055\026\051\027\042\033\037\034\046" +
-    "\001\001\000\002\001\001\000\006\030\173\031\061\001" +
-    "\001\000\002\001\001\000\032\016\172\017\047\020\044" +
+    "\001\001\000\002\001\001\000\006\030\177\031\061\001" +
+    "\001\000\002\001\001\000\032\016\176\017\047\020\044" +
     "\021\054\022\053\023\033\024\045\025\055\026\051\027" +
     "\042\033\037\034\046\001\001\000\002\001\001\000\002" +
-    "\001\001\000\032\016\165\017\047\020\044\021\054\022" +
+    "\001\001\000\032\016\171\017\047\020\044\021\054\022" +
     "\053\023\033\024\045\025\055\026\051\027\042\033\037" +
-    "\034\046\001\001\000\032\016\163\017\047\020\044\021" +
+    "\034\046\001\001\000\032\016\167\017\047\020\044\021" +
     "\054\022\053\023\033\024\045\025\055\026\051\027\042" +
-    "\033\037\034\046\001\001\000\006\030\154\031\061\001" +
+    "\033\037\034\046\001\001\000\006\030\160\031\061\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\032\016\142\017" +
     "\047\020\044\021\054\022\053\023\033\024\045\025\055" +
@@ -509,36 +522,39 @@
     "\017\047\020\044\021\054\022\053\023\033\024\045\025" +
     "\055\026\051\027\042\033\037\034\046\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\004\033" +
-    "\153\001\001\000\002\001\001\000\002\001\001\000\004" +
-    "\033\156\001\001\000\002\001\001\000\034\015\161\016" +
-    "\065\017\047\020\044\021\054\022\053\023\033\024\045" +
-    "\025\055\026\051\027\042\033\037\034\046\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\034\015" +
-    "\170\016\065\017\047\020\044\021\054\022\053\023\033" +
-    "\024\045\025\055\026\051\027\042\033\037\034\046\001" +
+    "\153\001\001\000\002\001\001\000\034\015\156\016\065" +
+    "\017\047\020\044\021\054\022\053\023\033\024\045\025" +
+    "\055\026\051\027\042\033\037\034\046\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\004\033\162\001\001\000\002\001\001\000\034" +
+    "\015\165\016\065\017\047\020\044\021\054\022\053\023" +
+    "\033\024\045\025\055\026\051\027\042\033\037\034\046" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\034\011\176\016" +
-    "\175\017\047\020\044\021\054\022\053\023\033\024\045" +
-    "\025\055\026\051\027\042\033\037\034\046\001\001\000" +
-    "\002\001\001\000\002\001\001\000\040\012\203\013\205" +
-    "\014\200\016\201\017\047\020\044\021\054\022\053\023" +
+    "\000\034\015\174\016\065\017\047\020\044\021\054\022" +
+    "\053\023\033\024\045\025\055\026\051\027\042\033\037" +
+    "\034\046\001\001\000\002\001\001\000\002\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\034" +
+    "\011\202\016\201\017\047\020\044\021\054\022\053\023" +
     "\033\024\045\025\055\026\051\027\042\033\037\034\046" +
-    "\001\001\000\002\001\001\000\002\001\001\000\032\016" +
-    "\214\017\047\020\044\021\054\022\053\023\033\024\045" +
-    "\025\055\026\051\027\042\033\037\034\046\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\010" +
-    "\032\207\033\026\034\025\001\001\000\002\001\001\000" +
-    "\034\015\212\016\065\017\047\020\044\021\054\022\053" +
-    "\023\033\024\045\025\055\026\051\027\042\033\037\034" +
-    "\046\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\036\013\220\014\200\016" +
-    "\201\017\047\020\044\021\054\022\053\023\033\024\045" +
-    "\025\055\026\051\027\042\033\037\034\046\001\001\000" +
-    "\036\013\217\014\200\016\201\017\047\020\044\021\054" +
+    "\001\001\000\002\001\001\000\002\001\001\000\040\012" +
+    "\207\013\211\014\204\016\205\017\047\020\044\021\054" +
     "\022\053\023\033\024\045\025\055\026\051\027\042\033" +
     "\037\034\046\001\001\000\002\001\001\000\002\001\001" +
-    "" });
+    "\000\032\016\220\017\047\020\044\021\054\022\053\023" +
+    "\033\024\045\025\055\026\051\027\042\033\037\034\046" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\010\032\213\033\026\034\025\001\001\000\002" +
+    "\001\001\000\034\015\216\016\065\017\047\020\044\021" +
+    "\054\022\053\023\033\024\045\025\055\026\051\027\042" +
+    "\033\037\034\046\001\001\000\002\001\001\000\002\001" +
+    "\001\000\002\001\001\000\002\001\001\000\036\013\224" +
+    "\014\204\016\205\017\047\020\044\021\054\022\053\023" +
+    "\033\024\045\025\055\026\051\027\042\033\037\034\046" +
+    "\001\001\000\036\013\223\014\204\016\205\017\047\020" +
+    "\044\021\054\022\053\023\033\024\045\025\055\026\051" +
+    "\027\042\033\037\034\046\001\001\000\002\001\001\000" +
+    "\002\001\001" });
 
   /** Access to <code>reduce_goto</code> table. */
   public short[][] reduce_table() {return _reduce_table;}
@@ -682,7 +698,7 @@
       switch (CUP$ECAGrammarParser$act_num)
         {
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 82: // path ::= path DOT IDENTIFIER 
+          case 84: // path ::= path DOT IDENTIFIER 
             {
               ParseNode RESULT = null;
 		int pleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-2)).left;
@@ -697,7 +713,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 81: // path ::= IDENTIFIER 
+          case 83: // path ::= IDENTIFIER 
             {
               ParseNode RESULT = null;
 		int ileft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -709,7 +725,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 80: // simple_name ::= IDENTIFIER 
+          case 82: // simple_name ::= IDENTIFIER 
             {
               ParseNode RESULT = null;
 		int ileft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -721,7 +737,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 79: // name ::= path DOT IDENTIFIER 
+          case 81: // name ::= path DOT IDENTIFIER 
             {
               ParseNode RESULT = null;
 		int pleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-2)).left;
@@ -736,7 +752,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 78: // name ::= simple_name 
+          case 80: // name ::= simple_name 
             {
               ParseNode RESULT = null;
 		int nleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -748,7 +764,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 77: // simple_expr ::= LPAREN expr RPAREN 
+          case 79: // simple_expr ::= LPAREN expr RPAREN 
             {
               ParseNode RESULT = null;
 		int eleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-1)).left;
@@ -760,7 +776,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 76: // simple_expr ::= DOLLAR 
+          case 78: // simple_expr ::= DOLLAR 
             {
               ParseNode RESULT = null;
 		int sleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -772,7 +788,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 75: // simple_expr ::= STRING_LITERAL 
+          case 77: // simple_expr ::= STRING_LITERAL 
             {
               ParseNode RESULT = null;
 		int sleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -784,7 +800,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 74: // simple_expr ::= BOOLEAN_LITERAL 
+          case 76: // simple_expr ::= BOOLEAN_LITERAL 
             {
               ParseNode RESULT = null;
 		int bleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -796,7 +812,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 73: // simple_expr ::= FLOAT_LITERAL 
+          case 75: // simple_expr ::= FLOAT_LITERAL 
             {
               ParseNode RESULT = null;
 		int fleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -808,7 +824,7 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 72: // simple_expr ::= INTEGER_LITERAL 
+          case 74: // simple_expr ::= INTEGER_LITERAL 
             {
               ParseNode RESULT = null;
 		int ileft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).left;
@@ -820,6 +836,39 @@
           return CUP$ECAGrammarParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
+          case 73: // expr_meth_expr ::= expr_field_expr DOT simple_name LPAREN expr_list RPAREN 
+            {
+              ParseNode RESULT = null;
+		int efeleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-5)).left;
+		int eferight = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-5)).right;
+		ParseNode efe = (ParseNode)((java_cup.runtime.Symbol) CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-5)).value;
+		int mleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-3)).left;
+		int mright = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-3)).right;
+		ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-3)).value;
+		int argsleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-1)).left;
+		int argsright = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-1)).right;
+		ParseNode args = (ParseNode)((java_cup.runtime.Symbol) CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-1)).value;
+		 RESULT = node(ParseNode.METH, mleft, mright, m, efe, args); 
+              CUP$ECAGrammarParser$result = new java_cup.runtime.Symbol(20/*expr_meth_expr*/, ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).right, RESULT);
+            }
+          return CUP$ECAGrammarParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
+          case 72: // expr_meth_expr ::= expr_field_expr DOT simple_name LPAREN RPAREN 
+            {
+              ParseNode RESULT = null;
+		int efeleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-4)).left;
+		int eferight = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-4)).right;
+		ParseNode efe = (ParseNode)((java_cup.runtime.Symbol) CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-4)).value;
+		int mleft = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-2)).left;
+		int mright = ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-2)).right;
+		ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-2)).value;
+		 RESULT = node(ParseNode.METH, mleft, mright, m, efe, null); 
+              CUP$ECAGrammarParser$result = new java_cup.runtime.Symbol(20/*expr_meth_expr*/, ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$ECAGrammarParser$stack.elementAt(CUP$ECAGrammarParser$top-0)).right, RESULT);
+            }
+          return CUP$ECAGrammarParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
           case 71: // expr_meth_expr ::= meth_expr DOT simple_name LPAREN expr_list RPAREN 
             {
               ParseNode RESULT = null;

Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/ECATokenLexer.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.2 on 15/04/09 17:33 */
+/* The following code was generated by JFlex 1.4.2 on 24/04/09 10:31 */
 
 /*
 * JBoss, Home of Professional Open Source
@@ -33,7 +33,7 @@
 /**
  * This class is a scanner generated by 
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
- * on 15/04/09 17:33 from the specification file
+ * on 24/04/09 10:31 from the specification file
  * <tt>dd/grammar/flex/ECAToken.flex</tt>
  */
 public class ECATokenLexer implements java_cup.runtime.Scanner {

Modified: labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/sym.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/sym.java	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/src/org/jboss/jbossts/orchestration/rule/grammar/sym.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,7 +1,7 @@
 
 //----------------------------------------------------
 // The following code was generated by CUP v0.10k
-// Wed Apr 15 17:33:38 BST 2009
+// Fri Apr 24 10:31:04 BST 2009
 //----------------------------------------------------
 
 package org.jboss.jbossts.orchestration.rule.grammar;

Modified: labs/jbosstm/workspace/adinn/orchestration/tests/build.xml
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/build.xml	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/build.xml	2009-04-24 09:31:27 UTC (rev 26239)
@@ -243,6 +243,14 @@
                 <pathelement location="${junit.home}/${junit.jar}"/>
             </classpath>
             <jvmarg value="-javaagent:${toast.home}/${toast.jar}=script:${scripts.dir}/javaops/TestField.txt"/>
+            <test name="org.jboss.jbossts.orchestration.tests.javaops.TestField"/>
+        </junit>
+        <junit fork="true" showoutput="true">
+            <classpath>
+                <pathelement location="${build.lib.dir}/orchestration-tests.jar"/>
+                <pathelement location="${junit.home}/${junit.jar}"/>
+            </classpath>
+            <jvmarg value="-javaagent:${toast.home}/${toast.jar}=script:${scripts.dir}/javaops/TestMethod.txt"/>
             <!-- uncomment for verbose toast output
             <jvmarg value="-Dorg.jboss.jbossts.orchestration.verbose"/>
             -->
@@ -258,8 +266,8 @@
             -->
             <!--  set this to debug the rule parser
             <jvmarg value="-Dorg.jboss.jbossts.orchestration.rule.debug"/>
+            <test name="org.jboss.jbossts.orchestration.tests.javaops.TestMethod"/>
             -->
-            <test name="org.jboss.jbossts.orchestration.tests.javaops.TestField"/>
         </junit>
     </target>
 
@@ -316,6 +324,25 @@
             -->
             <test name="org.jboss.jbossts.orchestration.tests.javaops.TestField"/>
         </junit>
+        <junit fork="true" showoutput="true">
+            <classpath>
+                <pathelement location="${build.lib.dir}/orchestration-tests.jar"/>
+                <pathelement location="${junit.home}/${junit.jar}"/>
+            </classpath>
+            <jvmarg value="-javaagent:${toast.home}/${toast.jar}=script:${scripts.dir}/javaops/TestMethod.txt"/>
+            <jvmarg value="-Dorg.jboss.jbossts.orchestration.compileToBytecode"/>
+            <!-- uncomment to dump generated code
+            <jvmarg value="-Dorg.jboss.jbossts.orchestration.dump.generated.classes"/>
+            <jvmarg value="-Dorg.jboss.jbossts.orchestration.dump.generated.classes.directory=dump"/>
+            -->
+            <!-- uncomment to enable debug
+            <jvmarg value="-Xdebug"/>
+            <jvmarg  value="-Xnoagent"/>
+            <jvmarg  value="-Djava.compiler=NONE"/>
+            <jvmarg  value="-Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=5005"/>
+            -->
+            <test name="org.jboss.jbossts.orchestration.tests.javaops.TestMethod"/>
+        </junit>
     </target>
 
 </project>

Modified: labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestField.txt
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestField.txt	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestField.txt	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,10 +1,10 @@
 RULE test field 1
 CLASS TestField
-METHOD triggerMethod1(TestFieldAuxiliary)
+METHOD triggerMethod1(TestFieldMethodAuxiliary)
 HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
 AFTER CALL log
 BIND test : Test = $0,
-     arg : TestFieldAuxiliary = $1
+     arg : TestFieldMethodAuxiliary = $1
 IF arg.left.value <= 1
 DO test.log("triggerMethod1 : arg == " + $1),
    test.log("triggerMethod1 : arg.left == " + arg.left),
@@ -14,11 +14,11 @@
 
 RULE test field 2
 CLASS TestField
-METHOD triggerMethod1(TestFieldAuxiliary)
+METHOD triggerMethod1(TestFieldMethodAuxiliary)
 HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
 AFTER CALL log
 BIND test : Test = $0,
-     arg : TestFieldAuxiliary = $1
+     arg : TestFieldMethodAuxiliary = $1
 IF arg.left.value > 1
 DO test.log("triggerMethod1 : arg == " + $1),
    test.log("triggerMethod1 : arg.left.right == " + arg.left.right),
@@ -28,29 +28,29 @@
 
 RULE test field 3
 CLASS TestField
-METHOD triggerMethod2(TestFieldAuxiliary)
+METHOD triggerMethod2(TestFieldMethodAuxiliary)
 HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
 AFTER CALL log
 BIND test : Test = $0,
-     arg : TestFieldAuxiliary = $1
+     arg : TestFieldMethodAuxiliary = $1
 IF arg.value == 4
 DO test.log("triggerMethod2 : arg == " + $1),
-   test.log("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.left.value == " + TestFieldAuxiliary.theAuxiliary.left.value),
-   test.log("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.left.getRight().right == " + (TestFieldAuxiliary.theAuxiliary.left.getRight()).right),
-   return TestFieldAuxiliary.theAuxiliary.getLeft().right
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.left.value == " + TestFieldMethodAuxiliary.theAuxiliary.left.value),
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.left.getRight().right == " + (TestFieldMethodAuxiliary.theAuxiliary.left.getRight()).right),
+   return TestFieldMethodAuxiliary.theAuxiliary.getLeft().right
 ENDRULE
 
 RULE test field 4
 CLASS TestField
-METHOD triggerMethod2(TestFieldAuxiliary)
+METHOD triggerMethod2(TestFieldMethodAuxiliary)
 HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
 AFTER CALL log
 BIND test : Test = $0,
-     arg : TestFieldAuxiliary = $1
+     arg : TestFieldMethodAuxiliary = $1
 IF arg.value != 4
 DO test.log("triggerMethod2 : arg == " + $1),
-   test.log("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.value == " + TestFieldAuxiliary.theAuxiliary.value),
-   test.log("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.right.right.right.right.value == " + TestFieldAuxiliary.theAuxiliary.right.right.right.right.value),
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.value == " + TestFieldMethodAuxiliary.theAuxiliary.value),
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.right.right.right.right.value == " + TestFieldMethodAuxiliary.theAuxiliary.right.right.right.right.value),
    return arg.getLeft()
 ENDRULE
 

Copied: labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestMethod.txt (from rev 26072, labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestField.txt)
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestMethod.txt	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/dd/scripts/javaops/TestMethod.txt	2009-04-24 09:31:27 UTC (rev 26239)
@@ -0,0 +1,56 @@
+RULE test method 1
+CLASS TestMethod
+METHOD triggerMethod1(TestFieldMethodAuxiliary)
+HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
+AFTER CALL log
+BIND test : Test = $0,
+     arg : TestFieldMethodAuxiliary = $1
+IF arg.left.value <= 1
+DO test.log("triggerMethod1 : arg == " + $1),
+   test.log("triggerMethod1 : arg.getLeft() == " + arg.getLeft()),
+   test.log("triggerMethod1 : arg.getRight() == " + arg.getRight()),
+   return arg.getLeft().getLeft()
+ENDRULE
+
+RULE test method 2
+CLASS TestMethod
+METHOD triggerMethod1(TestFieldMethodAuxiliary)
+HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
+AFTER CALL log
+BIND test : Test = $0,
+     arg : TestFieldMethodAuxiliary = $1
+IF arg.left.value > 1
+DO test.log("triggerMethod1 : arg == " + $1),
+   test.log("triggerMethod1 : arg.left.getRight() == " + arg.left.getRight()),
+   test.log("triggerMethod1 : arg.right.getRight().right == " + arg.right.getRight().right),
+   return arg.getRight().right
+ENDRULE
+
+RULE test method 3
+CLASS TestMethod
+METHOD triggerMethod2(TestFieldMethodAuxiliary)
+HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
+AFTER CALL log
+BIND test : Test = $0,
+     arg : TestFieldMethodAuxiliary = $1
+IF arg.value == 4
+DO test.log("triggerMethod2 : arg == " + $1),
+   test.log("triggerMethod2 : org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().left.value == " + org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().left.value),
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.getTheAuxiliary().left.getRight().right == " + (TestFieldMethodAuxiliary.getTheAuxiliary().left.getRight()).right),
+   return org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().getLeft().right
+ENDRULE
+
+RULE test method 4
+CLASS TestMethod
+METHOD triggerMethod2(TestFieldMethodAuxiliary)
+HELPER org.jboss.jbossts.orchestration.tests.helpers.Default
+AFTER CALL log
+BIND test : Test = $0,
+     arg : TestFieldMethodAuxiliary = $1
+IF arg.value != 4
+DO test.log("triggerMethod2 : arg == " + $1),
+   test.log("triggerMethod2 : TestFieldMethodAuxiliary.getTheAuxiliary().getValue() == " + TestFieldMethodAuxiliary.getTheAuxiliary().getValue()),
+   test.log("triggerMethod2 : org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().right.right.getRight().right.getValue() == " + org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().right.right.getRight().right.getValue()),
+   return arg.getLeft()
+ENDRULE
+

Deleted: labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldAuxiliary.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldAuxiliary.java	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldAuxiliary.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,63 +0,0 @@
-package org.jboss.jbossts.orchestration.tests.auxiliary;
-
-/**
- * Auxiliary class used to implement TestField test class
- */
-public class TestFieldAuxiliary
-{
-    public static TestFieldAuxiliary theAuxiliary;
-    
-    public int value;
-    public TestFieldAuxiliary left;
-    public TestFieldAuxiliary right;
-
-    public TestFieldAuxiliary(int value)
-    {
-        this(null, value, null);
-    }
-
-    public TestFieldAuxiliary(TestFieldAuxiliary left, int value)
-    {
-        this(left, value, null);
-    }
-
-    public TestFieldAuxiliary(int value, TestFieldAuxiliary right)
-    {
-        this(null, value, right);
-    }
-
-    public TestFieldAuxiliary(TestFieldAuxiliary left, int value, TestFieldAuxiliary right)
-    {
-        this.left = left;
-        this.value = value;
-        this.right = right;
-    }
-
-    public TestFieldAuxiliary getLeft()
-    {
-        return left;
-    }
-
-    public int getValue()
-    {
-        return value;
-    }
-    
-    public TestFieldAuxiliary getRight()
-    {
-        return right;
-    }
-
-    public String toString()
-    {
-        StringBuffer buf = new StringBuffer();
-        buf.append("aux[");
-        buf.append(left == null ? "null" : left.value);
-        buf.append("<--");
-        buf.append(value);
-        buf.append("-->");
-        buf.append(right == null ? "null" : right.value);
-        buf.append("]");
-        return buf.toString();
-    }
-}

Copied: labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldMethodAuxiliary.java (from rev 26072, labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldAuxiliary.java)
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldMethodAuxiliary.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/auxiliary/TestFieldMethodAuxiliary.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -0,0 +1,68 @@
+package org.jboss.jbossts.orchestration.tests.auxiliary;
+
+/**
+ * Auxiliary class used to implement TestField test class
+ */
+public class TestFieldMethodAuxiliary
+{
+    public static TestFieldMethodAuxiliary theAuxiliary;
+    
+    public int value;
+    public TestFieldMethodAuxiliary left;
+    public TestFieldMethodAuxiliary right;
+
+    public TestFieldMethodAuxiliary(int value)
+    {
+        this(null, value, null);
+    }
+
+    public TestFieldMethodAuxiliary(TestFieldMethodAuxiliary left, int value)
+    {
+        this(left, value, null);
+    }
+
+    public TestFieldMethodAuxiliary(int value, TestFieldMethodAuxiliary right)
+    {
+        this(null, value, right);
+    }
+
+    public TestFieldMethodAuxiliary(TestFieldMethodAuxiliary left, int value, TestFieldMethodAuxiliary right)
+    {
+        this.left = left;
+        this.value = value;
+        this.right = right;
+    }
+
+    public static TestFieldMethodAuxiliary getTheAuxiliary()
+    {
+        return theAuxiliary;
+    }
+
+    public TestFieldMethodAuxiliary getLeft()
+    {
+        return left;
+    }
+
+    public int getValue()
+    {
+        return value;
+    }
+    
+    public TestFieldMethodAuxiliary getRight()
+    {
+        return right;
+    }
+
+    public String toString()
+    {
+        StringBuffer buf = new StringBuffer();
+        buf.append("aux[");
+        buf.append(left == null ? "null" : left.value);
+        buf.append("<--");
+        buf.append(value);
+        buf.append("-->");
+        buf.append(right == null ? "null" : right.value);
+        buf.append("]");
+        return buf.toString();
+    }
+}

Modified: labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestField.java
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestField.java	2009-04-24 09:13:30 UTC (rev 26238)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestField.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -1,7 +1,7 @@
 package org.jboss.jbossts.orchestration.tests.javaops;
 
 import org.jboss.jbossts.orchestration.tests.Test;
-import org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldAuxiliary;
+import org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary;
 
 /**
  * Test to ensure static and instance field accesses work as expected
@@ -16,15 +16,15 @@
 
     static int runNumber = 0;
 
-    private TestFieldAuxiliary[] aux;
+    private TestFieldMethodAuxiliary[] aux;
     public void test()
     {
         // create a network of linked objects
 
-        aux = new TestFieldAuxiliary[15];
+        aux = new TestFieldMethodAuxiliary[15];
 
         for (int i = 0; i < 15; i++) {
-            aux[i] = new TestFieldAuxiliary(i);
+            aux[i] = new TestFieldMethodAuxiliary(i);
         }
 
         aux[0].left = aux[1];
@@ -58,9 +58,9 @@
         aux[14].left = aux[0];
         aux[14].right = aux[0];
 
-        TestFieldAuxiliary.theAuxiliary = aux[0];
+        TestFieldMethodAuxiliary.theAuxiliary = aux[0];
 
-        TestFieldAuxiliary res;
+        TestFieldMethodAuxiliary res;
 
         runNumber = 1;
         try {
@@ -107,13 +107,13 @@
         checkOutput(true);
     }
 
-    public TestFieldAuxiliary triggerMethod1(TestFieldAuxiliary arg)
+    public TestFieldMethodAuxiliary triggerMethod1(TestFieldMethodAuxiliary arg)
     {
         log("inside TestField.triggerMethod1");
         return arg;
     }
 
-    public TestFieldAuxiliary triggerMethod2(TestFieldAuxiliary arg)
+    public TestFieldMethodAuxiliary triggerMethod2(TestFieldMethodAuxiliary arg)
     {
         log("inside TestField.triggerMethod2");
         return arg;
@@ -147,8 +147,8 @@
                 logExpected("calling TestField.triggerMethod2");
                 logExpected("inside TestField.triggerMethod2");
                 logExpected("triggerMethod2 : arg == " + aux[4]);
-                logExpected("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.left.value == " + aux[0].left.value);
-                logExpected("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.left.getRight().right == " + aux[0].left.getRight().right);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.left.value == " + aux[0].left.value);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.left.getRight().right == " + aux[0].left.getRight().right);
                 logExpected("called TestField.triggerMethod2 : result == " + aux[0].getLeft().right);
             }
             break;
@@ -157,8 +157,8 @@
                 logExpected("calling TestField.triggerMethod2");
                 logExpected("inside TestField.triggerMethod2");
                 logExpected("triggerMethod2 : arg == " + aux[7]);
-                logExpected("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.value == " + aux[0].value);
-                logExpected("triggerMethod2 : TestFieldAuxiliary.theAuxiliary.right.right.right.right.value == " + aux[0].right.right.right.right.value);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.value == " + aux[0].value);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.theAuxiliary.right.right.right.right.value == " + aux[0].right.right.right.right.value);
                 logExpected("called TestField.triggerMethod2 : result == " + aux[7].getLeft());
             }
             break;

Copied: labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestMethod.java (from rev 26072, labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestField.java)
===================================================================
--- labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestMethod.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/orchestration/tests/src/org/jboss/jbossts/orchestration/tests/javaops/TestMethod.java	2009-04-24 09:31:27 UTC (rev 26239)
@@ -0,0 +1,169 @@
+package org.jboss.jbossts.orchestration.tests.javaops;
+
+import org.jboss.jbossts.orchestration.tests.Test;
+import org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary;
+
+/**
+ * Test to ensure static and instance field accesses work as expected
+ */
+public class TestMethod extends Test
+{
+    public int value = 0;
+
+    public TestMethod() {
+        super(TestMethod.class.getCanonicalName());
+    }
+
+    static int runNumber = 0;
+
+    private TestFieldMethodAuxiliary[] aux;
+    public void test()
+    {
+        // create a network of linked objects
+
+        aux = new TestFieldMethodAuxiliary[15];
+
+        for (int i = 0; i < 15; i++) {
+            aux[i] = new TestFieldMethodAuxiliary(i);
+        }
+
+        aux[0].left = aux[1];
+        aux[0].right = aux[2];
+        aux[1].left = aux[3];
+        aux[1].right = aux[4];
+        aux[2].left = aux[5];
+        aux[2].right = aux[6];
+        aux[3].left = aux[7];
+        aux[3].right = aux[8];
+        aux[4].left = aux[9];
+        aux[4].right = aux[10];
+        aux[5].left = aux[11];
+        aux[5].right = aux[12];
+        aux[6].left = aux[13];
+        aux[6].right = aux[14];
+        aux[7].left = aux[0];
+        aux[7].right = aux[0];
+        aux[8].left = aux[0];
+        aux[8].right = aux[0];
+        aux[9].left = aux[0];
+        aux[9].right = aux[0];
+        aux[10].left = aux[0];
+        aux[10].right = aux[0];
+        aux[11].left = aux[0];
+        aux[11].right = aux[0];
+        aux[12].left = aux[0];
+        aux[12].right = aux[0];
+        aux[13].left = aux[0];
+        aux[13].right = aux[0];
+        aux[14].left = aux[0];
+        aux[14].right = aux[0];
+
+        TestFieldMethodAuxiliary.theAuxiliary = aux[0];
+
+        TestFieldMethodAuxiliary res;
+
+        runNumber = 1;
+        try {
+            log("calling TestMethod.triggerMethod1");
+            res = triggerMethod1(aux[0]);
+            log("called TestMethod.triggerMethod1 : result == " + res);
+        } catch (Exception e) {
+            log(e);
+        }
+
+        checkOutput(true);
+
+        runNumber = 2;
+        try {
+            log("calling TestMethod.triggerMethod1");
+            res = triggerMethod1(aux[2]);
+            log("called TestMethod.triggerMethod1 : result == " + res);
+        } catch (Exception e) {
+            log(e);
+        }
+
+        checkOutput(true);
+
+        runNumber = 3;
+        try {
+            log("calling TestMethod.triggerMethod2");
+            res = triggerMethod2(aux[4]);
+            log("called TestMethod.triggerMethod2 : result == " + res);
+        } catch (Exception e) {
+            log(e);
+        }
+
+        checkOutput(true);
+
+        runNumber = 4;
+        try {
+            log("calling TestMethod.triggerMethod2");
+            res = triggerMethod2(aux[7]);
+            log("called TestMethod.triggerMethod2 : result == " + res);
+        } catch (Exception e) {
+            log(e);
+        }
+
+        checkOutput(true);
+    }
+
+    public TestFieldMethodAuxiliary triggerMethod1(TestFieldMethodAuxiliary arg)
+    {
+        log("inside TestMethod.triggerMethod1");
+        return arg;
+    }
+
+    public TestFieldMethodAuxiliary triggerMethod2(TestFieldMethodAuxiliary arg)
+    {
+        log("inside TestMethod.triggerMethod2");
+        return arg;
+    }
+
+    @Override
+    public String getExpected() {
+        switch (runNumber) {
+            case 1:
+            {
+                logExpected("calling TestMethod.triggerMethod1");
+                logExpected("inside TestMethod.triggerMethod1");
+                logExpected("triggerMethod1 : arg == " + aux[0]);
+                logExpected("triggerMethod1 : arg.getLeft() == " + aux[0].getLeft());
+                logExpected("triggerMethod1 : arg.getRight() == " + aux[0].getRight());
+                logExpected("called TestMethod.triggerMethod1 : result == " + aux[0].getLeft().getLeft());
+            }
+            break;
+            case 2:
+            {
+                logExpected("calling TestMethod.triggerMethod1");
+                logExpected("inside TestMethod.triggerMethod1");
+                logExpected("triggerMethod1 : arg == " + aux[2]);
+                logExpected("triggerMethod1 : arg.left.getRight() == " + aux[2].left.getRight());
+                logExpected("triggerMethod1 : arg.right.getRight().right == " + aux[2].right.getRight().right);
+                logExpected("called TestMethod.triggerMethod1 : result == " + aux[2].getRight().right);
+            }
+            break;
+            case 3:
+            {
+                logExpected("calling TestMethod.triggerMethod2");
+                logExpected("inside TestMethod.triggerMethod2");
+                logExpected("triggerMethod2 : arg == " + aux[4]);
+                logExpected("triggerMethod2 : org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().left.value == " + (org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary()).left.value);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.getTheAuxiliary().left.getRight().right == " + TestFieldMethodAuxiliary.getTheAuxiliary().left.getRight().right);
+                logExpected("called TestMethod.triggerMethod2 : result == " + org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().getLeft().right);
+            }
+            break;
+            case 4:
+            {
+                logExpected("calling TestMethod.triggerMethod2");
+                logExpected("inside TestMethod.triggerMethod2");
+                logExpected("triggerMethod2 : arg == " + aux[7]);
+                logExpected("triggerMethod2 : TestFieldMethodAuxiliary.getTheAuxiliary().getValue() == " + TestFieldMethodAuxiliary.getTheAuxiliary().getValue());
+                logExpected("triggerMethod2 : org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().right.right.getRight().right.getValue() == " + org.jboss.jbossts.orchestration.tests.auxiliary.TestFieldMethodAuxiliary.getTheAuxiliary().right.right.getRight().right.getValue());
+                logExpected("called TestMethod.triggerMethod2 : result == " + aux[7].getLeft());
+            }
+            break;
+        }
+
+        return super.getExpected();
+    }
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list