You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2007/10/13 00:59:23 UTC

svn commit: r584313 [3/4] - in /maven/sandbox/trunk/jxr/maven-jxr: maven-jxr-ant/src/main/java/org/apache/forrest/ maven-jxr-ant/src/main/java/org/apache/maven/ maven-jxr-ant/src/main/java/org/apache/maven/jxr/ maven-jxr-ant/src/main/java/org/apache/ma...

Modified: maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/xref/JavaXref.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/xref/JavaXref.java?rev=584313&r1=584305&r2=584313&view=diff
==============================================================================
--- maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/xref/JavaXref.java (original)
+++ maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/src/xref/JavaXref.java Fri Oct 12 15:58:45 2007
@@ -16,16 +16,16 @@
 */
 // $ANTLR 2.7.1: "javaG.g" -> "JavaXref.java"$
 
-package org.apache.forrest.forrestdoc.java.src.xref;
+package org.apache.maven.jxr.java.src.xref;
 
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 
-import org.apache.forrest.forrestdoc.java.src.symtab.DummyClass;
-import org.apache.forrest.forrestdoc.java.src.symtab.JavaVector;
-import org.apache.forrest.forrestdoc.java.src.symtab.SymbolTable;
-import org.apache.forrest.forrestdoc.java.src.util.SkipCRInputStream;
+import org.apache.maven.jxr.java.src.symtab.DummyClass;
+import org.apache.maven.jxr.java.src.symtab.JavaVector;
+import org.apache.maven.jxr.java.src.symtab.SymbolTable;
+import org.apache.maven.jxr.java.src.util.SkipCRInputStream;
 
 import antlr.ASTPair;
 import antlr.NoViableAltException;
@@ -66,28 +66,28 @@
     // This method decides what action to take based on the type of
     //   file we are looking at
     public static void doFile(File f, SymbolTable symbolTable,
-			      boolean doRecurse, FileListener listener)
+                  boolean doRecurse, FileListener listener)
                               throws Exception {
         // If this is a directory, walk each file/dir in that directory
         if (f.isDirectory()) {
             String files[] = f.list();
             for(int i=0; i < files.length; i++) {
-		File next;
+        File next;
 
-		next = new File(f, files[i]);
-		if (doRecurse || !next.isDirectory())
-		    doFile(next, symbolTable, doRecurse, listener);
-	    }
+        next = new File(f, files[i]);
+        if (doRecurse || !next.isDirectory())
+            doFile(next, symbolTable, doRecurse, listener);
+        }
         }
 
         // otherwise, if this is a java file, parse it!
         else if ((f.getName().length()>5) &&
                 f.getName().substring(f.getName().length()-5).equals(".java")) {
-	    listener.notify(f.getAbsolutePath());
+        listener.notify(f.getAbsolutePath());
             symbolTable.setFile(f);
             //System.err.println("   "+f.getAbsolutePath());
             parseFile(new SkipCRInputStream(new FileInputStream(f)),
-		      symbolTable);
+              symbolTable);
         }
     }
 
@@ -99,10 +99,10 @@
             // Create a scanner that reads from the input stream passed to us
             JavaLexer lexer = new JavaLexer(s);
 
-	        lexer.setSymbolTable(symbolTable);
+            lexer.setSymbolTable(symbolTable);
 
             // Tell the scanner to create tokens of class JavaToken
-            lexer.setTokenObjectClass("org.apache.forrest.forrestdoc.java.src.xref.JavaToken");
+            lexer.setTokenObjectClass("org.apache.maven.jxr.java.src.xref.JavaToken");
 
             // Create a parser that reads from the scanner
             JavaXref parser = new JavaXref(lexer);
@@ -115,7 +115,7 @@
         }
         catch (Exception e) {
             System.err.println("parser exception: "+e);
-            e.printStackTrace();   // so we can get stack trace     
+            e.printStackTrace();   // so we can get stack trace
         }
     }
 
@@ -123,7 +123,7 @@
     public void setSymbolTable(SymbolTable symbolTable) {
         this.symbolTable = symbolTable;
     }
-    
+
     //-------------------------------------------------------------------------
     // Symboltable adapter methods
     // The following methods are provided to give a single set of entry
@@ -133,7 +133,7 @@
     //   few have special function.
     //-------------------------------------------------------------------------
 
-    public void popScope()                 
+    public void popScope()
     {
       // System.out.println("popScope");
       //RuntimeException ex = new RuntimeException();
@@ -214,6456 +214,6456 @@
   tokenNames = _tokenNames;
 }
 
-	public final void compilationUnit() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST compilationUnit_AST = null;
-		
-		{
-		switch ( LA(1)) {
-		case LITERAL_package:
-		{
-			packageDefinition();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			break;
-		}
-		case EOF:
-		case FINAL:
-		case ABSTRACT:
-		case STRICTFP:
-		case SEMI:
-		case LITERAL_import:
-		case LITERAL_private:
-		case LITERAL_public:
-		case LITERAL_protected:
-		case LITERAL_static:
-		case LITERAL_transient:
-		case LITERAL_native:
-		case LITERAL_threadsafe:
-		case LITERAL_synchronized:
-		case LITERAL_volatile:
-		case LITERAL_class:
-		case LITERAL_interface:
-		{
-			if ( inputState.guessing==0 ) {
-				useDefaultPackage();
-			}
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		{
-		_loop4:
-		do {
-			if ((LA(1)==LITERAL_import)) {
-				importDefinition();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop4;
-			}
-			
-		} while (true);
-		}
-		{
-		_loop6:
-		do {
-			if ((_tokenSet_0.member(LA(1)))) {
-				typeDefinition();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop6;
-			}
-			
-		} while (true);
-		}
-		AST tmp1_AST = null;
-		tmp1_AST = (AST)astFactory.create(LT(1));
-		match(Token.EOF_TYPE);
-		if ( inputState.guessing==0 ) {
-			endFile();
-		}
-		compilationUnit_AST = (AST)currentAST.root;
-		returnAST = compilationUnit_AST;
-	}
-	
-	public final void packageDefinition() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST packageDefinition_AST = null;
-		Token  p = null;
-		AST p_AST = null;
-		JavaToken id;
-		
-		try {      // for error handling
-			p = LT(1);
-			if (inputState.guessing==0) {
-				p_AST = (AST)astFactory.create(p);
-				astFactory.makeASTRoot(currentAST, p_AST);
-			}
-			match(LITERAL_package);
-			if ( inputState.guessing==0 ) {
-				p_AST.setType(PACKAGE_DEF);
-			}
-			id=identifier();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp2_AST = null;
-			tmp2_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			if ( inputState.guessing==0 ) {
-				definePackage(id);
-			}
-			packageDefinition_AST = (AST)currentAST.root;
-		}
-		catch (RecognitionException ex) {
-			if (inputState.guessing==0) {
-				reportError(ex);
-				consume();
-				consumeUntil(_tokenSet_1);
-			} else {
-			  throw ex;
-			}
-		}
-		returnAST = packageDefinition_AST;
-	}
-	
-	public final void importDefinition() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST importDefinition_AST = null;
-		Token  i = null;
-		AST i_AST = null;
-		
-		try {      // for error handling
-			i = LT(1);
-			if (inputState.guessing==0) {
-				i_AST = (AST)astFactory.create(i);
-				astFactory.makeASTRoot(currentAST, i_AST);
-			}
-			match(LITERAL_import);
-			if ( inputState.guessing==0 ) {
-				i_AST.setType(IMPORT);
-			}
-			identifierStar();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp3_AST = null;
-			tmp3_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			importDefinition_AST = (AST)currentAST.root;
-		}
-		catch (RecognitionException ex) {
-			if (inputState.guessing==0) {
-				reportError(ex);
-				consume();
-				consumeUntil(_tokenSet_1);
-			} else {
-			  throw ex;
-			}
-		}
-		returnAST = importDefinition_AST;
-	}
-	
-	public final void typeDefinition() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeDefinition_AST = null;
-		AST m_AST = null;
-		
-		try {      // for error handling
-			switch ( LA(1)) {
-			case FINAL:
-			case ABSTRACT:
-			case STRICTFP:
-			case LITERAL_private:
-			case LITERAL_public:
-			case LITERAL_protected:
-			case LITERAL_static:
-			case LITERAL_transient:
-			case LITERAL_native:
-			case LITERAL_threadsafe:
-			case LITERAL_synchronized:
-			case LITERAL_volatile:
-			case LITERAL_class:
-			case LITERAL_interface:
-			{
-				modifiers();
-				if (inputState.guessing==0) {
-					m_AST = (AST)returnAST;
-				}
-				{
-				switch ( LA(1)) {
-				case LITERAL_class:
-				{
-					classDefinition(m_AST);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-					break;
-				}
-				case LITERAL_interface:
-				{
-					interfaceDefinition(m_AST);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-					break;
-				}
-				default:
-				{
-					throw new NoViableAltException(LT(1), getFilename());
-				}
-				}
-				}
-				typeDefinition_AST = (AST)currentAST.root;
-				break;
-			}
-			case SEMI:
-			{
-				AST tmp4_AST = null;
-				tmp4_AST = (AST)astFactory.create(LT(1));
-				match(SEMI);
-				typeDefinition_AST = (AST)currentAST.root;
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-		}
-		catch (RecognitionException ex) {
-			if (inputState.guessing==0) {
-				reportError(ex);
-				consume();
-				consumeUntil(_tokenSet_2);
-			} else {
-			  throw ex;
-			}
-		}
-		returnAST = typeDefinition_AST;
-	}
-	
-	public final JavaToken  identifier() throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST identifier_AST = null;
-		Token  id1 = null;
-		AST id1_AST = null;
-		Token  id2 = null;
-		AST id2_AST = null;
-		t=null;
-		
-		id1 = LT(1);
-		if (inputState.guessing==0) {
-			id1_AST = (AST)astFactory.create(id1);
-			astFactory.addASTChild(currentAST, id1_AST);
-		}
-		match(IDENT);
-		if ( inputState.guessing==0 ) {
-			t=(JavaToken)id1;
-		}
-		{
-		_loop35:
-		do {
-			if ((LA(1)==DOT)) {
-				AST tmp5_AST = null;
-				if (inputState.guessing==0) {
-					tmp5_AST = (AST)astFactory.create(LT(1));
-					astFactory.makeASTRoot(currentAST, tmp5_AST);
-				}
-				match(DOT);
-				id2 = LT(1);
-				if (inputState.guessing==0) {
-					id2_AST = (AST)astFactory.create(id2);
-					astFactory.addASTChild(currentAST, id2_AST);
-				}
-				match(IDENT);
-				if ( inputState.guessing==0 ) {
-					
-					t.setText(t.getText() + "." + id2.getText());
-								 t.setColumn(id2.getColumn());
-					
-				}
-			}
-			else {
-				break _loop35;
-			}
-			
-		} while (true);
-		}
-		identifier_AST = (AST)currentAST.root;
-		returnAST = identifier_AST;
-		return t;
-	}
-	
-	public final void identifierStar() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST identifierStar_AST = null;
-		Token  id = null;
-		AST id_AST = null;
-		Token  id2 = null;
-		AST id2_AST = null;
-		String className=""; String packageName="";
-		
-		id = LT(1);
-		if (inputState.guessing==0) {
-			id_AST = (AST)astFactory.create(id);
-			astFactory.addASTChild(currentAST, id_AST);
-		}
-		match(IDENT);
-		if ( inputState.guessing==0 ) {
-			className=id.getText();
-		}
-		{
-		_loop38:
-		do {
-			if ((LA(1)==DOT) && (LA(2)==IDENT)) {
-				AST tmp6_AST = null;
-				if (inputState.guessing==0) {
-					tmp6_AST = (AST)astFactory.create(LT(1));
-					astFactory.makeASTRoot(currentAST, tmp6_AST);
-				}
-				match(DOT);
-				id2 = LT(1);
-				if (inputState.guessing==0) {
-					id2_AST = (AST)astFactory.create(id2);
-					astFactory.addASTChild(currentAST, id2_AST);
-				}
-				match(IDENT);
-				if ( inputState.guessing==0 ) {
-					packageName += "."+className; className = id2.getText();
-				}
-			}
-			else {
-				break _loop38;
-			}
-			
-		} while (true);
-		}
-		{
-		switch ( LA(1)) {
-		case DOT:
-		{
-			AST tmp7_AST = null;
-			if (inputState.guessing==0) {
-				tmp7_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp7_AST);
-			}
-			match(DOT);
-			AST tmp8_AST = null;
-			if (inputState.guessing==0) {
-				tmp8_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp8_AST);
-			}
-			match(STAR);
-			if ( inputState.guessing==0 ) {
-				packageName += "."+className; className = null;
-			}
-			break;
-		}
-		case SEMI:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if ( inputState.guessing==0 ) {
-			
-			// put the overall name in the token's text
-			if (packageName.equals(""))
-			id.setText(className);
-			else if (className == null)
-			id.setText(packageName.substring(1));
-			else
-			id.setText(packageName.substring(1) + "." + className);
-			
-			// tell the symbol table about the import
-			addImport((JavaToken)id, className, packageName);
-			
-		}
-		identifierStar_AST = (AST)currentAST.root;
-		returnAST = identifierStar_AST;
-	}
-	
-	public final void modifiers() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST modifiers_AST = null;
-		
-		{
-		_loop14:
-		do {
-			if ((_tokenSet_3.member(LA(1)))) {
-				modifier();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop14;
-			}
-			
-		} while (true);
-		}
-		if ( inputState.guessing==0 ) {
-			modifiers_AST = (AST)currentAST.root;
-			modifiers_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(MODIFIERS,"MODIFIERS")).add(modifiers_AST));
-			currentAST.root = modifiers_AST;
-			currentAST.child = modifiers_AST!=null &&modifiers_AST.getFirstChild()!=null ?
-				modifiers_AST.getFirstChild() : modifiers_AST;
-			currentAST.advanceChildToEnd();
-		}
-		modifiers_AST = (AST)currentAST.root;
-		returnAST = modifiers_AST;
-	}
-	
-	public final void classDefinition(
-		AST modifiers
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST classDefinition_AST = null;
-		Token  id = null;
-		AST id_AST = null;
-		AST sc_AST = null;
-		AST ic_AST = null;
-		AST cb_AST = null;
-		JavaToken superClass=null; JavaVector interfaces=null;
-		
-		AST tmp9_AST = null;
-		if (inputState.guessing==0) {
-			tmp9_AST = (AST)astFactory.create(LT(1));
-		}
-		match(LITERAL_class);
-		id = LT(1);
-		if (inputState.guessing==0) {
-			id_AST = (AST)astFactory.create(id);
-		}
-		match(IDENT);
-		{
-		switch ( LA(1)) {
-		case LT:
-		{
-			typeParameters();
-			break;
-		}
-		case LITERAL_extends:
-		case LCURLY:
-		case LITERAL_implements:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		superClass=superClassClause();
-		if (inputState.guessing==0) {
-			sc_AST = (AST)returnAST;
-		}
-		interfaces=implementsClause();
-		if (inputState.guessing==0) {
-			ic_AST = (AST)returnAST;
-		}
-		if ( inputState.guessing==0 ) {
-			defineClass((JavaToken)id, superClass, interfaces);
-		}
-		classBlock();
-		if (inputState.guessing==0) {
-			cb_AST = (AST)returnAST;
-		}
-		if ( inputState.guessing==0 ) {
-			classDefinition_AST = (AST)currentAST.root;
-			classDefinition_AST = (AST)astFactory.make( (new ASTArray(6)).add((AST)astFactory.create(CLASS_DEF,"CLASS_DEF")).add(modifiers).add(id_AST).add(sc_AST).add(ic_AST).add(cb_AST));
-			currentAST.root = classDefinition_AST;
-			currentAST.child = classDefinition_AST!=null &&classDefinition_AST.getFirstChild()!=null ?
-				classDefinition_AST.getFirstChild() : classDefinition_AST;
-			currentAST.advanceChildToEnd();
-		}
-		if ( inputState.guessing==0 ) {
-			popScope();
-		}
-		returnAST = classDefinition_AST;
-	}
-	
-	public final void interfaceDefinition(
-		AST modifiers
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST interfaceDefinition_AST = null;
-		Token  id = null;
-		AST id_AST = null;
-		AST ie_AST = null;
-		AST cb_AST = null;
-		JavaVector superInterfaces = null;
-		
-		AST tmp10_AST = null;
-		if (inputState.guessing==0) {
-			tmp10_AST = (AST)astFactory.create(LT(1));
-		}
-		match(LITERAL_interface);
-		id = LT(1);
-		if (inputState.guessing==0) {
-			id_AST = (AST)astFactory.create(id);
-		}
-		match(IDENT);
-		{
-		switch ( LA(1)) {
-		case LT:
-		{
-			typeParameters();
-			break;
-		}
-		case LITERAL_extends:
-		case LCURLY:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		superInterfaces=interfaceExtends();
-		if (inputState.guessing==0) {
-			ie_AST = (AST)returnAST;
-		}
-		if ( inputState.guessing==0 ) {
-			defineInterface((JavaToken)id, superInterfaces);
-		}
-		classBlock();
-		if (inputState.guessing==0) {
-			cb_AST = (AST)returnAST;
-		}
-		if ( inputState.guessing==0 ) {
-			interfaceDefinition_AST = (AST)currentAST.root;
-			interfaceDefinition_AST = (AST)astFactory.make( (new ASTArray(5)).add((AST)astFactory.create(INTERFACE_DEF,"INTERFACE_DEF")).add(modifiers).add(id_AST).add(ie_AST).add(cb_AST));
-			currentAST.root = interfaceDefinition_AST;
-			currentAST.child = interfaceDefinition_AST!=null &&interfaceDefinition_AST.getFirstChild()!=null ?
-				interfaceDefinition_AST.getFirstChild() : interfaceDefinition_AST;
-			currentAST.advanceChildToEnd();
-		}
-		if ( inputState.guessing==0 ) {
-			popScope();
-		}
-		returnAST = interfaceDefinition_AST;
-	}
-	
+    public final void compilationUnit() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST compilationUnit_AST = null;
+
+        {
+        switch ( LA(1)) {
+        case LITERAL_package:
+        {
+            packageDefinition();
+            if (inputState.guessing==0) {
+                astFactory.addASTChild(currentAST, returnAST);
+            }
+            break;
+        }
+        case EOF:
+        case FINAL:
+        case ABSTRACT:
+        case STRICTFP:
+        case SEMI:
+        case LITERAL_import:
+        case LITERAL_private:
+        case LITERAL_public:
+        case LITERAL_protected:
+        case LITERAL_static:
+        case LITERAL_transient:
+        case LITERAL_native:
+        case LITERAL_threadsafe:
+        case LITERAL_synchronized:
+        case LITERAL_volatile:
+        case LITERAL_class:
+        case LITERAL_interface:
+        {
+            if ( inputState.guessing==0 ) {
+                useDefaultPackage();
+            }
+            break;
+        }
+        default:
+        {
+            throw new NoViableAltException(LT(1), getFilename());
+        }
+        }
+        }
+        {
+        _loop4:
+        do {
+            if ((LA(1)==LITERAL_import)) {
+                importDefinition();
+                if (inputState.guessing==0) {
+                    astFactory.addASTChild(currentAST, returnAST);
+                }
+            }
+            else {
+                break _loop4;
+            }
+
+        } while (true);
+        }
+        {
+        _loop6:
+        do {
+            if ((_tokenSet_0.member(LA(1)))) {
+                typeDefinition();
+                if (inputState.guessing==0) {
+                    astFactory.addASTChild(currentAST, returnAST);
+                }
+            }
+            else {
+                break _loop6;
+            }
+
+        } while (true);
+        }
+        AST tmp1_AST = null;
+        tmp1_AST = (AST)astFactory.create(LT(1));
+        match(Token.EOF_TYPE);
+        if ( inputState.guessing==0 ) {
+            endFile();
+        }
+        compilationUnit_AST = (AST)currentAST.root;
+        returnAST = compilationUnit_AST;
+    }
+
+    public final void packageDefinition() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST packageDefinition_AST = null;
+        Token  p = null;
+        AST p_AST = null;
+        JavaToken id;
+
+        try {      // for error handling
+            p = LT(1);
+            if (inputState.guessing==0) {
+                p_AST = (AST)astFactory.create(p);
+                astFactory.makeASTRoot(currentAST, p_AST);
+            }
+            match(LITERAL_package);
+            if ( inputState.guessing==0 ) {
+                p_AST.setType(PACKAGE_DEF);
+            }
+            id=identifier();
+            if (inputState.guessing==0) {
+                astFactory.addASTChild(currentAST, returnAST);
+            }
+            AST tmp2_AST = null;
+            tmp2_AST = (AST)astFactory.create(LT(1));
+            match(SEMI);
+            if ( inputState.guessing==0 ) {
+                definePackage(id);
+            }
+            packageDefinition_AST = (AST)currentAST.root;
+        }
+        catch (RecognitionException ex) {
+            if (inputState.guessing==0) {
+                reportError(ex);
+                consume();
+                consumeUntil(_tokenSet_1);
+            } else {
+              throw ex;
+            }
+        }
+        returnAST = packageDefinition_AST;
+    }
+
+    public final void importDefinition() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST importDefinition_AST = null;
+        Token  i = null;
+        AST i_AST = null;
+
+        try {      // for error handling
+            i = LT(1);
+            if (inputState.guessing==0) {
+                i_AST = (AST)astFactory.create(i);
+                astFactory.makeASTRoot(currentAST, i_AST);
+            }
+            match(LITERAL_import);
+            if ( inputState.guessing==0 ) {
+                i_AST.setType(IMPORT);
+            }
+            identifierStar();
+            if (inputState.guessing==0) {
+                astFactory.addASTChild(currentAST, returnAST);
+            }
+            AST tmp3_AST = null;
+            tmp3_AST = (AST)astFactory.create(LT(1));
+            match(SEMI);
+            importDefinition_AST = (AST)currentAST.root;
+        }
+        catch (RecognitionException ex) {
+            if (inputState.guessing==0) {
+                reportError(ex);
+                consume();
+                consumeUntil(_tokenSet_1);
+            } else {
+              throw ex;
+            }
+        }
+        returnAST = importDefinition_AST;
+    }
+
+    public final void typeDefinition() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST typeDefinition_AST = null;
+        AST m_AST = null;
+
+        try {      // for error handling
+            switch ( LA(1)) {
+            case FINAL:
+            case ABSTRACT:
+            case STRICTFP:
+            case LITERAL_private:
+            case LITERAL_public:
+            case LITERAL_protected:
+            case LITERAL_static:
+            case LITERAL_transient:
+            case LITERAL_native:
+            case LITERAL_threadsafe:
+            case LITERAL_synchronized:
+            case LITERAL_volatile:
+            case LITERAL_class:
+            case LITERAL_interface:
+            {
+                modifiers();
+                if (inputState.guessing==0) {
+                    m_AST = (AST)returnAST;
+                }
+                {
+                switch ( LA(1)) {
+                case LITERAL_class:
+                {
+                    classDefinition(m_AST);
+                    if (inputState.guessing==0) {
+                        astFactory.addASTChild(currentAST, returnAST);
+                    }
+                    break;
+                }
+                case LITERAL_interface:
+                {
+                    interfaceDefinition(m_AST);
+                    if (inputState.guessing==0) {
+                        astFactory.addASTChild(currentAST, returnAST);
+                    }
+                    break;
+                }
+                default:
+                {
+                    throw new NoViableAltException(LT(1), getFilename());
+                }
+                }
+                }
+                typeDefinition_AST = (AST)currentAST.root;
+                break;
+            }
+            case SEMI:
+            {
+                AST tmp4_AST = null;
+                tmp4_AST = (AST)astFactory.create(LT(1));
+                match(SEMI);
+                typeDefinition_AST = (AST)currentAST.root;
+                break;
+            }
+            default:
+            {
+                throw new NoViableAltException(LT(1), getFilename());
+            }
+            }
+        }
+        catch (RecognitionException ex) {
+            if (inputState.guessing==0) {
+                reportError(ex);
+                consume();
+                consumeUntil(_tokenSet_2);
+            } else {
+              throw ex;
+            }
+        }
+        returnAST = typeDefinition_AST;
+    }
+
+    public final JavaToken  identifier() throws RecognitionException, TokenStreamException {
+        JavaToken t;
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST identifier_AST = null;
+        Token  id1 = null;
+        AST id1_AST = null;
+        Token  id2 = null;
+        AST id2_AST = null;
+        t=null;
+
+        id1 = LT(1);
+        if (inputState.guessing==0) {
+            id1_AST = (AST)astFactory.create(id1);
+            astFactory.addASTChild(currentAST, id1_AST);
+        }
+        match(IDENT);
+        if ( inputState.guessing==0 ) {
+            t=(JavaToken)id1;
+        }
+        {
+        _loop35:
+        do {
+            if ((LA(1)==DOT)) {
+                AST tmp5_AST = null;
+                if (inputState.guessing==0) {
+                    tmp5_AST = (AST)astFactory.create(LT(1));
+                    astFactory.makeASTRoot(currentAST, tmp5_AST);
+                }
+                match(DOT);
+                id2 = LT(1);
+                if (inputState.guessing==0) {
+                    id2_AST = (AST)astFactory.create(id2);
+                    astFactory.addASTChild(currentAST, id2_AST);
+                }
+                match(IDENT);
+                if ( inputState.guessing==0 ) {
+
+                    t.setText(t.getText() + "." + id2.getText());
+                                 t.setColumn(id2.getColumn());
+
+                }
+            }
+            else {
+                break _loop35;
+            }
+
+        } while (true);
+        }
+        identifier_AST = (AST)currentAST.root;
+        returnAST = identifier_AST;
+        return t;
+    }
+
+    public final void identifierStar() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST identifierStar_AST = null;
+        Token  id = null;
+        AST id_AST = null;
+        Token  id2 = null;
+        AST id2_AST = null;
+        String className=""; String packageName="";
+
+        id = LT(1);
+        if (inputState.guessing==0) {
+            id_AST = (AST)astFactory.create(id);
+            astFactory.addASTChild(currentAST, id_AST);
+        }
+        match(IDENT);
+        if ( inputState.guessing==0 ) {
+            className=id.getText();
+        }
+        {
+        _loop38:
+        do {
+            if ((LA(1)==DOT) && (LA(2)==IDENT)) {
+                AST tmp6_AST = null;
+                if (inputState.guessing==0) {
+                    tmp6_AST = (AST)astFactory.create(LT(1));
+                    astFactory.makeASTRoot(currentAST, tmp6_AST);
+                }
+                match(DOT);
+                id2 = LT(1);
+                if (inputState.guessing==0) {
+                    id2_AST = (AST)astFactory.create(id2);
+                    astFactory.addASTChild(currentAST, id2_AST);
+                }
+                match(IDENT);
+                if ( inputState.guessing==0 ) {
+                    packageName += "."+className; className = id2.getText();
+                }
+            }
+            else {
+                break _loop38;
+            }
+
+        } while (true);
+        }
+        {
+        switch ( LA(1)) {
+        case DOT:
+        {
+            AST tmp7_AST = null;
+            if (inputState.guessing==0) {
+                tmp7_AST = (AST)astFactory.create(LT(1));
+                astFactory.makeASTRoot(currentAST, tmp7_AST);
+            }
+            match(DOT);
+            AST tmp8_AST = null;
+            if (inputState.guessing==0) {
+                tmp8_AST = (AST)astFactory.create(LT(1));
+                astFactory.addASTChild(currentAST, tmp8_AST);
+            }
+            match(STAR);
+            if ( inputState.guessing==0 ) {
+                packageName += "."+className; className = null;
+            }
+            break;
+        }
+        case SEMI:
+        {
+            break;
+        }
+        default:
+        {
+            throw new NoViableAltException(LT(1), getFilename());
+        }
+        }
+        }
+        if ( inputState.guessing==0 ) {
+
+            // put the overall name in the token's text
+            if (packageName.equals(""))
+            id.setText(className);
+            else if (className == null)
+            id.setText(packageName.substring(1));
+            else
+            id.setText(packageName.substring(1) + "." + className);
+
+            // tell the symbol table about the import
+            addImport((JavaToken)id, className, packageName);
+
+        }
+        identifierStar_AST = (AST)currentAST.root;
+        returnAST = identifierStar_AST;
+    }
+
+    public final void modifiers() throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST modifiers_AST = null;
+
+        {
+        _loop14:
+        do {
+            if ((_tokenSet_3.member(LA(1)))) {
+                modifier();
+                if (inputState.guessing==0) {
+                    astFactory.addASTChild(currentAST, returnAST);
+                }
+            }
+            else {
+                break _loop14;
+            }
+
+        } while (true);
+        }
+        if ( inputState.guessing==0 ) {
+            modifiers_AST = (AST)currentAST.root;
+            modifiers_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(MODIFIERS,"MODIFIERS")).add(modifiers_AST));
+            currentAST.root = modifiers_AST;
+            currentAST.child = modifiers_AST!=null &&modifiers_AST.getFirstChild()!=null ?
+                modifiers_AST.getFirstChild() : modifiers_AST;
+            currentAST.advanceChildToEnd();
+        }
+        modifiers_AST = (AST)currentAST.root;
+        returnAST = modifiers_AST;
+    }
+
+    public final void classDefinition(
+        AST modifiers
+    ) throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST classDefinition_AST = null;
+        Token  id = null;
+        AST id_AST = null;
+        AST sc_AST = null;
+        AST ic_AST = null;
+        AST cb_AST = null;
+        JavaToken superClass=null; JavaVector interfaces=null;
+
+        AST tmp9_AST = null;
+        if (inputState.guessing==0) {
+            tmp9_AST = (AST)astFactory.create(LT(1));
+        }
+        match(LITERAL_class);
+        id = LT(1);
+        if (inputState.guessing==0) {
+            id_AST = (AST)astFactory.create(id);
+        }
+        match(IDENT);
+        {
+        switch ( LA(1)) {
+        case LT:
+        {
+            typeParameters();
+            break;
+        }
+        case LITERAL_extends:
+        case LCURLY:
+        case LITERAL_implements:
+        {
+            break;
+        }
+        default:
+        {
+            throw new NoViableAltException(LT(1), getFilename());
+        }
+        }
+        }
+        superClass=superClassClause();
+        if (inputState.guessing==0) {
+            sc_AST = (AST)returnAST;
+        }
+        interfaces=implementsClause();
+        if (inputState.guessing==0) {
+            ic_AST = (AST)returnAST;
+        }
+        if ( inputState.guessing==0 ) {
+            defineClass((JavaToken)id, superClass, interfaces);
+        }
+        classBlock();
+        if (inputState.guessing==0) {
+            cb_AST = (AST)returnAST;
+        }
+        if ( inputState.guessing==0 ) {
+            classDefinition_AST = (AST)currentAST.root;
+            classDefinition_AST = (AST)astFactory.make( (new ASTArray(6)).add((AST)astFactory.create(CLASS_DEF,"CLASS_DEF")).add(modifiers).add(id_AST).add(sc_AST).add(ic_AST).add(cb_AST));
+            currentAST.root = classDefinition_AST;
+            currentAST.child = classDefinition_AST!=null &&classDefinition_AST.getFirstChild()!=null ?
+                classDefinition_AST.getFirstChild() : classDefinition_AST;
+            currentAST.advanceChildToEnd();
+        }
+        if ( inputState.guessing==0 ) {
+            popScope();
+        }
+        returnAST = classDefinition_AST;
+    }
+
+    public final void interfaceDefinition(
+        AST modifiers
+    ) throws RecognitionException, TokenStreamException {
+
+        returnAST = null;
+        ASTPair currentAST = new ASTPair();
+        AST interfaceDefinition_AST = null;
+        Token  id = null;
+        AST id_AST = null;
+        AST ie_AST = null;
+        AST cb_AST = null;
+        JavaVector superInterfaces = null;
+
+        AST tmp10_AST = null;
+        if (inputState.guessing==0) {
+            tmp10_AST = (AST)astFactory.create(LT(1));
+        }
+        match(LITERAL_interface);
+        id = LT(1);
+        if (inputState.guessing==0) {
+            id_AST = (AST)astFactory.create(id);
+        }
+        match(IDENT);
+        {
+        switch ( LA(1)) {
+        case LT:
+        {
+            typeParameters();
+            break;
+        }
+        case LITERAL_extends:
+        case LCURLY:
+        {
+            break;
+        }
+        default:
+        {
+            throw new NoViableAltException(LT(1), getFilename());
+        }
+        }
+        }
+        superInterfaces=interfaceExtends();
+        if (inputState.guessing==0) {
+            ie_AST = (AST)returnAST;
+        }
+        if ( inputState.guessing==0 ) {
+            defineInterface((JavaToken)id, superInterfaces);
+        }
+        classBlock();
+        if (inputState.guessing==0) {
+            cb_AST = (AST)returnAST;
+        }
+        if ( inputState.guessing==0 ) {
+            interfaceDefinition_AST = (AST)currentAST.root;
+            interfaceDefinition_AST = (AST)astFactory.make( (new ASTArray(5)).add((AST)astFactory.create(INTERFACE_DEF,"INTERFACE_DEF")).add(modifiers).add(id_AST).add(ie_AST).add(cb_AST));
+            currentAST.root = interfaceDefinition_AST;
+            currentAST.child = interfaceDefinition_AST!=null &&interfaceDefinition_AST.getFirstChild()!=null ?
+                interfaceDefinition_AST.getFirstChild() : interfaceDefinition_AST;
+            currentAST.advanceChildToEnd();
+        }
+        if ( inputState.guessing==0 ) {
+            popScope();
+        }
+        returnAST = interfaceDefinition_AST;
+    }
+
 /** A declaration is the creation of a reference or primitive-type variable
  *  Create a separate Type/Var tree for each var in the var list.
  */
-	public final void declaration() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST declaration_AST = null;
-		AST m_AST = null;
-		AST t_AST = null;
-		AST v_AST = null;
-		JavaToken type;
-		
-		modifiers();
-		if (inputState.guessing==0) {
-			m_AST = (AST)returnAST;
-		}
-		type=typeSpec(false);
-		if (inputState.guessing==0) {
-			t_AST = (AST)returnAST;
-		}
-		variableDefinitions(m_AST,t_AST,type);
-		if (inputState.guessing==0) {
-			v_AST = (AST)returnAST;
-		}
-		if ( inputState.guessing==0 ) {
-			declaration_AST = (AST)currentAST.root;
-			declaration_AST = v_AST;
-			currentAST.root = declaration_AST;
-			currentAST.child = declaration_AST!=null &&declaration_AST.getFirstChild()!=null ?
-				declaration_AST.getFirstChild() : declaration_AST;
-			currentAST.advanceChildToEnd();
-		}
-		returnAST = declaration_AST;
-	}
-	
-	public final JavaToken  typeSpec(
-		boolean addImagNode
-	) throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeSpec_AST = null;
-		t=null;
-		
-		switch ( LA(1)) {
-		case IDENT:
-		{
-			t=classTypeSpec(addImagNode);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			typeSpec_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_void:
-		case LITERAL_boolean:
-		case LITERAL_byte:
-		case LITERAL_char:
-		case LITERAL_short:
-		case LITERAL_int:
-		case LITERAL_float:
-		case LITERAL_long:
-		case LITERAL_double:
-		{
-			t=builtInTypeSpec(addImagNode);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			typeSpec_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = typeSpec_AST;
-		return t;
-	}
-	
-	public final void variableDefinitions(
-		AST mods, AST t, JavaToken type
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST variableDefinitions_AST = null;
-		
-		variableDeclarator(getASTFactory().dupTree(mods),
-						   getASTFactory().dupTree(t),
-						   type);
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		{
-		_loop79:
-		do {
-			if ((LA(1)==COMMA)) {
-				AST tmp11_AST = null;
-				tmp11_AST = (AST)astFactory.create(LT(1));
-				match(COMMA);
-				variableDeclarator(getASTFactory().dupTree(mods),
-							   getASTFactory().dupTree(t),
-							   type);
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop79;
-			}
-			
-		} while (true);
-		}
-		variableDefinitions_AST = (AST)currentAST.root;
-		returnAST = variableDefinitions_AST;
-	}
-	
-	public final void modifier() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST modifier_AST = null;
-		
-		switch ( LA(1)) {
-		case LITERAL_private:
-		{
-			AST tmp12_AST = null;
-			if (inputState.guessing==0) {
-				tmp12_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp12_AST);
-			}
-			match(LITERAL_private);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_public:
-		{
-			AST tmp13_AST = null;
-			if (inputState.guessing==0) {
-				tmp13_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp13_AST);
-			}
-			match(LITERAL_public);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_protected:
-		{
-			AST tmp14_AST = null;
-			if (inputState.guessing==0) {
-				tmp14_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp14_AST);
-			}
-			match(LITERAL_protected);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_static:
-		{
-			AST tmp15_AST = null;
-			if (inputState.guessing==0) {
-				tmp15_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp15_AST);
-			}
-			match(LITERAL_static);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_transient:
-		{
-			AST tmp16_AST = null;
-			if (inputState.guessing==0) {
-				tmp16_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp16_AST);
-			}
-			match(LITERAL_transient);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case FINAL:
-		{
-			AST tmp17_AST = null;
-			if (inputState.guessing==0) {
-				tmp17_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp17_AST);
-			}
-			match(FINAL);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case ABSTRACT:
-		{
-			AST tmp18_AST = null;
-			if (inputState.guessing==0) {
-				tmp18_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp18_AST);
-			}
-			match(ABSTRACT);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_native:
-		{
-			AST tmp19_AST = null;
-			if (inputState.guessing==0) {
-				tmp19_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp19_AST);
-			}
-			match(LITERAL_native);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_threadsafe:
-		{
-			AST tmp20_AST = null;
-			if (inputState.guessing==0) {
-				tmp20_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp20_AST);
-			}
-			match(LITERAL_threadsafe);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_synchronized:
-		{
-			AST tmp21_AST = null;
-			if (inputState.guessing==0) {
-				tmp21_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp21_AST);
-			}
-			match(LITERAL_synchronized);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_volatile:
-		{
-			AST tmp22_AST = null;
-			if (inputState.guessing==0) {
-				tmp22_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp22_AST);
-			}
-			match(LITERAL_volatile);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		case STRICTFP:
-		{
-			AST tmp23_AST = null;
-			if (inputState.guessing==0) {
-				tmp23_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp23_AST);
-			}
-			match(STRICTFP);
-			modifier_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = modifier_AST;
-	}
-	
-	public final JavaToken  classTypeSpec(
-		boolean addImagNode
-	) throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST classTypeSpec_AST = null;
-		t=null;
-		
-		t=classOrInterfaceType(addImagNode);
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		arraySpecOpt();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		if ( inputState.guessing==0 ) {
-			classTypeSpec_AST = (AST)currentAST.root;
-			
-						if ( addImagNode ) {
-							classTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(TYPE,"TYPE")).add(classTypeSpec_AST));
-						}
-					
-			currentAST.root = classTypeSpec_AST;
-			currentAST.child = classTypeSpec_AST!=null &&classTypeSpec_AST.getFirstChild()!=null ?
-				classTypeSpec_AST.getFirstChild() : classTypeSpec_AST;
-			currentAST.advanceChildToEnd();
-		}
-		classTypeSpec_AST = (AST)currentAST.root;
-		returnAST = classTypeSpec_AST;
-		return t;
-	}
-	
-	public final JavaToken  builtInTypeSpec(
-		boolean addImagNode
-	) throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST builtInTypeSpec_AST = null;
-		t=null;
-		
-		t=builtInType();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		arraySpecOpt();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		if ( inputState.guessing==0 ) {
-			builtInTypeSpec_AST = (AST)currentAST.root;
-			
-						if ( addImagNode ) {
-							builtInTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(TYPE,"TYPE")).add(builtInTypeSpec_AST));
-						}
-					
-			currentAST.root = builtInTypeSpec_AST;
-			currentAST.child = builtInTypeSpec_AST!=null &&builtInTypeSpec_AST.getFirstChild()!=null ?
-				builtInTypeSpec_AST.getFirstChild() : builtInTypeSpec_AST;
-			currentAST.advanceChildToEnd();
-		}
-		builtInTypeSpec_AST = (AST)currentAST.root;
-		returnAST = builtInTypeSpec_AST;
-		return t;
-	}
-	
-	public final void arraySpecOpt() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST arraySpecOpt_AST = null;
-		Token  lb = null;
-		AST lb_AST = null;
-		
-		{
-		_loop18:
-		do {
-			if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) {
-				lb = LT(1);
-				if (inputState.guessing==0) {
-					lb_AST = (AST)astFactory.create(lb);
-					astFactory.makeASTRoot(currentAST, lb_AST);
-				}
-				match(LBRACK);
-				if ( inputState.guessing==0 ) {
-					lb_AST.setType(ARRAY_DECLARATOR);
-				}
-				AST tmp24_AST = null;
-				tmp24_AST = (AST)astFactory.create(LT(1));
-				match(RBRACK);
-			}
-			else {
-				break _loop18;
-			}
-			
-		} while (true);
-		}
-		arraySpecOpt_AST = (AST)currentAST.root;
-		returnAST = arraySpecOpt_AST;
-	}
-	
-	public final JavaToken  classOrInterfaceType(
-		boolean addImagNode
-	) throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST classOrInterfaceType_AST = null;
-		Token  id1 = null;
-		AST id1_AST = null;
-		Token  id2 = null;
-		AST id2_AST = null;
-		t=null;
-		
-		id1 = LT(1);
-		if (inputState.guessing==0) {
-			id1_AST = (AST)astFactory.create(id1);
-			astFactory.addASTChild(currentAST, id1_AST);
-		}
-		match(IDENT);
-		if ( inputState.guessing==0 ) {
-			t = (JavaToken)id1;
-		}
-		{
-		switch ( LA(1)) {
-		case LT:
-		{
-			typeArguments(addImagNode);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			break;
-		}
-		case SEMI:
-		case LBRACK:
-		case RBRACK:
-		case IDENT:
-		case DOT:
-		case COMMA:
-		case GT:
-		case SR:
-		case BSR:
-		case LITERAL_void:
-		case LITERAL_boolean:
-		case LITERAL_byte:
-		case LITERAL_char:
-		case LITERAL_short:
-		case LITERAL_int:
-		case LITERAL_float:
-		case LITERAL_long:
-		case LITERAL_double:
-		case LITERAL_extends:
-		case BAND:
-		case LCURLY:
-		case RCURLY:
-		case LITERAL_implements:
-		case LPAREN:
-		case RPAREN:
-		case ASSIGN:
-		case COLON:
-		case PLUS_ASSIGN:
-		case MINUS_ASSIGN:
-		case STAR_ASSIGN:
-		case DIV_ASSIGN:
-		case MOD_ASSIGN:
-		case SR_ASSIGN:
-		case BSR_ASSIGN:
-		case SL_ASSIGN:
-		case BAND_ASSIGN:
-		case BXOR_ASSIGN:
-		case BOR_ASSIGN:
-		case QUESTION:
-		case LOR:
-		case LAND:
-		case BOR:
-		case BXOR:
-		case NOT_EQUAL:
-		case EQUAL:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		{
-		_loop24:
-		do {
-			if ((LA(1)==DOT) && (LA(2)==IDENT)) {
-				AST tmp25_AST = null;
-				if (inputState.guessing==0) {
-					tmp25_AST = (AST)astFactory.create(LT(1));
-					astFactory.addASTChild(currentAST, tmp25_AST);
-				}
-				match(DOT);
-				id2 = LT(1);
-				if (inputState.guessing==0) {
-					id2_AST = (AST)astFactory.create(id2);
-					astFactory.addASTChild(currentAST, id2_AST);
-				}
-				match(IDENT);
-				if ( inputState.guessing==0 ) {
-					
-					t.setText(t.getText() + "." + id2.getText());
-								 t.setColumn(id2.getColumn());
-					
-				}
-				{
-				switch ( LA(1)) {
-				case LT:
-				{
-					typeArguments(addImagNode);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-					break;
-				}
-				case SEMI:
-				case LBRACK:
-				case RBRACK:
-				case IDENT:
-				case DOT:
-				case COMMA:
-				case GT:
-				case SR:
-				case BSR:
-				case LITERAL_void:
-				case LITERAL_boolean:
-				case LITERAL_byte:
-				case LITERAL_char:
-				case LITERAL_short:
-				case LITERAL_int:
-				case LITERAL_float:
-				case LITERAL_long:
-				case LITERAL_double:
-				case LITERAL_extends:
-				case BAND:
-				case LCURLY:
-				case RCURLY:
-				case LITERAL_implements:
-				case LPAREN:
-				case RPAREN:
-				case ASSIGN:
-				case COLON:
-				case PLUS_ASSIGN:
-				case MINUS_ASSIGN:
-				case STAR_ASSIGN:
-				case DIV_ASSIGN:
-				case MOD_ASSIGN:
-				case SR_ASSIGN:
-				case BSR_ASSIGN:
-				case SL_ASSIGN:
-				case BAND_ASSIGN:
-				case BXOR_ASSIGN:
-				case BOR_ASSIGN:
-				case QUESTION:
-				case LOR:
-				case LAND:
-				case BOR:
-				case BXOR:
-				case NOT_EQUAL:
-				case EQUAL:
-				{
-					break;
-				}
-				default:
-				{
-					throw new NoViableAltException(LT(1), getFilename());
-				}
-				}
-				}
-			}
-			else {
-				break _loop24;
-			}
-			
-		} while (true);
-		}
-		classOrInterfaceType_AST = (AST)currentAST.root;
-		returnAST = classOrInterfaceType_AST;
-		return t;
-	}
-	
-	public final void typeArguments(
-		boolean addImagNode
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeArguments_AST = null;
-		int currentLtLevel = 0;
-		
-		if ( inputState.guessing==0 ) {
-			currentLtLevel = ltCounter;
-		}
-		AST tmp26_AST = null;
-		if (inputState.guessing==0) {
-			tmp26_AST = (AST)astFactory.create(LT(1));
-			astFactory.addASTChild(currentAST, tmp26_AST);
-		}
-		match(LT);
-		if ( inputState.guessing==0 ) {
-			ltCounter++;
-		}
-		classTypeSpec(addImagNode);
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		{
-		_loop27:
-		do {
-			if ((LA(1)==COMMA) && (LA(2)==IDENT)) {
-				AST tmp27_AST = null;
-				if (inputState.guessing==0) {
-					tmp27_AST = (AST)astFactory.create(LT(1));
-					astFactory.addASTChild(currentAST, tmp27_AST);
-				}
-				match(COMMA);
-				classTypeSpec(addImagNode);
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop27;
-			}
-			
-		} while (true);
-		}
-		{
-		if (((LA(1) >= GT && LA(1) <= BSR)) && (_tokenSet_4.member(LA(2)))) {
-			typeArgumentsEnd();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-		}
-		else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_5.member(LA(2)))) {
-		}
-		else {
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		
-		}
-		if (!((currentLtLevel != 0) || ltCounter == currentLtLevel))
-		  throw new SemanticException("(currentLtLevel != 0) || ltCounter == currentLtLevel");
-		typeArguments_AST = (AST)currentAST.root;
-		returnAST = typeArguments_AST;
-	}
-	
-	protected final void typeArgumentsEnd() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeArgumentsEnd_AST = null;
-		
-		switch ( LA(1)) {
-		case GT:
-		{
-			AST tmp28_AST = null;
-			if (inputState.guessing==0) {
-				tmp28_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp28_AST);
-			}
-			match(GT);
-			if ( inputState.guessing==0 ) {
-				ltCounter-=1;
-			}
-			typeArgumentsEnd_AST = (AST)currentAST.root;
-			break;
-		}
-		case SR:
-		{
-			AST tmp29_AST = null;
-			if (inputState.guessing==0) {
-				tmp29_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp29_AST);
-			}
-			match(SR);
-			if ( inputState.guessing==0 ) {
-				ltCounter-=2;
-			}
-			typeArgumentsEnd_AST = (AST)currentAST.root;
-			break;
-		}
-		case BSR:
-		{
-			AST tmp30_AST = null;
-			if (inputState.guessing==0) {
-				tmp30_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp30_AST);
-			}
-			match(BSR);
-			if ( inputState.guessing==0 ) {
-				ltCounter-=3;
-			}
-			typeArgumentsEnd_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = typeArgumentsEnd_AST;
-	}
-	
-	public final JavaToken  builtInType() throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST builtInType_AST = null;
-		Token  bVoid = null;
-		AST bVoid_AST = null;
-		Token  bBoolean = null;
-		AST bBoolean_AST = null;
-		Token  bByte = null;
-		AST bByte_AST = null;
-		Token  bChar = null;
-		AST bChar_AST = null;
-		Token  bShort = null;
-		AST bShort_AST = null;
-		Token  bInt = null;
-		AST bInt_AST = null;
-		Token  bFloat = null;
-		AST bFloat_AST = null;
-		Token  bLong = null;
-		AST bLong_AST = null;
-		Token  bDouble = null;
-		AST bDouble_AST = null;
-		t=null;
-		
-		switch ( LA(1)) {
-		case LITERAL_void:
-		{
-			bVoid = LT(1);
-			if (inputState.guessing==0) {
-				bVoid_AST = (AST)astFactory.create(bVoid);
-				astFactory.addASTChild(currentAST, bVoid_AST);
-			}
-			match(LITERAL_void);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bVoid;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_boolean:
-		{
-			bBoolean = LT(1);
-			if (inputState.guessing==0) {
-				bBoolean_AST = (AST)astFactory.create(bBoolean);
-				astFactory.addASTChild(currentAST, bBoolean_AST);
-			}
-			match(LITERAL_boolean);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bBoolean;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_byte:
-		{
-			bByte = LT(1);
-			if (inputState.guessing==0) {
-				bByte_AST = (AST)astFactory.create(bByte);
-				astFactory.addASTChild(currentAST, bByte_AST);
-			}
-			match(LITERAL_byte);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bByte;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_char:
-		{
-			bChar = LT(1);
-			if (inputState.guessing==0) {
-				bChar_AST = (AST)astFactory.create(bChar);
-				astFactory.addASTChild(currentAST, bChar_AST);
-			}
-			match(LITERAL_char);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bChar;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_short:
-		{
-			bShort = LT(1);
-			if (inputState.guessing==0) {
-				bShort_AST = (AST)astFactory.create(bShort);
-				astFactory.addASTChild(currentAST, bShort_AST);
-			}
-			match(LITERAL_short);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bShort;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_int:
-		{
-			bInt = LT(1);
-			if (inputState.guessing==0) {
-				bInt_AST = (AST)astFactory.create(bInt);
-				astFactory.addASTChild(currentAST, bInt_AST);
-			}
-			match(LITERAL_int);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bInt;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_float:
-		{
-			bFloat = LT(1);
-			if (inputState.guessing==0) {
-				bFloat_AST = (AST)astFactory.create(bFloat);
-				astFactory.addASTChild(currentAST, bFloat_AST);
-			}
-			match(LITERAL_float);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bFloat;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_long:
-		{
-			bLong = LT(1);
-			if (inputState.guessing==0) {
-				bLong_AST = (AST)astFactory.create(bLong);
-				astFactory.addASTChild(currentAST, bLong_AST);
-			}
-			match(LITERAL_long);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bLong;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_double:
-		{
-			bDouble = LT(1);
-			if (inputState.guessing==0) {
-				bDouble_AST = (AST)astFactory.create(bDouble);
-				astFactory.addASTChild(currentAST, bDouble_AST);
-			}
-			match(LITERAL_double);
-			if ( inputState.guessing==0 ) {
-				t = (JavaToken)bDouble;
-			}
-			builtInType_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = builtInType_AST;
-		return t;
-	}
-	
-	public final JavaToken  type() throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST type_AST = null;
-		t=null;
-		
-		switch ( LA(1)) {
-		case IDENT:
-		{
-			t=classOrInterfaceType(false);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			type_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_void:
-		case LITERAL_boolean:
-		case LITERAL_byte:
-		case LITERAL_char:
-		case LITERAL_short:
-		case LITERAL_int:
-		case LITERAL_float:
-		case LITERAL_long:
-		case LITERAL_double:
-		{
-			t=builtInType();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			type_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = type_AST;
-		return t;
-	}
-	
-	public final void typeParameters() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeParameters_AST = null;
-		int currentLtLevel = 0;
-		
-		if ( inputState.guessing==0 ) {
-			currentLtLevel = ltCounter;
-		}
-		AST tmp31_AST = null;
-		if (inputState.guessing==0) {
-			tmp31_AST = (AST)astFactory.create(LT(1));
-			astFactory.addASTChild(currentAST, tmp31_AST);
-		}
-		match(LT);
-		if ( inputState.guessing==0 ) {
-			ltCounter++;
-		}
-		typeParameter();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		{
-		_loop49:
-		do {
-			if ((LA(1)==COMMA)) {
-				AST tmp32_AST = null;
-				if (inputState.guessing==0) {
-					tmp32_AST = (AST)astFactory.create(LT(1));
-					astFactory.addASTChild(currentAST, tmp32_AST);
-				}
-				match(COMMA);
-				typeParameter();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop49;
-			}
-			
-		} while (true);
-		}
-		{
-		switch ( LA(1)) {
-		case GT:
-		case SR:
-		case BSR:
-		{
-			typeArgumentsEnd();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			break;
-		}
-		case IDENT:
-		case LITERAL_void:
-		case LITERAL_boolean:
-		case LITERAL_byte:
-		case LITERAL_char:
-		case LITERAL_short:
-		case LITERAL_int:
-		case LITERAL_float:
-		case LITERAL_long:
-		case LITERAL_double:
-		case LITERAL_extends:
-		case LCURLY:
-		case LITERAL_implements:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if (!((currentLtLevel != 0) || ltCounter == currentLtLevel))
-		  throw new SemanticException("(currentLtLevel != 0) || ltCounter == currentLtLevel");
-		typeParameters_AST = (AST)currentAST.root;
-		returnAST = typeParameters_AST;
-	}
-	
-	public final JavaToken  superClassClause() throws RecognitionException, TokenStreamException {
-		JavaToken t;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST superClassClause_AST = null;
-		t=null;
-		
-		{
-		switch ( LA(1)) {
-		case LITERAL_extends:
-		{
-			AST tmp33_AST = null;
-			if (inputState.guessing==0) {
-				tmp33_AST = (AST)astFactory.create(LT(1));
-			}
-			match(LITERAL_extends);
-			t=classOrInterfaceType(false);
-			break;
-		}
-		case LCURLY:
-		case LITERAL_implements:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		returnAST = superClassClause_AST;
-		return t;
-	}
-	
-	public final JavaVector  implementsClause() throws RecognitionException, TokenStreamException {
-		JavaVector inters;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST implementsClause_AST = null;
-		Token  i = null;
-		AST i_AST = null;
-		inters = new JavaVector(); JavaToken id;
-		
-		{
-		switch ( LA(1)) {
-		case LITERAL_implements:
-		{
-			i = LT(1);
-			if (inputState.guessing==0) {
-				i_AST = (AST)astFactory.create(i);
-			}
-			match(LITERAL_implements);
-			id=classOrInterfaceType(false);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			if ( inputState.guessing==0 ) {
-				inters.addElement(dummyClass(id));
-			}
-			{
-			_loop65:
-			do {
-				if ((LA(1)==COMMA)) {
-					AST tmp34_AST = null;
-					tmp34_AST = (AST)astFactory.create(LT(1));
-					match(COMMA);
-					id=classOrInterfaceType(false);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-					if ( inputState.guessing==0 ) {
-						inters.addElement(dummyClass(id));
-					}
-				}
-				else {
-					break _loop65;
-				}
-				
-			} while (true);
-			}
-			break;
-		}
-		case LCURLY:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if ( inputState.guessing==0 ) {
-			implementsClause_AST = (AST)currentAST.root;
-			implementsClause_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(IMPLEMENTS_CLAUSE,"IMPLEMENTS_CLAUSE")).add(implementsClause_AST));
-			currentAST.root = implementsClause_AST;
-			currentAST.child = implementsClause_AST!=null &&implementsClause_AST.getFirstChild()!=null ?
-				implementsClause_AST.getFirstChild() : implementsClause_AST;
-			currentAST.advanceChildToEnd();
-		}
-		implementsClause_AST = (AST)currentAST.root;
-		returnAST = implementsClause_AST;
-		return inters;
-	}
-	
-	public final void classBlock() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST classBlock_AST = null;
-		
-		AST tmp35_AST = null;
-		tmp35_AST = (AST)astFactory.create(LT(1));
-		match(LCURLY);
-		{
-		_loop57:
-		do {
-			switch ( LA(1)) {
-			case FINAL:
-			case ABSTRACT:
-			case STRICTFP:
-			case IDENT:
-			case LT:
-			case LITERAL_void:
-			case LITERAL_boolean:
-			case LITERAL_byte:
-			case LITERAL_char:
-			case LITERAL_short:
-			case LITERAL_int:
-			case LITERAL_float:
-			case LITERAL_long:
-			case LITERAL_double:
-			case LITERAL_private:
-			case LITERAL_public:
-			case LITERAL_protected:
-			case LITERAL_static:
-			case LITERAL_transient:
-			case LITERAL_native:
-			case LITERAL_threadsafe:
-			case LITERAL_synchronized:
-			case LITERAL_volatile:
-			case LITERAL_class:
-			case LITERAL_interface:
-			case LCURLY:
-			{
-				field();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-				break;
-			}
-			case SEMI:
-			{
-				AST tmp36_AST = null;
-				tmp36_AST = (AST)astFactory.create(LT(1));
-				match(SEMI);
-				break;
-			}
-			default:
-			{
-				break _loop57;
-			}
-			}
-		} while (true);
-		}
-		AST tmp37_AST = null;
-		tmp37_AST = (AST)astFactory.create(LT(1));
-		match(RCURLY);
-		if ( inputState.guessing==0 ) {
-			classBlock_AST = (AST)currentAST.root;
-			classBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(OBJBLOCK,"OBJBLOCK")).add(classBlock_AST));
-			currentAST.root = classBlock_AST;
-			currentAST.child = classBlock_AST!=null &&classBlock_AST.getFirstChild()!=null ?
-				classBlock_AST.getFirstChild() : classBlock_AST;
-			currentAST.advanceChildToEnd();
-		}
-		classBlock_AST = (AST)currentAST.root;
-		returnAST = classBlock_AST;
-	}
-	
-	public final JavaVector  interfaceExtends() throws RecognitionException, TokenStreamException {
-		JavaVector supers;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST interfaceExtends_AST = null;
-		Token  e = null;
-		AST e_AST = null;
-		JavaToken id; supers = new JavaVector();
-		
-		{
-		switch ( LA(1)) {
-		case LITERAL_extends:
-		{
-			e = LT(1);
-			if (inputState.guessing==0) {
-				e_AST = (AST)astFactory.create(e);
-			}
-			match(LITERAL_extends);
-			id=classOrInterfaceType(false);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			if ( inputState.guessing==0 ) {
-				supers.addElement(dummyClass(id));
-			}
-			{
-			_loop61:
-			do {
-				if ((LA(1)==COMMA)) {
-					AST tmp38_AST = null;
-					tmp38_AST = (AST)astFactory.create(LT(1));
-					match(COMMA);
-					id=classOrInterfaceType(false);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-					if ( inputState.guessing==0 ) {
-						supers.addElement(dummyClass(id));
-					}
-				}
-				else {
-					break _loop61;
-				}
-				
-			} while (true);
-			}
-			break;
-		}
-		case LCURLY:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if ( inputState.guessing==0 ) {
-			interfaceExtends_AST = (AST)currentAST.root;
-			interfaceExtends_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(EXTENDS_CLAUSE,"EXTENDS_CLAUSE")).add(interfaceExtends_AST));
-			currentAST.root = interfaceExtends_AST;
-			currentAST.child = interfaceExtends_AST!=null &&interfaceExtends_AST.getFirstChild()!=null ?
-				interfaceExtends_AST.getFirstChild() : interfaceExtends_AST;
-			currentAST.advanceChildToEnd();
-		}
-		interfaceExtends_AST = (AST)currentAST.root;
-		returnAST = interfaceExtends_AST;
-		return supers;
-	}
-	
-	public final void typeParameter() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST typeParameter_AST = null;
-		
-		AST tmp39_AST = null;
-		if (inputState.guessing==0) {
-			tmp39_AST = (AST)astFactory.create(LT(1));
-			astFactory.addASTChild(currentAST, tmp39_AST);
-		}
-		match(IDENT);
-		{
-		if ((LA(1)==LITERAL_extends) && (LA(2)==IDENT)) {
-			AST tmp40_AST = null;
-			if (inputState.guessing==0) {
-				tmp40_AST = (AST)astFactory.create(LT(1));
-				astFactory.addASTChild(currentAST, tmp40_AST);
-			}
-			match(LITERAL_extends);
-			classOrInterfaceType(false);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			{
-			_loop54:
-			do {
-				if ((LA(1)==BAND)) {
-					AST tmp41_AST = null;
-					if (inputState.guessing==0) {
-						tmp41_AST = (AST)astFactory.create(LT(1));
-						astFactory.addASTChild(currentAST, tmp41_AST);
-					}
-					match(BAND);
-					classOrInterfaceType(false);
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-				}
-				else {
-					break _loop54;
-				}
-				
-			} while (true);
-			}
-		}
-		else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) {
-		}
-		else {
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		
-		}
-		typeParameter_AST = (AST)currentAST.root;
-		returnAST = typeParameter_AST;
-	}
-	
-	public final void field() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST field_AST = null;
-		AST mods_AST = null;
-		AST h_AST = null;
-		AST s_AST = null;
-		AST cd_AST = null;
-		AST id_AST = null;
-		AST t_AST = null;
-		Token  method = null;
-		AST method_AST = null;
-		AST param_AST = null;
-		AST rt_AST = null;
-		AST tc_AST = null;
-		AST s2_AST = null;
-		AST v_AST = null;
-		AST s3_AST = null;
-		AST s4_AST = null;
-		JavaToken type; JavaVector exceptions=null;
-		
-		if ((_tokenSet_8.member(LA(1))) && (_tokenSet_9.member(LA(2)))) {
-			modifiers();
-			if (inputState.guessing==0) {
-				mods_AST = (AST)returnAST;
-			}
-			{
-			switch ( LA(1)) {
-			case LITERAL_class:
-			{
-				classDefinition(mods_AST);
-				if (inputState.guessing==0) {
-					cd_AST = (AST)returnAST;
-				}
-				if ( inputState.guessing==0 ) {
-					field_AST = (AST)currentAST.root;
-					field_AST = cd_AST;
-					currentAST.root = field_AST;
-					currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-						field_AST.getFirstChild() : field_AST;
-					currentAST.advanceChildToEnd();
-				}
-				break;
-			}
-			case LITERAL_interface:
-			{
-				interfaceDefinition(mods_AST);
-				if (inputState.guessing==0) {
-					id_AST = (AST)returnAST;
-				}
-				if ( inputState.guessing==0 ) {
-					field_AST = (AST)currentAST.root;
-					field_AST = id_AST;
-					currentAST.root = field_AST;
-					currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-						field_AST.getFirstChild() : field_AST;
-					currentAST.advanceChildToEnd();
-				}
-				break;
-			}
-			default:
-				if ((LA(1)==IDENT) && (LA(2)==LPAREN)) {
-					ctorHead();
-					if (inputState.guessing==0) {
-						h_AST = (AST)returnAST;
-					}
-					constructorBody();
-					if (inputState.guessing==0) {
-						s_AST = (AST)returnAST;
-					}
-					if ( inputState.guessing==0 ) {
-						field_AST = (AST)currentAST.root;
-						field_AST = (AST)astFactory.make( (new ASTArray(4)).add((AST)astFactory.create(CTOR_DEF,"CTOR_DEF")).add(mods_AST).add(h_AST).add(s_AST));
-						currentAST.root = field_AST;
-						currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-							field_AST.getFirstChild() : field_AST;
-						currentAST.advanceChildToEnd();
-					}
-				}
-				else if ((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2)))) {
-					{
-					switch ( LA(1)) {
-					case LT:
-					{
-						typeParameters();
-						break;
-					}
-					case IDENT:
-					case LITERAL_void:
-					case LITERAL_boolean:
-					case LITERAL_byte:
-					case LITERAL_char:
-					case LITERAL_short:
-					case LITERAL_int:
-					case LITERAL_float:
-					case LITERAL_long:
-					case LITERAL_double:
-					{
-						break;
-					}
-					default:
-					{
-						throw new NoViableAltException(LT(1), getFilename());
-					}
-					}
-					}
-					type=typeSpec(false);
-					if (inputState.guessing==0) {
-						t_AST = (AST)returnAST;
-					}
-					{
-					if ((LA(1)==IDENT) && (LA(2)==LPAREN)) {
-						method = LT(1);
-						if (inputState.guessing==0) {
-							method_AST = (AST)astFactory.create(method);
-						}
-						match(IDENT);
-						if ( inputState.guessing==0 ) {
-							defineMethod((JavaToken)method, type);
-						}
-						AST tmp42_AST = null;
-						tmp42_AST = (AST)astFactory.create(LT(1));
-						match(LPAREN);
-						parameterDeclarationList();
-						if (inputState.guessing==0) {
-							param_AST = (AST)returnAST;
-						}
-						AST tmp43_AST = null;
-						tmp43_AST = (AST)astFactory.create(LT(1));
-						match(RPAREN);
-						declaratorBrackets(t_AST);
-						if (inputState.guessing==0) {
-							rt_AST = (AST)returnAST;
-						}
-						{
-						switch ( LA(1)) {
-						case LITERAL_throws:
-						{
-							exceptions=throwsClause();
-							if (inputState.guessing==0) {
-								tc_AST = (AST)returnAST;
-							}
-							break;
-						}
-						case SEMI:
-						case LCURLY:
-						{
-							break;
-						}
-						default:
-						{
-							throw new NoViableAltException(LT(1), getFilename());
-						}
-						}
-						}
-						if ( inputState.guessing==0 ) {
-							endMethodHead(exceptions);
-						}
-						{
-						switch ( LA(1)) {
-						case LCURLY:
-						{
-							compoundStatement(BODY);
-							if (inputState.guessing==0) {
-								s2_AST = (AST)returnAST;
-							}
-							break;
-						}
-						case SEMI:
-						{
-							AST tmp44_AST = null;
-							if (inputState.guessing==0) {
-								tmp44_AST = (AST)astFactory.create(LT(1));
-							}
-							match(SEMI);
-							if ( inputState.guessing==0 ) {
-								popScope();
-							}
-							break;
-						}
-						default:
-						{
-							throw new NoViableAltException(LT(1), getFilename());
-						}
-						}
-						}
-						if ( inputState.guessing==0 ) {
-							field_AST = (AST)currentAST.root;
-							field_AST = (AST)astFactory.make( (new ASTArray(7)).add((AST)astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add((AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(method_AST).add(param_AST).add(tc_AST).add(s2_AST));
-							currentAST.root = field_AST;
-							currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-								field_AST.getFirstChild() : field_AST;
-							currentAST.advanceChildToEnd();
-						}
-					}
-					else if ((LA(1)==IDENT) && (_tokenSet_12.member(LA(2)))) {
-						variableDefinitions(mods_AST,t_AST,type);
-						if (inputState.guessing==0) {
-							v_AST = (AST)returnAST;
-						}
-						AST tmp45_AST = null;
-						if (inputState.guessing==0) {
-							tmp45_AST = (AST)astFactory.create(LT(1));
-						}
-						match(SEMI);
-						if ( inputState.guessing==0 ) {
-							field_AST = (AST)currentAST.root;
-							field_AST = v_AST;
-							currentAST.root = field_AST;
-							currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-								field_AST.getFirstChild() : field_AST;
-							currentAST.advanceChildToEnd();
-						}
-					}
-					else {
-						throw new NoViableAltException(LT(1), getFilename());
-					}
-					
-					}
-				}
-			else {
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-		}
-		else if ((LA(1)==LITERAL_static) && (LA(2)==LCURLY)) {
-			AST tmp46_AST = null;
-			if (inputState.guessing==0) {
-				tmp46_AST = (AST)astFactory.create(LT(1));
-			}
-			match(LITERAL_static);
-			compoundStatement(CLASS_INIT);
-			if (inputState.guessing==0) {
-				s3_AST = (AST)returnAST;
-			}
-			if ( inputState.guessing==0 ) {
-				field_AST = (AST)currentAST.root;
-				field_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(STATIC_INIT,"STATIC_INIT")).add(s3_AST));
-				currentAST.root = field_AST;
-				currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-					field_AST.getFirstChild() : field_AST;
-				currentAST.advanceChildToEnd();
-			}
-		}
-		else if ((LA(1)==LCURLY)) {
-			compoundStatement(INSTANCE_INIT);
-			if (inputState.guessing==0) {
-				s4_AST = (AST)returnAST;
-			}
-			if ( inputState.guessing==0 ) {
-				field_AST = (AST)currentAST.root;
-				field_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(INSTANCE_INIT,"INSTANCE_INIT")).add(s4_AST));
-				currentAST.root = field_AST;
-				currentAST.child = field_AST!=null &&field_AST.getFirstChild()!=null ?
-					field_AST.getFirstChild() : field_AST;
-				currentAST.advanceChildToEnd();
-			}
-		}
-		else {
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		
-		returnAST = field_AST;
-	}
-	
-	public final void ctorHead() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST ctorHead_AST = null;
-		Token  method = null;
-		AST method_AST = null;
-		JavaToken id; JavaVector exceptions = null;
-		
-		method = LT(1);
-		if (inputState.guessing==0) {
-			method_AST = (AST)astFactory.create(method);
-			astFactory.addASTChild(currentAST, method_AST);
-		}
-		match(IDENT);
-		if ( inputState.guessing==0 ) {
-			defineMethod((JavaToken)method, null);
-		}
-		AST tmp47_AST = null;
-		tmp47_AST = (AST)astFactory.create(LT(1));
-		match(LPAREN);
-		parameterDeclarationList();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		AST tmp48_AST = null;
-		tmp48_AST = (AST)astFactory.create(LT(1));
-		match(RPAREN);
-		{
-		switch ( LA(1)) {
-		case LITERAL_throws:
-		{
-			exceptions=throwsClause();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			break;
-		}
-		case LCURLY:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if ( inputState.guessing==0 ) {
-			endMethodHead(exceptions);
-		}
-		ctorHead_AST = (AST)currentAST.root;
-		returnAST = ctorHead_AST;
-	}
-	
-	public final void constructorBody() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST constructorBody_AST = null;
-		Token  lc = null;
-		AST lc_AST = null;
-		
-		lc = LT(1);
-		if (inputState.guessing==0) {
-			lc_AST = (AST)astFactory.create(lc);
-			astFactory.makeASTRoot(currentAST, lc_AST);
-		}
-		match(LCURLY);
-		if ( inputState.guessing==0 ) {
-			lc_AST.setType(SLIST);
-		}
-		{
-		if ((LA(1)==LITERAL_this||LA(1)==LITERAL_super) && (LA(2)==LPAREN)) {
-			explicitConstructorInvocation();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-		}
-		else if ((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
-		}
-		else {
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		
-		}
-		{
-		_loop75:
-		do {
-			if ((_tokenSet_15.member(LA(1)))) {
-				statement();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop75;
-			}
-			
-		} while (true);
-		}
-		if ( inputState.guessing==0 ) {
-			popScope();
-		}
-		AST tmp49_AST = null;
-		tmp49_AST = (AST)astFactory.create(LT(1));
-		match(RCURLY);
-		constructorBody_AST = (AST)currentAST.root;
-		returnAST = constructorBody_AST;
-	}
-	
-	public final void parameterDeclarationList() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST parameterDeclarationList_AST = null;
-		
-		{
-		switch ( LA(1)) {
-		case FINAL:
-		case IDENT:
-		case LITERAL_void:
-		case LITERAL_boolean:
-		case LITERAL_byte:
-		case LITERAL_char:
-		case LITERAL_short:
-		case LITERAL_int:
-		case LITERAL_float:
-		case LITERAL_long:
-		case LITERAL_double:
-		{
-			parameterDeclaration();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			{
-			_loop100:
-			do {
-				if ((LA(1)==COMMA)) {
-					AST tmp50_AST = null;
-					tmp50_AST = (AST)astFactory.create(LT(1));
-					match(COMMA);
-					parameterDeclaration();
-					if (inputState.guessing==0) {
-						astFactory.addASTChild(currentAST, returnAST);
-					}
-				}
-				else {
-					break _loop100;
-				}
-				
-			} while (true);
-			}
-			break;
-		}
-		case RPAREN:
-		{
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		}
-		if ( inputState.guessing==0 ) {
-			parameterDeclarationList_AST = (AST)currentAST.root;
-			parameterDeclarationList_AST = (AST)astFactory.make( (new ASTArray(2)).add((AST)astFactory.create(PARAMETERS,"PARAMETERS")).add(parameterDeclarationList_AST));
-			currentAST.root = parameterDeclarationList_AST;
-			currentAST.child = parameterDeclarationList_AST!=null &&parameterDeclarationList_AST.getFirstChild()!=null ?
-				parameterDeclarationList_AST.getFirstChild() : parameterDeclarationList_AST;
-			currentAST.advanceChildToEnd();
-		}
-		parameterDeclarationList_AST = (AST)currentAST.root;
-		returnAST = parameterDeclarationList_AST;
-	}
-	
-	public final void declaratorBrackets(
-		AST typ
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST declaratorBrackets_AST = null;
-		Token  lb = null;
-		AST lb_AST = null;
-		
-		if ( inputState.guessing==0 ) {
-			declaratorBrackets_AST = (AST)currentAST.root;
-			declaratorBrackets_AST=typ;
-			currentAST.root = declaratorBrackets_AST;
-			currentAST.child = declaratorBrackets_AST!=null &&declaratorBrackets_AST.getFirstChild()!=null ?
-				declaratorBrackets_AST.getFirstChild() : declaratorBrackets_AST;
-			currentAST.advanceChildToEnd();
-		}
-		{
-		_loop83:
-		do {
-			if ((LA(1)==LBRACK)) {
-				lb = LT(1);
-				if (inputState.guessing==0) {
-					lb_AST = (AST)astFactory.create(lb);
-					astFactory.makeASTRoot(currentAST, lb_AST);
-				}
-				match(LBRACK);
-				if ( inputState.guessing==0 ) {
-					lb_AST.setType(ARRAY_DECLARATOR);
-				}
-				AST tmp51_AST = null;
-				tmp51_AST = (AST)astFactory.create(LT(1));
-				match(RBRACK);
-			}
-			else {
-				break _loop83;
-			}
-			
-		} while (true);
-		}
-		declaratorBrackets_AST = (AST)currentAST.root;
-		returnAST = declaratorBrackets_AST;
-	}
-	
-	public final JavaVector  throwsClause() throws RecognitionException, TokenStreamException {
-		JavaVector exceptions;
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST throwsClause_AST = null;
-		JavaToken id; exceptions = new JavaVector();
-		
-		AST tmp52_AST = null;
-		if (inputState.guessing==0) {
-			tmp52_AST = (AST)astFactory.create(LT(1));
-			astFactory.makeASTRoot(currentAST, tmp52_AST);
-		}
-		match(LITERAL_throws);
-		id=identifier();
-		if (inputState.guessing==0) {
-			astFactory.addASTChild(currentAST, returnAST);
-		}
-		if ( inputState.guessing==0 ) {
-			exceptions.addElement(dummyClass(id));
-		}
-		{
-		_loop96:
-		do {
-			if ((LA(1)==COMMA)) {
-				AST tmp53_AST = null;
-				tmp53_AST = (AST)astFactory.create(LT(1));
-				match(COMMA);
-				id=identifier();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-				if ( inputState.guessing==0 ) {
-					exceptions.addElement(dummyClass(id));
-				}
-			}
-			else {
-				break _loop96;
-			}
-			
-		} while (true);
-		}
-		throwsClause_AST = (AST)currentAST.root;
-		returnAST = throwsClause_AST;
-		return exceptions;
-	}
-	
-	public final void compoundStatement(
-		int scopeType
-	) throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST compoundStatement_AST = null;
-		Token  lc = null;
-		AST lc_AST = null;
-		
-		lc = LT(1);
-		if (inputState.guessing==0) {
-			lc_AST = (AST)astFactory.create(lc);
-			astFactory.makeASTRoot(currentAST, lc_AST);
-		}
-		match(LCURLY);
-		if ( inputState.guessing==0 ) {
-			lc_AST.setType(SLIST);
-		}
-		if ( inputState.guessing==0 ) {
-			// based on the scopeType we are processing
-			switch(scopeType) {
-			// if it's a new block, tell the symbol table
-			case NEW_SCOPE:
-			defineBlock((JavaToken)lc);
-			break;
-			
-			// if it's a class initializer or instance initializer,
-			//   treat it like a method with a special name
-			case CLASS_INIT:
-			lc.setText("~class-init~");
-			defineMethod(null, (JavaToken)lc);
-			endMethodHead(null);
-			break;
-			case INSTANCE_INIT:
-			lc.setText("~instance-init~");
-			defineMethod(null, (JavaToken)lc);
-			endMethodHead(null);
-			break;
-			
-			// otherwise, it's a body, so do nothing special
-			}
-			
-		}
-		{
-		_loop106:
-		do {
-			if ((_tokenSet_15.member(LA(1)))) {
-				statement();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else {
-				break _loop106;
-			}
-			
-		} while (true);
-		}
-		if ( inputState.guessing==0 ) {
-			popScope();
-		}
-		AST tmp54_AST = null;
-		tmp54_AST = (AST)astFactory.create(LT(1));
-		match(RCURLY);
-		compoundStatement_AST = (AST)currentAST.root;
-		returnAST = compoundStatement_AST;
-	}
-	
-/** Catch obvious constructor calls, but not the expr.super(...) calls */
-	public final void explicitConstructorInvocation() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST explicitConstructorInvocation_AST = null;
-		Token  lp1 = null;
-		AST lp1_AST = null;
-		Token  lp2 = null;
-		AST lp2_AST = null;
-		
-		switch ( LA(1)) {
-		case LITERAL_this:
-		{
-			AST tmp55_AST = null;
-			tmp55_AST = (AST)astFactory.create(LT(1));
-			match(LITERAL_this);
-			lp1 = LT(1);
-			if (inputState.guessing==0) {
-				lp1_AST = (AST)astFactory.create(lp1);
-				astFactory.makeASTRoot(currentAST, lp1_AST);
-			}
-			match(LPAREN);
-			argList();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp56_AST = null;
-			tmp56_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			AST tmp57_AST = null;
-			tmp57_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			if ( inputState.guessing==0 ) {
-				lp1_AST.setType(CTOR_CALL);
-			}
-			explicitConstructorInvocation_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_super:
-		{
-			AST tmp58_AST = null;
-			tmp58_AST = (AST)astFactory.create(LT(1));
-			match(LITERAL_super);
-			lp2 = LT(1);
-			if (inputState.guessing==0) {
-				lp2_AST = (AST)astFactory.create(lp2);
-				astFactory.makeASTRoot(currentAST, lp2_AST);
-			}
-			match(LPAREN);
-			argList();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp59_AST = null;
-			tmp59_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			AST tmp60_AST = null;
-			tmp60_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			if ( inputState.guessing==0 ) {
-				lp2_AST.setType(SUPER_CTOR_CALL);
-			}
-			explicitConstructorInvocation_AST = (AST)currentAST.root;
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltException(LT(1), getFilename());
-		}
-		}
-		returnAST = explicitConstructorInvocation_AST;
-	}
-	
-	public final void statement() throws RecognitionException, TokenStreamException {
-		
-		returnAST = null;
-		ASTPair currentAST = new ASTPair();
-		AST statement_AST = null;
-		AST m_AST = null;
-		Token  id = null;
-		AST id_AST = null;
-		Token  c = null;
-		AST c_AST = null;
-		Token  bid = null;
-		AST bid_AST = null;
-		Token  cid = null;
-		AST cid_AST = null;
-		Token  s = null;
-		AST s_AST = null;
-		int count = -1;
-		
-		switch ( LA(1)) {
-		case LCURLY:
-		{
-			compoundStatement(NEW_SCOPE);
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			statement_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_if:
-		{
-			AST tmp61_AST = null;
-			if (inputState.guessing==0) {
-				tmp61_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp61_AST);
-			}
-			match(LITERAL_if);
-			AST tmp62_AST = null;
-			tmp62_AST = (AST)astFactory.create(LT(1));
-			match(LPAREN);
-			expression();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp63_AST = null;
-			tmp63_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			statement();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			{
-			if ((LA(1)==LITERAL_else) && (_tokenSet_15.member(LA(2)))) {
-				AST tmp64_AST = null;
-				tmp64_AST = (AST)astFactory.create(LT(1));
-				match(LITERAL_else);
-				statement();
-				if (inputState.guessing==0) {
-					astFactory.addASTChild(currentAST, returnAST);
-				}
-			}
-			else if ((_tokenSet_16.member(LA(1))) && (_tokenSet_17.member(LA(2)))) {
-			}
-			else {
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			
-			}
-			statement_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_for:
-		{
-			AST tmp65_AST = null;
-			if (inputState.guessing==0) {
-				tmp65_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp65_AST);
-			}
-			match(LITERAL_for);
-			AST tmp66_AST = null;
-			tmp66_AST = (AST)astFactory.create(LT(1));
-			match(LPAREN);
-			forInit();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp67_AST = null;
-			tmp67_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			forCond();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp68_AST = null;
-			tmp68_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			forIter();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp69_AST = null;
-			tmp69_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			statement();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			statement_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_while:
-		{
-			AST tmp70_AST = null;
-			if (inputState.guessing==0) {
-				tmp70_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp70_AST);
-			}
-			match(LITERAL_while);
-			AST tmp71_AST = null;
-			tmp71_AST = (AST)astFactory.create(LT(1));
-			match(LPAREN);
-			expression();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp72_AST = null;
-			tmp72_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			statement();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			statement_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_do:
-		{
-			AST tmp73_AST = null;
-			if (inputState.guessing==0) {
-				tmp73_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp73_AST);
-			}
-			match(LITERAL_do);
-			statement();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp74_AST = null;
-			tmp74_AST = (AST)astFactory.create(LT(1));
-			match(LITERAL_while);
-			AST tmp75_AST = null;
-			tmp75_AST = (AST)astFactory.create(LT(1));
-			match(LPAREN);
-			expression();
-			if (inputState.guessing==0) {
-				astFactory.addASTChild(currentAST, returnAST);
-			}
-			AST tmp76_AST = null;
-			tmp76_AST = (AST)astFactory.create(LT(1));
-			match(RPAREN);
-			AST tmp77_AST = null;
-			tmp77_AST = (AST)astFactory.create(LT(1));
-			match(SEMI);
-			statement_AST = (AST)currentAST.root;
-			break;
-		}
-		case LITERAL_break:
-		{
-			AST tmp78_AST = null;
-			if (inputState.guessing==0) {
-				tmp78_AST = (AST)astFactory.create(LT(1));
-				astFactory.makeASTRoot(currentAST, tmp78_AST);
-			}
-			match(LITERAL_break);
-			{
-			switch ( LA(1)) {
-			case IDENT:
-			{
-				bid = LT(1);
-				if (inputState.guessing==0) {
-					bid_AST = (AST)astFactory.create(bid);
-					astFactory.addASTChild(currentAST, bid_AST);
-				}
-				match(IDENT);
-				if ( inputState.guessing==0 ) {

[... 9622 lines stripped ...]