Source Code Cross Referenced for JavaParser.java in  » Rule-Engine » drolls-Rule-Engine » org » drools » rule » builder » dialect » java » parser » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Rule Engine » drolls Rule Engine » org.drools.rule.builder.dialect.java.parser 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


00001:        // $ANTLR 3.0 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-07-15 10:51:13
00002:
00003:        package org.drools.rule.builder.dialect.java.parser;
00004:
00005:        import java.util.Iterator;
00006:
00007:        import org.antlr.runtime.*;
00008:        import java.util.Stack;
00009:        import java.util.List;
00010:        import java.util.ArrayList;
00011:        import java.util.Map;
00012:        import java.util.HashMap;
00013:
00014:        /** A Java 1.5 grammar for ANTLR v3 derived from the spec
00015:         *
00016:         *  This is a very close representation of the spec; the changes
00017:         *  are comestic (remove left recursion) and also fixes (the spec
00018:         *  isn't exactly perfect).  I have run this on the 1.4.2 source
00019:         *  and some nasty looking enums from 1.5, but have not really
00020:         *  tested for 1.5 compatibility.
00021:         *
00022:         *  I built this with: java -Xmx100M org.antlr.Tool java.g 
00023:         *  and got two errors that are ok (for now):
00024:         *  java.g:691:9: Decision can match input such as
00025:         *    "'0'..'9'{'E', 'e'}{'+', '-'}'0'..'9'{'D', 'F', 'd', 'f'}"
00026:         *    using multiple alternatives: 3, 4
00027:         *  As a result, alternative(s) 4 were disabled for that input
00028:         *  java.g:734:35: Decision can match input such as "{'$', 'A'..'Z',
00029:         *    '_', 'a'..'z', '\u00C0'..'\u00D6', '\u00D8'..'\u00F6',
00030:         *    '\u00F8'..'\u1FFF', '\u3040'..'\u318F', '\u3300'..'\u337F',
00031:         *    '\u3400'..'\u3D2D', '\u4E00'..'\u9FFF', '\uF900'..'\uFAFF'}"
00032:         *    using multiple alternatives: 1, 2
00033:         *  As a result, alternative(s) 2 were disabled for that input
00034:         *
00035:         *  You can turn enum on/off as a keyword :)
00036:         *
00037:         *  Version 1.0 -- initial release July 5, 2006 (requires 3.0b2 or higher)
00038:         *
00039:         *  Primary author: Terence Parr, July 2006
00040:         *
00041:         *  Version 1.0.1 -- corrections by Koen Vanderkimpen & Marko van Dooren,
00042:         *      October 25, 2006;
00043:         *      fixed normalInterfaceDeclaration: now uses typeParameters instead
00044:         *          of typeParameter (according to JLS, 3rd edition)
00045:         *      fixed castExpression: no longer allows expression next to type
00046:         *          (according to semantics in JLS, in contrast with syntax in JLS)
00047:         *
00048:         *  Version 1.0.2 -- Terence Parr, Nov 27, 2006
00049:         *      java spec I built this from had some bizarre for-loop control.
00050:         *          Looked weird and so I looked elsewhere...Yep, it's messed up.
00051:         *          simplified.
00052:         *
00053:         *  Version 1.0.3 -- Chris Hogue, Feb 26, 2007
00054:         *      Factored out an annotationName rule and used it in the annotation rule.
00055:         *          Not sure why, but typeName wasn't recognizing references to inner
00056:         *          annotations (e.g. @InterfaceName.InnerAnnotation())
00057:         *      Factored out the elementValue section of an annotation reference.  Created 
00058:         *          elementValuePair and elementValuePairs rules, then used them in the 
00059:         *          annotation rule.  Allows it to recognize annotation references with 
00060:         *          multiple, comma separated attributes.
00061:         *      Updated elementValueArrayInitializer so that it allows multiple elements.
00062:         *          (It was only allowing 0 or 1 element).
00063:         *      Updated localVariableDeclaration to allow annotations.  Interestingly the JLS
00064:         *          doesn't appear to indicate this is legal, but it does work as of at least
00065:         *          JDK 1.5.0_06.
00066:         *      Moved the Identifier portion of annotationTypeElementRest to annotationMethodRest.
00067:         *          Because annotationConstantRest already references variableDeclarator which 
00068:         *          has the Identifier portion in it, the parser would fail on constants in 
00069:         *          annotation definitions because it expected two identifiers.  
00070:         *      Added optional trailing ';' to the alternatives in annotationTypeElementRest.
00071:         *          Wouldn't handle an inner interface that has a trailing ';'.
00072:         *      Swapped the expression and type rule reference order in castExpression to 
00073:         *          make it check for genericized casts first.  It was failing to recognize a
00074:         *          statement like  "Class<Byte> TYPE = (Class<Byte>)...;" because it was seeing
00075:         *          'Class<Byte' in the cast expression as a less than expression, then failing 
00076:         *          on the '>'.
00077:         *      Changed createdName to use typeArguments instead of nonWildcardTypeArguments.
00078:         *          Again, JLS doesn't seem to allow this, but java.lang.Class has an example of
00079:         *          of this construct.
00080:         *      Changed the 'this' alternative in primary to allow 'identifierSuffix' rather than
00081:         *          just 'arguments'.  The case it couldn't handle was a call to an explicit
00082:         *          generic method invocation (e.g. this.<E>doSomething()).  Using identifierSuffix
00083:         *          may be overly aggressive--perhaps should create a more constrained thisSuffix rule?
00084:         * 		
00085:         *  Version 1.0.4 -- Hiroaki Nakamura, May 3, 2007
00086:         *
00087:         *	Fixed formalParameterDecls, localVariableDeclaration, forInit,
00088:         *	and forVarControl to use variableModifier* not 'final'? (annotation)?
00089:         */
00090:        public class JavaParser extends Parser {
00091:            public static final String[] tokenNames = new String[] {
00092:                    "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Identifier",
00093:                    "ENUM", "FloatingPointLiteral", "CharacterLiteral",
00094:                    "StringLiteral", "HexLiteral", "OctalLiteral",
00095:                    "DecimalLiteral", "HexDigit", "IntegerTypeSuffix",
00096:                    "Exponent", "FloatTypeSuffix", "EscapeSequence",
00097:                    "UnicodeEscape", "OctalEscape", "Letter", "JavaIDDigit",
00098:                    "WS", "COMMENT", "LINE_COMMENT", "'package'", "';'",
00099:                    "'import'", "'static'", "'.'", "'*'", "'class'",
00100:                    "'extends'", "'implements'", "'<'", "','", "'>'", "'&'",
00101:                    "'{'", "'}'", "'interface'", "'void'", "'['", "']'",
00102:                    "'throws'", "'='", "'public'", "'protected'", "'private'",
00103:                    "'abstract'", "'final'", "'native'", "'synchronized'",
00104:                    "'transient'", "'volatile'", "'strictfp'", "'boolean'",
00105:                    "'char'", "'byte'", "'short'", "'int'", "'long'",
00106:                    "'float'", "'double'", "'?'", "'super'", "'('", "')'",
00107:                    "'...'", "'null'", "'true'", "'false'", "'@'", "'default'",
00108:                    "'assert'", "':'", "'if'", "'else'", "'for'", "'while'",
00109:                    "'do'", "'try'", "'finally'", "'switch'", "'return'",
00110:                    "'throw'", "'break'", "'continue'", "'catch'", "'case'",
00111:                    "'+='", "'-='", "'*='", "'/='", "'&='", "'|='", "'^='",
00112:                    "'%='", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='",
00113:                    "'instanceof'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'",
00114:                    "'~'", "'!'", "'this'", "'new'" };
00115:            public static final int Exponent = 14;
00116:            public static final int OctalLiteral = 10;
00117:            public static final int IntegerTypeSuffix = 13;
00118:            public static final int Identifier = 4;
00119:            public static final int HexDigit = 12;
00120:            public static final int WS = 21;
00121:            public static final int CharacterLiteral = 7;
00122:            public static final int COMMENT = 22;
00123:            public static final int StringLiteral = 8;
00124:            public static final int LINE_COMMENT = 23;
00125:            public static final int JavaIDDigit = 20;
00126:            public static final int Letter = 19;
00127:            public static final int UnicodeEscape = 17;
00128:            public static final int HexLiteral = 9;
00129:            public static final int EscapeSequence = 16;
00130:            public static final int EOF = -1;
00131:            public static final int DecimalLiteral = 11;
00132:            public static final int OctalEscape = 18;
00133:            public static final int FloatingPointLiteral = 6;
00134:            public static final int FloatTypeSuffix = 15;
00135:            public static final int ENUM = 5;
00136:
00137:            public JavaParser(TokenStream input) {
00138:                super (input);
00139:                ruleMemo = new HashMap[403 + 1];
00140:            }
00141:
00142:            public String[] getTokenNames() {
00143:                return tokenNames;
00144:            }
00145:
00146:            public String getGrammarFileName() {
00147:                return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g";
00148:            }
00149:
00150:            private List identifiers = new ArrayList();
00151:
00152:            public List getIdentifiers() {
00153:                return identifiers;
00154:            }
00155:
00156:            private List localDeclarations = new ArrayList();
00157:
00158:            public List getLocalDeclarations() {
00159:                return localDeclarations;
00160:            }
00161:
00162:            public static final CommonToken IGNORE_TOKEN = new CommonToken(
00163:                    null, 0, 99, 0, 0);
00164:            private List errors = new ArrayList();
00165:            private int localVariableLevel = 0;
00166:
00167:            private String source = "unknown";
00168:
00169:            public void setSource(String source) {
00170:                this .source = source;
00171:            }
00172:
00173:            public String getSource() {
00174:                return this .source;
00175:            }
00176:
00177:            public void reportError(RecognitionException ex) {
00178:                // if we've already reported an error and have not matched a token
00179:                // yet successfully, don't report any errors.
00180:                if (errorRecovery) {
00181:                    //System.err.print("[SPURIOUS] ");
00182:                    return;
00183:                }
00184:                errorRecovery = true;
00185:
00186:                errors.add(ex);
00187:            }
00188:
00189:            /** return the raw RecognitionException errors */
00190:            public List getErrors() {
00191:                return errors;
00192:            }
00193:
00194:            /** Return a list of pretty strings summarising the errors */
00195:            public List getErrorMessages() {
00196:                List messages = new ArrayList();
00197:                for (Iterator errorIter = errors.iterator(); errorIter
00198:                        .hasNext();) {
00199:                    messages
00200:                            .add(createErrorMessage((RecognitionException) errorIter
00201:                                    .next()));
00202:                }
00203:                return messages;
00204:            }
00205:
00206:            /** return true if any parser errors were accumulated */
00207:            public boolean hasErrors() {
00208:                return !errors.isEmpty();
00209:            }
00210:
00211:            /** This will take a RecognitionException, and create a sensible error message out of it */
00212:            public String createErrorMessage(RecognitionException e) {
00213:                StringBuffer message = new StringBuffer();
00214:                message.append(source + ":" + e.line + ":"
00215:                        + e.charPositionInLine + " ");
00216:                if (e instanceof  MismatchedTokenException) {
00217:                    MismatchedTokenException mte = (MismatchedTokenException) e;
00218:                    message.append("mismatched token: " + e.token
00219:                            + "; expecting type " + tokenNames[mte.expecting]);
00220:                } else if (e instanceof  MismatchedTreeNodeException) {
00221:                    MismatchedTreeNodeException mtne = (MismatchedTreeNodeException) e;
00222:                    message.append("mismatched tree node: " + mtne.node
00223:                            + "; expecting type " + tokenNames[mtne.expecting]);
00224:                } else if (e instanceof  NoViableAltException) {
00225:                    NoViableAltException nvae = (NoViableAltException) e;
00226:                    message.append("Unexpected token '" + e.token.getText()
00227:                            + "'");
00228:                    /*
00229:                    message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
00230:                                                       " state "+nvae.stateNumber+
00231:                                                       " (decision="+nvae.decisionNumber+
00232:                                                       ") no viable alt; token="+
00233:                                                       e.token);
00234:                     */
00235:                } else if (e instanceof  EarlyExitException) {
00236:                    EarlyExitException eee = (EarlyExitException) e;
00237:                    message.append("required (...)+ loop (decision="
00238:                            + eee.decisionNumber
00239:                            + ") did not match anything; token=" + e.token);
00240:                } else if (e instanceof  MismatchedSetException) {
00241:                    MismatchedSetException mse = (MismatchedSetException) e;
00242:                    message.append("mismatched token '" + e.token
00243:                            + "' expecting set " + mse.expecting);
00244:                } else if (e instanceof  MismatchedNotSetException) {
00245:                    MismatchedNotSetException mse = (MismatchedNotSetException) e;
00246:                    message.append("mismatched token '" + e.token
00247:                            + "' expecting set " + mse.expecting);
00248:                } else if (e instanceof  FailedPredicateException) {
00249:                    FailedPredicateException fpe = (FailedPredicateException) e;
00250:                    message
00251:                            .append("rule " + fpe.ruleName
00252:                                    + " failed predicate: {"
00253:                                    + fpe.predicateText + "}?");
00254:                }
00255:                return message.toString();
00256:            }
00257:
00258:            // $ANTLR start compilationUnit
00259:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:204:1: compilationUnit : ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* ;
00260:            public final void compilationUnit() throws RecognitionException {
00261:                int compilationUnit_StartIndex = input.index();
00262:                try {
00263:                    if (backtracking > 0 && alreadyParsedRule(input, 1)) {
00264:                        return;
00265:                    }
00266:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* )
00267:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )*
00268:                    {
00269:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )?
00270:                        int alt1 = 2;
00271:                        int LA1_0 = input.LA(1);
00272:
00273:                        if ((LA1_0 == 71)) {
00274:                            int LA1_1 = input.LA(2);
00275:
00276:                            if ((LA1_1 == Identifier)) {
00277:                                int LA1_21 = input.LA(3);
00278:
00279:                                if ((synpred1())) {
00280:                                    alt1 = 1;
00281:                                }
00282:                            }
00283:                        }
00284:                        switch (alt1) {
00285:                        case 1:
00286:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: annotations
00287:                        {
00288:                            pushFollow(FOLLOW_annotations_in_compilationUnit70);
00289:                            annotations();
00290:                            _fsp--;
00291:                            if (failed)
00292:                                return;
00293:
00294:                        }
00295:                            break;
00296:
00297:                        }
00298:
00299:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:206:3: ( packageDeclaration )?
00300:                        int alt2 = 2;
00301:                        int LA2_0 = input.LA(1);
00302:
00303:                        if ((LA2_0 == 24)) {
00304:                            alt2 = 1;
00305:                        }
00306:                        switch (alt2) {
00307:                        case 1:
00308:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: packageDeclaration
00309:                        {
00310:                            pushFollow(FOLLOW_packageDeclaration_in_compilationUnit75);
00311:                            packageDeclaration();
00312:                            _fsp--;
00313:                            if (failed)
00314:                                return;
00315:
00316:                        }
00317:                            break;
00318:
00319:                        }
00320:
00321:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:9: ( importDeclaration )*
00322:                        loop3: do {
00323:                            int alt3 = 2;
00324:                            int LA3_0 = input.LA(1);
00325:
00326:                            if ((LA3_0 == 26)) {
00327:                                alt3 = 1;
00328:                            }
00329:
00330:                            switch (alt3) {
00331:                            case 1:
00332:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: importDeclaration
00333:                            {
00334:                                pushFollow(FOLLOW_importDeclaration_in_compilationUnit86);
00335:                                importDeclaration();
00336:                                _fsp--;
00337:                                if (failed)
00338:                                    return;
00339:
00340:                            }
00341:                                break;
00342:
00343:                            default:
00344:                                break loop3;
00345:                            }
00346:                        } while (true);
00347:
00348:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:208:9: ( typeDeclaration )*
00349:                        loop4: do {
00350:                            int alt4 = 2;
00351:                            int LA4_0 = input.LA(1);
00352:
00353:                            if ((LA4_0 == ENUM || LA4_0 == 25 || LA4_0 == 27
00354:                                    || LA4_0 == 30 || LA4_0 == 39
00355:                                    || (LA4_0 >= 45 && LA4_0 <= 54) || LA4_0 == 71)) {
00356:                                alt4 = 1;
00357:                            }
00358:
00359:                            switch (alt4) {
00360:                            case 1:
00361:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeDeclaration
00362:                            {
00363:                                pushFollow(FOLLOW_typeDeclaration_in_compilationUnit97);
00364:                                typeDeclaration();
00365:                                _fsp--;
00366:                                if (failed)
00367:                                    return;
00368:
00369:                            }
00370:                                break;
00371:
00372:                            default:
00373:                                break loop4;
00374:                            }
00375:                        } while (true);
00376:
00377:                    }
00378:
00379:                } catch (RecognitionException re) {
00380:                    reportError(re);
00381:                    recover(input, re);
00382:                } finally {
00383:                    if (backtracking > 0) {
00384:                        memoize(input, 1, compilationUnit_StartIndex);
00385:                    }
00386:                }
00387:                return;
00388:            }
00389:
00390:            // $ANTLR end compilationUnit
00391:
00392:            // $ANTLR start packageDeclaration
00393:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:211:1: packageDeclaration : 'package' qualifiedName ';' ;
00394:            public final void packageDeclaration() throws RecognitionException {
00395:                int packageDeclaration_StartIndex = input.index();
00396:                try {
00397:                    if (backtracking > 0 && alreadyParsedRule(input, 2)) {
00398:                        return;
00399:                    }
00400:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:212:4: ( 'package' qualifiedName ';' )
00401:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:212:4: 'package' qualifiedName ';'
00402:                    {
00403:                        match(input, 24, FOLLOW_24_in_packageDeclaration109);
00404:                        if (failed)
00405:                            return;
00406:                        pushFollow(FOLLOW_qualifiedName_in_packageDeclaration111);
00407:                        qualifiedName();
00408:                        _fsp--;
00409:                        if (failed)
00410:                            return;
00411:                        match(input, 25, FOLLOW_25_in_packageDeclaration113);
00412:                        if (failed)
00413:                            return;
00414:
00415:                    }
00416:
00417:                } catch (RecognitionException re) {
00418:                    reportError(re);
00419:                    recover(input, re);
00420:                } finally {
00421:                    if (backtracking > 0) {
00422:                        memoize(input, 2, packageDeclaration_StartIndex);
00423:                    }
00424:                }
00425:                return;
00426:            }
00427:
00428:            // $ANTLR end packageDeclaration
00429:
00430:            // $ANTLR start importDeclaration
00431:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:215:1: importDeclaration : 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' ;
00432:            public final void importDeclaration() throws RecognitionException {
00433:                int importDeclaration_StartIndex = input.index();
00434:                try {
00435:                    if (backtracking > 0 && alreadyParsedRule(input, 3)) {
00436:                        return;
00437:                    }
00438:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:4: ( 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' )
00439:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:4: 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';'
00440:                    {
00441:                        match(input, 26, FOLLOW_26_in_importDeclaration125);
00442:                        if (failed)
00443:                            return;
00444:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:13: ( 'static' )?
00445:                        int alt5 = 2;
00446:                        int LA5_0 = input.LA(1);
00447:
00448:                        if ((LA5_0 == 27)) {
00449:                            alt5 = 1;
00450:                        }
00451:                        switch (alt5) {
00452:                        case 1:
00453:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: 'static'
00454:                        {
00455:                            match(input, 27, FOLLOW_27_in_importDeclaration127);
00456:                            if (failed)
00457:                                return;
00458:
00459:                        }
00460:                            break;
00461:
00462:                        }
00463:
00464:                        match(input, Identifier,
00465:                                FOLLOW_Identifier_in_importDeclaration130);
00466:                        if (failed)
00467:                            return;
00468:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:34: ( '.' Identifier )*
00469:                        loop6: do {
00470:                            int alt6 = 2;
00471:                            int LA6_0 = input.LA(1);
00472:
00473:                            if ((LA6_0 == 28)) {
00474:                                int LA6_1 = input.LA(2);
00475:
00476:                                if ((LA6_1 == Identifier)) {
00477:                                    alt6 = 1;
00478:                                }
00479:
00480:                            }
00481:
00482:                            switch (alt6) {
00483:                            case 1:
00484:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:35: '.' Identifier
00485:                            {
00486:                                match(input, 28,
00487:                                        FOLLOW_28_in_importDeclaration133);
00488:                                if (failed)
00489:                                    return;
00490:                                match(input, Identifier,
00491:                                        FOLLOW_Identifier_in_importDeclaration135);
00492:                                if (failed)
00493:                                    return;
00494:
00495:                            }
00496:                                break;
00497:
00498:                            default:
00499:                                break loop6;
00500:                            }
00501:                        } while (true);
00502:
00503:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:52: ( '.' '*' )?
00504:                        int alt7 = 2;
00505:                        int LA7_0 = input.LA(1);
00506:
00507:                        if ((LA7_0 == 28)) {
00508:                            alt7 = 1;
00509:                        }
00510:                        switch (alt7) {
00511:                        case 1:
00512:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:53: '.' '*'
00513:                        {
00514:                            match(input, 28, FOLLOW_28_in_importDeclaration140);
00515:                            if (failed)
00516:                                return;
00517:                            match(input, 29, FOLLOW_29_in_importDeclaration142);
00518:                            if (failed)
00519:                                return;
00520:
00521:                        }
00522:                            break;
00523:
00524:                        }
00525:
00526:                        match(input, 25, FOLLOW_25_in_importDeclaration146);
00527:                        if (failed)
00528:                            return;
00529:
00530:                    }
00531:
00532:                } catch (RecognitionException re) {
00533:                    reportError(re);
00534:                    recover(input, re);
00535:                } finally {
00536:                    if (backtracking > 0) {
00537:                        memoize(input, 3, importDeclaration_StartIndex);
00538:                    }
00539:                }
00540:                return;
00541:            }
00542:
00543:            // $ANTLR end importDeclaration
00544:
00545:            // $ANTLR start typeDeclaration
00546:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:219:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );
00547:            public final void typeDeclaration() throws RecognitionException {
00548:                int typeDeclaration_StartIndex = input.index();
00549:                try {
00550:                    if (backtracking > 0 && alreadyParsedRule(input, 4)) {
00551:                        return;
00552:                    }
00553:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:220:4: ( classOrInterfaceDeclaration | ';' )
00554:                    int alt8 = 2;
00555:                    int LA8_0 = input.LA(1);
00556:
00557:                    if ((LA8_0 == ENUM || LA8_0 == 27 || LA8_0 == 30
00558:                            || LA8_0 == 39 || (LA8_0 >= 45 && LA8_0 <= 54) || LA8_0 == 71)) {
00559:                        alt8 = 1;
00560:                    } else if ((LA8_0 == 25)) {
00561:                        alt8 = 2;
00562:                    } else {
00563:                        if (backtracking > 0) {
00564:                            failed = true;
00565:                            return;
00566:                        }
00567:                        NoViableAltException nvae = new NoViableAltException(
00568:                                "219:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );",
00569:                                8, 0, input);
00570:
00571:                        throw nvae;
00572:                    }
00573:                    switch (alt8) {
00574:                    case 1:
00575:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:220:4: classOrInterfaceDeclaration
00576:                    {
00577:                        pushFollow(FOLLOW_classOrInterfaceDeclaration_in_typeDeclaration158);
00578:                        classOrInterfaceDeclaration();
00579:                        _fsp--;
00580:                        if (failed)
00581:                            return;
00582:
00583:                    }
00584:                        break;
00585:                    case 2:
00586:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:221:9: ';'
00587:                    {
00588:                        match(input, 25, FOLLOW_25_in_typeDeclaration168);
00589:                        if (failed)
00590:                            return;
00591:
00592:                    }
00593:                        break;
00594:
00595:                    }
00596:                } catch (RecognitionException re) {
00597:                    reportError(re);
00598:                    recover(input, re);
00599:                } finally {
00600:                    if (backtracking > 0) {
00601:                        memoize(input, 4, typeDeclaration_StartIndex);
00602:                    }
00603:                }
00604:                return;
00605:            }
00606:
00607:            // $ANTLR end typeDeclaration
00608:
00609:            // $ANTLR start classOrInterfaceDeclaration
00610:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:224:1: classOrInterfaceDeclaration : ( modifier )* ( classDeclaration | interfaceDeclaration ) ;
00611:            public final void classOrInterfaceDeclaration()
00612:                    throws RecognitionException {
00613:                int classOrInterfaceDeclaration_StartIndex = input.index();
00614:                try {
00615:                    if (backtracking > 0 && alreadyParsedRule(input, 5)) {
00616:                        return;
00617:                    }
00618:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:4: ( ( modifier )* ( classDeclaration | interfaceDeclaration ) )
00619:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:4: ( modifier )* ( classDeclaration | interfaceDeclaration )
00620:                    {
00621:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:4: ( modifier )*
00622:                        loop9: do {
00623:                            int alt9 = 2;
00624:                            int LA9_0 = input.LA(1);
00625:
00626:                            if ((LA9_0 == 71)) {
00627:                                int LA9_4 = input.LA(2);
00628:
00629:                                if ((LA9_4 == Identifier)) {
00630:                                    alt9 = 1;
00631:                                }
00632:
00633:                            } else if ((LA9_0 == 27 || (LA9_0 >= 45 && LA9_0 <= 54))) {
00634:                                alt9 = 1;
00635:                            }
00636:
00637:                            switch (alt9) {
00638:                            case 1:
00639:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: modifier
00640:                            {
00641:                                pushFollow(FOLLOW_modifier_in_classOrInterfaceDeclaration180);
00642:                                modifier();
00643:                                _fsp--;
00644:                                if (failed)
00645:                                    return;
00646:
00647:                            }
00648:                                break;
00649:
00650:                            default:
00651:                                break loop9;
00652:                            }
00653:                        } while (true);
00654:
00655:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:14: ( classDeclaration | interfaceDeclaration )
00656:                        int alt10 = 2;
00657:                        int LA10_0 = input.LA(1);
00658:
00659:                        if ((LA10_0 == ENUM || LA10_0 == 30)) {
00660:                            alt10 = 1;
00661:                        } else if ((LA10_0 == 39 || LA10_0 == 71)) {
00662:                            alt10 = 2;
00663:                        } else {
00664:                            if (backtracking > 0) {
00665:                                failed = true;
00666:                                return;
00667:                            }
00668:                            NoViableAltException nvae = new NoViableAltException(
00669:                                    "225:14: ( classDeclaration | interfaceDeclaration )",
00670:                                    10, 0, input);
00671:
00672:                            throw nvae;
00673:                        }
00674:                        switch (alt10) {
00675:                        case 1:
00676:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:15: classDeclaration
00677:                        {
00678:                            pushFollow(FOLLOW_classDeclaration_in_classOrInterfaceDeclaration184);
00679:                            classDeclaration();
00680:                            _fsp--;
00681:                            if (failed)
00682:                                return;
00683:
00684:                        }
00685:                            break;
00686:                        case 2:
00687:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:34: interfaceDeclaration
00688:                        {
00689:                            pushFollow(FOLLOW_interfaceDeclaration_in_classOrInterfaceDeclaration188);
00690:                            interfaceDeclaration();
00691:                            _fsp--;
00692:                            if (failed)
00693:                                return;
00694:
00695:                        }
00696:                            break;
00697:
00698:                        }
00699:
00700:                    }
00701:
00702:                } catch (RecognitionException re) {
00703:                    reportError(re);
00704:                    recover(input, re);
00705:                } finally {
00706:                    if (backtracking > 0) {
00707:                        memoize(input, 5,
00708:                                classOrInterfaceDeclaration_StartIndex);
00709:                    }
00710:                }
00711:                return;
00712:            }
00713:
00714:            // $ANTLR end classOrInterfaceDeclaration
00715:
00716:            // $ANTLR start classDeclaration
00717:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:228:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );
00718:            public final void classDeclaration() throws RecognitionException {
00719:                int classDeclaration_StartIndex = input.index();
00720:                try {
00721:                    if (backtracking > 0 && alreadyParsedRule(input, 6)) {
00722:                        return;
00723:                    }
00724:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:229:4: ( normalClassDeclaration | enumDeclaration )
00725:                    int alt11 = 2;
00726:                    int LA11_0 = input.LA(1);
00727:
00728:                    if ((LA11_0 == 30)) {
00729:                        alt11 = 1;
00730:                    } else if ((LA11_0 == ENUM)) {
00731:                        alt11 = 2;
00732:                    } else {
00733:                        if (backtracking > 0) {
00734:                            failed = true;
00735:                            return;
00736:                        }
00737:                        NoViableAltException nvae = new NoViableAltException(
00738:                                "228:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );",
00739:                                11, 0, input);
00740:
00741:                        throw nvae;
00742:                    }
00743:                    switch (alt11) {
00744:                    case 1:
00745:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:229:4: normalClassDeclaration
00746:                    {
00747:                        pushFollow(FOLLOW_normalClassDeclaration_in_classDeclaration201);
00748:                        normalClassDeclaration();
00749:                        _fsp--;
00750:                        if (failed)
00751:                            return;
00752:
00753:                    }
00754:                        break;
00755:                    case 2:
00756:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:230:9: enumDeclaration
00757:                    {
00758:                        pushFollow(FOLLOW_enumDeclaration_in_classDeclaration211);
00759:                        enumDeclaration();
00760:                        _fsp--;
00761:                        if (failed)
00762:                            return;
00763:
00764:                    }
00765:                        break;
00766:
00767:                    }
00768:                } catch (RecognitionException re) {
00769:                    reportError(re);
00770:                    recover(input, re);
00771:                } finally {
00772:                    if (backtracking > 0) {
00773:                        memoize(input, 6, classDeclaration_StartIndex);
00774:                    }
00775:                }
00776:                return;
00777:            }
00778:
00779:            // $ANTLR end classDeclaration
00780:
00781:            // $ANTLR start normalClassDeclaration
00782:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:233:1: normalClassDeclaration : 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody ;
00783:            public final void normalClassDeclaration()
00784:                    throws RecognitionException {
00785:                int normalClassDeclaration_StartIndex = input.index();
00786:                try {
00787:                    if (backtracking > 0 && alreadyParsedRule(input, 7)) {
00788:                        return;
00789:                    }
00790:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:4: ( 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody )
00791:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:4: 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody
00792:                    {
00793:                        match(input, 30, FOLLOW_30_in_normalClassDeclaration223);
00794:                        if (failed)
00795:                            return;
00796:                        match(input, Identifier,
00797:                                FOLLOW_Identifier_in_normalClassDeclaration225);
00798:                        if (failed)
00799:                            return;
00800:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:23: ( typeParameters )?
00801:                        int alt12 = 2;
00802:                        int LA12_0 = input.LA(1);
00803:
00804:                        if ((LA12_0 == 33)) {
00805:                            alt12 = 1;
00806:                        }
00807:                        switch (alt12) {
00808:                        case 1:
00809:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:24: typeParameters
00810:                        {
00811:                            pushFollow(FOLLOW_typeParameters_in_normalClassDeclaration228);
00812:                            typeParameters();
00813:                            _fsp--;
00814:                            if (failed)
00815:                                return;
00816:
00817:                        }
00818:                            break;
00819:
00820:                        }
00821:
00822:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:235:9: ( 'extends' type )?
00823:                        int alt13 = 2;
00824:                        int LA13_0 = input.LA(1);
00825:
00826:                        if ((LA13_0 == 31)) {
00827:                            alt13 = 1;
00828:                        }
00829:                        switch (alt13) {
00830:                        case 1:
00831:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:235:10: 'extends' type
00832:                        {
00833:                            match(input, 31,
00834:                                    FOLLOW_31_in_normalClassDeclaration241);
00835:                            if (failed)
00836:                                return;
00837:                            pushFollow(FOLLOW_type_in_normalClassDeclaration243);
00838:                            type();
00839:                            _fsp--;
00840:                            if (failed)
00841:                                return;
00842:
00843:                        }
00844:                            break;
00845:
00846:                        }
00847:
00848:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:9: ( 'implements' typeList )?
00849:                        int alt14 = 2;
00850:                        int LA14_0 = input.LA(1);
00851:
00852:                        if ((LA14_0 == 32)) {
00853:                            alt14 = 1;
00854:                        }
00855:                        switch (alt14) {
00856:                        case 1:
00857:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:10: 'implements' typeList
00858:                        {
00859:                            match(input, 32,
00860:                                    FOLLOW_32_in_normalClassDeclaration256);
00861:                            if (failed)
00862:                                return;
00863:                            pushFollow(FOLLOW_typeList_in_normalClassDeclaration258);
00864:                            typeList();
00865:                            _fsp--;
00866:                            if (failed)
00867:                                return;
00868:
00869:                        }
00870:                            break;
00871:
00872:                        }
00873:
00874:                        pushFollow(FOLLOW_classBody_in_normalClassDeclaration270);
00875:                        classBody();
00876:                        _fsp--;
00877:                        if (failed)
00878:                            return;
00879:
00880:                    }
00881:
00882:                } catch (RecognitionException re) {
00883:                    reportError(re);
00884:                    recover(input, re);
00885:                } finally {
00886:                    if (backtracking > 0) {
00887:                        memoize(input, 7, normalClassDeclaration_StartIndex);
00888:                    }
00889:                }
00890:                return;
00891:            }
00892:
00893:            // $ANTLR end normalClassDeclaration
00894:
00895:            // $ANTLR start typeParameters
00896:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:240:1: typeParameters : '<' typeParameter ( ',' typeParameter )* '>' ;
00897:            public final void typeParameters() throws RecognitionException {
00898:                int typeParameters_StartIndex = input.index();
00899:                try {
00900:                    if (backtracking > 0 && alreadyParsedRule(input, 8)) {
00901:                        return;
00902:                    }
00903:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:4: ( '<' typeParameter ( ',' typeParameter )* '>' )
00904:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:4: '<' typeParameter ( ',' typeParameter )* '>'
00905:                    {
00906:                        match(input, 33, FOLLOW_33_in_typeParameters282);
00907:                        if (failed)
00908:                            return;
00909:                        pushFollow(FOLLOW_typeParameter_in_typeParameters284);
00910:                        typeParameter();
00911:                        _fsp--;
00912:                        if (failed)
00913:                            return;
00914:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:22: ( ',' typeParameter )*
00915:                        loop15: do {
00916:                            int alt15 = 2;
00917:                            int LA15_0 = input.LA(1);
00918:
00919:                            if ((LA15_0 == 34)) {
00920:                                alt15 = 1;
00921:                            }
00922:
00923:                            switch (alt15) {
00924:                            case 1:
00925:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:23: ',' typeParameter
00926:                            {
00927:                                match(input, 34, FOLLOW_34_in_typeParameters287);
00928:                                if (failed)
00929:                                    return;
00930:                                pushFollow(FOLLOW_typeParameter_in_typeParameters289);
00931:                                typeParameter();
00932:                                _fsp--;
00933:                                if (failed)
00934:                                    return;
00935:
00936:                            }
00937:                                break;
00938:
00939:                            default:
00940:                                break loop15;
00941:                            }
00942:                        } while (true);
00943:
00944:                        match(input, 35, FOLLOW_35_in_typeParameters293);
00945:                        if (failed)
00946:                            return;
00947:
00948:                    }
00949:
00950:                } catch (RecognitionException re) {
00951:                    reportError(re);
00952:                    recover(input, re);
00953:                } finally {
00954:                    if (backtracking > 0) {
00955:                        memoize(input, 8, typeParameters_StartIndex);
00956:                    }
00957:                }
00958:                return;
00959:            }
00960:
00961:            // $ANTLR end typeParameters
00962:
00963:            // $ANTLR start typeParameter
00964:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:244:1: typeParameter : Identifier ( 'extends' bound )? ;
00965:            public final void typeParameter() throws RecognitionException {
00966:                int typeParameter_StartIndex = input.index();
00967:                try {
00968:                    if (backtracking > 0 && alreadyParsedRule(input, 9)) {
00969:                        return;
00970:                    }
00971:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:4: ( Identifier ( 'extends' bound )? )
00972:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:4: Identifier ( 'extends' bound )?
00973:                    {
00974:                        match(input, Identifier,
00975:                                FOLLOW_Identifier_in_typeParameter304);
00976:                        if (failed)
00977:                            return;
00978:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:15: ( 'extends' bound )?
00979:                        int alt16 = 2;
00980:                        int LA16_0 = input.LA(1);
00981:
00982:                        if ((LA16_0 == 31)) {
00983:                            alt16 = 1;
00984:                        }
00985:                        switch (alt16) {
00986:                        case 1:
00987:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:16: 'extends' bound
00988:                        {
00989:                            match(input, 31, FOLLOW_31_in_typeParameter307);
00990:                            if (failed)
00991:                                return;
00992:                            pushFollow(FOLLOW_bound_in_typeParameter309);
00993:                            bound();
00994:                            _fsp--;
00995:                            if (failed)
00996:                                return;
00997:
00998:                        }
00999:                            break;
01000:
01001:                        }
01002:
01003:                    }
01004:
01005:                } catch (RecognitionException re) {
01006:                    reportError(re);
01007:                    recover(input, re);
01008:                } finally {
01009:                    if (backtracking > 0) {
01010:                        memoize(input, 9, typeParameter_StartIndex);
01011:                    }
01012:                }
01013:                return;
01014:            }
01015:
01016:            // $ANTLR end typeParameter
01017:
01018:            // $ANTLR start bound
01019:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:248:1: bound : type ( '&' type )* ;
01020:            public final void bound() throws RecognitionException {
01021:                int bound_StartIndex = input.index();
01022:                try {
01023:                    if (backtracking > 0 && alreadyParsedRule(input, 10)) {
01024:                        return;
01025:                    }
01026:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:4: ( type ( '&' type )* )
01027:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:4: type ( '&' type )*
01028:                    {
01029:                        pushFollow(FOLLOW_type_in_bound324);
01030:                        type();
01031:                        _fsp--;
01032:                        if (failed)
01033:                            return;
01034:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:9: ( '&' type )*
01035:                        loop17: do {
01036:                            int alt17 = 2;
01037:                            int LA17_0 = input.LA(1);
01038:
01039:                            if ((LA17_0 == 36)) {
01040:                                alt17 = 1;
01041:                            }
01042:
01043:                            switch (alt17) {
01044:                            case 1:
01045:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:10: '&' type
01046:                            {
01047:                                match(input, 36, FOLLOW_36_in_bound327);
01048:                                if (failed)
01049:                                    return;
01050:                                pushFollow(FOLLOW_type_in_bound329);
01051:                                type();
01052:                                _fsp--;
01053:                                if (failed)
01054:                                    return;
01055:
01056:                            }
01057:                                break;
01058:
01059:                            default:
01060:                                break loop17;
01061:                            }
01062:                        } while (true);
01063:
01064:                    }
01065:
01066:                } catch (RecognitionException re) {
01067:                    reportError(re);
01068:                    recover(input, re);
01069:                } finally {
01070:                    if (backtracking > 0) {
01071:                        memoize(input, 10, bound_StartIndex);
01072:                    }
01073:                }
01074:                return;
01075:            }
01076:
01077:            // $ANTLR end bound
01078:
01079:            // $ANTLR start enumDeclaration
01080:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:252:1: enumDeclaration : ENUM Identifier ( 'implements' typeList )? enumBody ;
01081:            public final void enumDeclaration() throws RecognitionException {
01082:                int enumDeclaration_StartIndex = input.index();
01083:                try {
01084:                    if (backtracking > 0 && alreadyParsedRule(input, 11)) {
01085:                        return;
01086:                    }
01087:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:4: ( ENUM Identifier ( 'implements' typeList )? enumBody )
01088:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:4: ENUM Identifier ( 'implements' typeList )? enumBody
01089:                    {
01090:                        match(input, ENUM, FOLLOW_ENUM_in_enumDeclaration342);
01091:                        if (failed)
01092:                            return;
01093:                        match(input, Identifier,
01094:                                FOLLOW_Identifier_in_enumDeclaration344);
01095:                        if (failed)
01096:                            return;
01097:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:20: ( 'implements' typeList )?
01098:                        int alt18 = 2;
01099:                        int LA18_0 = input.LA(1);
01100:
01101:                        if ((LA18_0 == 32)) {
01102:                            alt18 = 1;
01103:                        }
01104:                        switch (alt18) {
01105:                        case 1:
01106:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:21: 'implements' typeList
01107:                        {
01108:                            match(input, 32, FOLLOW_32_in_enumDeclaration347);
01109:                            if (failed)
01110:                                return;
01111:                            pushFollow(FOLLOW_typeList_in_enumDeclaration349);
01112:                            typeList();
01113:                            _fsp--;
01114:                            if (failed)
01115:                                return;
01116:
01117:                        }
01118:                            break;
01119:
01120:                        }
01121:
01122:                        pushFollow(FOLLOW_enumBody_in_enumDeclaration353);
01123:                        enumBody();
01124:                        _fsp--;
01125:                        if (failed)
01126:                            return;
01127:
01128:                    }
01129:
01130:                } catch (RecognitionException re) {
01131:                    reportError(re);
01132:                    recover(input, re);
01133:                } finally {
01134:                    if (backtracking > 0) {
01135:                        memoize(input, 11, enumDeclaration_StartIndex);
01136:                    }
01137:                }
01138:                return;
01139:            }
01140:
01141:            // $ANTLR end enumDeclaration
01142:
01143:            // $ANTLR start enumBody
01144:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:256:1: enumBody : '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' ;
01145:            public final void enumBody() throws RecognitionException {
01146:                int enumBody_StartIndex = input.index();
01147:                try {
01148:                    if (backtracking > 0 && alreadyParsedRule(input, 12)) {
01149:                        return;
01150:                    }
01151:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:4: ( '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' )
01152:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:4: '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}'
01153:                    {
01154:                        match(input, 37, FOLLOW_37_in_enumBody365);
01155:                        if (failed)
01156:                            return;
01157:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:8: ( enumConstants )?
01158:                        int alt19 = 2;
01159:                        int LA19_0 = input.LA(1);
01160:
01161:                        if ((LA19_0 == Identifier || LA19_0 == 71)) {
01162:                            alt19 = 1;
01163:                        }
01164:                        switch (alt19) {
01165:                        case 1:
01166:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: enumConstants
01167:                        {
01168:                            pushFollow(FOLLOW_enumConstants_in_enumBody367);
01169:                            enumConstants();
01170:                            _fsp--;
01171:                            if (failed)
01172:                                return;
01173:
01174:                        }
01175:                            break;
01176:
01177:                        }
01178:
01179:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:23: ( ',' )?
01180:                        int alt20 = 2;
01181:                        int LA20_0 = input.LA(1);
01182:
01183:                        if ((LA20_0 == 34)) {
01184:                            alt20 = 1;
01185:                        }
01186:                        switch (alt20) {
01187:                        case 1:
01188:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ','
01189:                        {
01190:                            match(input, 34, FOLLOW_34_in_enumBody370);
01191:                            if (failed)
01192:                                return;
01193:
01194:                        }
01195:                            break;
01196:
01197:                        }
01198:
01199:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:28: ( enumBodyDeclarations )?
01200:                        int alt21 = 2;
01201:                        int LA21_0 = input.LA(1);
01202:
01203:                        if ((LA21_0 == 25)) {
01204:                            alt21 = 1;
01205:                        }
01206:                        switch (alt21) {
01207:                        case 1:
01208:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: enumBodyDeclarations
01209:                        {
01210:                            pushFollow(FOLLOW_enumBodyDeclarations_in_enumBody373);
01211:                            enumBodyDeclarations();
01212:                            _fsp--;
01213:                            if (failed)
01214:                                return;
01215:
01216:                        }
01217:                            break;
01218:
01219:                        }
01220:
01221:                        match(input, 38, FOLLOW_38_in_enumBody376);
01222:                        if (failed)
01223:                            return;
01224:
01225:                    }
01226:
01227:                } catch (RecognitionException re) {
01228:                    reportError(re);
01229:                    recover(input, re);
01230:                } finally {
01231:                    if (backtracking > 0) {
01232:                        memoize(input, 12, enumBody_StartIndex);
01233:                    }
01234:                }
01235:                return;
01236:            }
01237:
01238:            // $ANTLR end enumBody
01239:
01240:            // $ANTLR start enumConstants
01241:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:260:1: enumConstants : enumConstant ( ',' enumConstant )* ;
01242:            public final void enumConstants() throws RecognitionException {
01243:                int enumConstants_StartIndex = input.index();
01244:                try {
01245:                    if (backtracking > 0 && alreadyParsedRule(input, 13)) {
01246:                        return;
01247:                    }
01248:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:4: ( enumConstant ( ',' enumConstant )* )
01249:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:4: enumConstant ( ',' enumConstant )*
01250:                    {
01251:                        pushFollow(FOLLOW_enumConstant_in_enumConstants387);
01252:                        enumConstant();
01253:                        _fsp--;
01254:                        if (failed)
01255:                            return;
01256:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:17: ( ',' enumConstant )*
01257:                        loop22: do {
01258:                            int alt22 = 2;
01259:                            int LA22_0 = input.LA(1);
01260:
01261:                            if ((LA22_0 == 34)) {
01262:                                int LA22_1 = input.LA(2);
01263:
01264:                                if ((LA22_1 == Identifier || LA22_1 == 71)) {
01265:                                    alt22 = 1;
01266:                                }
01267:
01268:                            }
01269:
01270:                            switch (alt22) {
01271:                            case 1:
01272:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:18: ',' enumConstant
01273:                            {
01274:                                match(input, 34, FOLLOW_34_in_enumConstants390);
01275:                                if (failed)
01276:                                    return;
01277:                                pushFollow(FOLLOW_enumConstant_in_enumConstants392);
01278:                                enumConstant();
01279:                                _fsp--;
01280:                                if (failed)
01281:                                    return;
01282:
01283:                            }
01284:                                break;
01285:
01286:                            default:
01287:                                break loop22;
01288:                            }
01289:                        } while (true);
01290:
01291:                    }
01292:
01293:                } catch (RecognitionException re) {
01294:                    reportError(re);
01295:                    recover(input, re);
01296:                } finally {
01297:                    if (backtracking > 0) {
01298:                        memoize(input, 13, enumConstants_StartIndex);
01299:                    }
01300:                }
01301:                return;
01302:            }
01303:
01304:            // $ANTLR end enumConstants
01305:
01306:            // $ANTLR start enumConstant
01307:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:264:1: enumConstant : ( annotations )? Identifier ( arguments )? ( classBody )? ;
01308:            public final void enumConstant() throws RecognitionException {
01309:                int enumConstant_StartIndex = input.index();
01310:                try {
01311:                    if (backtracking > 0 && alreadyParsedRule(input, 14)) {
01312:                        return;
01313:                    }
01314:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:4: ( ( annotations )? Identifier ( arguments )? ( classBody )? )
01315:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:4: ( annotations )? Identifier ( arguments )? ( classBody )?
01316:                    {
01317:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:4: ( annotations )?
01318:                        int alt23 = 2;
01319:                        int LA23_0 = input.LA(1);
01320:
01321:                        if ((LA23_0 == 71)) {
01322:                            alt23 = 1;
01323:                        }
01324:                        switch (alt23) {
01325:                        case 1:
01326:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: annotations
01327:                        {
01328:                            pushFollow(FOLLOW_annotations_in_enumConstant406);
01329:                            annotations();
01330:                            _fsp--;
01331:                            if (failed)
01332:                                return;
01333:
01334:                        }
01335:                            break;
01336:
01337:                        }
01338:
01339:                        match(input, Identifier,
01340:                                FOLLOW_Identifier_in_enumConstant409);
01341:                        if (failed)
01342:                            return;
01343:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:28: ( arguments )?
01344:                        int alt24 = 2;
01345:                        int LA24_0 = input.LA(1);
01346:
01347:                        if ((LA24_0 == 65)) {
01348:                            alt24 = 1;
01349:                        }
01350:                        switch (alt24) {
01351:                        case 1:
01352:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:29: arguments
01353:                        {
01354:                            pushFollow(FOLLOW_arguments_in_enumConstant412);
01355:                            arguments();
01356:                            _fsp--;
01357:                            if (failed)
01358:                                return;
01359:
01360:                        }
01361:                            break;
01362:
01363:                        }
01364:
01365:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:41: ( classBody )?
01366:                        int alt25 = 2;
01367:                        int LA25_0 = input.LA(1);
01368:
01369:                        if ((LA25_0 == 37)) {
01370:                            alt25 = 1;
01371:                        }
01372:                        switch (alt25) {
01373:                        case 1:
01374:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:42: classBody
01375:                        {
01376:                            pushFollow(FOLLOW_classBody_in_enumConstant417);
01377:                            classBody();
01378:                            _fsp--;
01379:                            if (failed)
01380:                                return;
01381:
01382:                        }
01383:                            break;
01384:
01385:                        }
01386:
01387:                    }
01388:
01389:                } catch (RecognitionException re) {
01390:                    reportError(re);
01391:                    recover(input, re);
01392:                } finally {
01393:                    if (backtracking > 0) {
01394:                        memoize(input, 14, enumConstant_StartIndex);
01395:                    }
01396:                }
01397:                return;
01398:            }
01399:
01400:            // $ANTLR end enumConstant
01401:
01402:            // $ANTLR start enumBodyDeclarations
01403:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:268:1: enumBodyDeclarations : ';' ( classBodyDeclaration )* ;
01404:            public final void enumBodyDeclarations()
01405:                    throws RecognitionException {
01406:                int enumBodyDeclarations_StartIndex = input.index();
01407:                try {
01408:                    if (backtracking > 0 && alreadyParsedRule(input, 15)) {
01409:                        return;
01410:                    }
01411:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:4: ( ';' ( classBodyDeclaration )* )
01412:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:4: ';' ( classBodyDeclaration )*
01413:                    {
01414:                        match(input, 25, FOLLOW_25_in_enumBodyDeclarations431);
01415:                        if (failed)
01416:                            return;
01417:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:8: ( classBodyDeclaration )*
01418:                        loop26: do {
01419:                            int alt26 = 2;
01420:                            int LA26_0 = input.LA(1);
01421:
01422:                            if (((LA26_0 >= Identifier && LA26_0 <= ENUM)
01423:                                    || LA26_0 == 25 || LA26_0 == 27
01424:                                    || LA26_0 == 30 || LA26_0 == 33
01425:                                    || LA26_0 == 37
01426:                                    || (LA26_0 >= 39 && LA26_0 <= 40)
01427:                                    || (LA26_0 >= 45 && LA26_0 <= 62) || LA26_0 == 71)) {
01428:                                alt26 = 1;
01429:                            }
01430:
01431:                            switch (alt26) {
01432:                            case 1:
01433:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:9: classBodyDeclaration
01434:                            {
01435:                                pushFollow(FOLLOW_classBodyDeclaration_in_enumBodyDeclarations434);
01436:                                classBodyDeclaration();
01437:                                _fsp--;
01438:                                if (failed)
01439:                                    return;
01440:
01441:                            }
01442:                                break;
01443:
01444:                            default:
01445:                                break loop26;
01446:                            }
01447:                        } while (true);
01448:
01449:                    }
01450:
01451:                } catch (RecognitionException re) {
01452:                    reportError(re);
01453:                    recover(input, re);
01454:                } finally {
01455:                    if (backtracking > 0) {
01456:                        memoize(input, 15, enumBodyDeclarations_StartIndex);
01457:                    }
01458:                }
01459:                return;
01460:            }
01461:
01462:            // $ANTLR end enumBodyDeclarations
01463:
01464:            // $ANTLR start interfaceDeclaration
01465:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:272:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );
01466:            public final void interfaceDeclaration()
01467:                    throws RecognitionException {
01468:                int interfaceDeclaration_StartIndex = input.index();
01469:                try {
01470:                    if (backtracking > 0 && alreadyParsedRule(input, 16)) {
01471:                        return;
01472:                    }
01473:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:273:4: ( normalInterfaceDeclaration | annotationTypeDeclaration )
01474:                    int alt27 = 2;
01475:                    int LA27_0 = input.LA(1);
01476:
01477:                    if ((LA27_0 == 39)) {
01478:                        alt27 = 1;
01479:                    } else if ((LA27_0 == 71)) {
01480:                        alt27 = 2;
01481:                    } else {
01482:                        if (backtracking > 0) {
01483:                            failed = true;
01484:                            return;
01485:                        }
01486:                        NoViableAltException nvae = new NoViableAltException(
01487:                                "272:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );",
01488:                                27, 0, input);
01489:
01490:                        throw nvae;
01491:                    }
01492:                    switch (alt27) {
01493:                    case 1:
01494:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:273:4: normalInterfaceDeclaration
01495:                    {
01496:                        pushFollow(FOLLOW_normalInterfaceDeclaration_in_interfaceDeclaration448);
01497:                        normalInterfaceDeclaration();
01498:                        _fsp--;
01499:                        if (failed)
01500:                            return;
01501:
01502:                    }
01503:                        break;
01504:                    case 2:
01505:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:274:5: annotationTypeDeclaration
01506:                    {
01507:                        pushFollow(FOLLOW_annotationTypeDeclaration_in_interfaceDeclaration454);
01508:                        annotationTypeDeclaration();
01509:                        _fsp--;
01510:                        if (failed)
01511:                            return;
01512:
01513:                    }
01514:                        break;
01515:
01516:                    }
01517:                } catch (RecognitionException re) {
01518:                    reportError(re);
01519:                    recover(input, re);
01520:                } finally {
01521:                    if (backtracking > 0) {
01522:                        memoize(input, 16, interfaceDeclaration_StartIndex);
01523:                    }
01524:                }
01525:                return;
01526:            }
01527:
01528:            // $ANTLR end interfaceDeclaration
01529:
01530:            // $ANTLR start normalInterfaceDeclaration
01531:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:277:1: normalInterfaceDeclaration : 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody ;
01532:            public final void normalInterfaceDeclaration()
01533:                    throws RecognitionException {
01534:                int normalInterfaceDeclaration_StartIndex = input.index();
01535:                try {
01536:                    if (backtracking > 0 && alreadyParsedRule(input, 17)) {
01537:                        return;
01538:                    }
01539:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:4: ( 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody )
01540:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:4: 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody
01541:                    {
01542:                        match(input, 39,
01543:                                FOLLOW_39_in_normalInterfaceDeclaration466);
01544:                        if (failed)
01545:                            return;
01546:                        match(input, Identifier,
01547:                                FOLLOW_Identifier_in_normalInterfaceDeclaration468);
01548:                        if (failed)
01549:                            return;
01550:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:27: ( typeParameters )?
01551:                        int alt28 = 2;
01552:                        int LA28_0 = input.LA(1);
01553:
01554:                        if ((LA28_0 == 33)) {
01555:                            alt28 = 1;
01556:                        }
01557:                        switch (alt28) {
01558:                        case 1:
01559:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeParameters
01560:                        {
01561:                            pushFollow(FOLLOW_typeParameters_in_normalInterfaceDeclaration470);
01562:                            typeParameters();
01563:                            _fsp--;
01564:                            if (failed)
01565:                                return;
01566:
01567:                        }
01568:                            break;
01569:
01570:                        }
01571:
01572:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:43: ( 'extends' typeList )?
01573:                        int alt29 = 2;
01574:                        int LA29_0 = input.LA(1);
01575:
01576:                        if ((LA29_0 == 31)) {
01577:                            alt29 = 1;
01578:                        }
01579:                        switch (alt29) {
01580:                        case 1:
01581:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:44: 'extends' typeList
01582:                        {
01583:                            match(input, 31,
01584:                                    FOLLOW_31_in_normalInterfaceDeclaration474);
01585:                            if (failed)
01586:                                return;
01587:                            pushFollow(FOLLOW_typeList_in_normalInterfaceDeclaration476);
01588:                            typeList();
01589:                            _fsp--;
01590:                            if (failed)
01591:                                return;
01592:
01593:                        }
01594:                            break;
01595:
01596:                        }
01597:
01598:                        pushFollow(FOLLOW_interfaceBody_in_normalInterfaceDeclaration480);
01599:                        interfaceBody();
01600:                        _fsp--;
01601:                        if (failed)
01602:                            return;
01603:
01604:                    }
01605:
01606:                } catch (RecognitionException re) {
01607:                    reportError(re);
01608:                    recover(input, re);
01609:                } finally {
01610:                    if (backtracking > 0) {
01611:                        memoize(input, 17,
01612:                                normalInterfaceDeclaration_StartIndex);
01613:                    }
01614:                }
01615:                return;
01616:            }
01617:
01618:            // $ANTLR end normalInterfaceDeclaration
01619:
01620:            // $ANTLR start typeList
01621:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:281:1: typeList : type ( ',' type )* ;
01622:            public final void typeList() throws RecognitionException {
01623:                int typeList_StartIndex = input.index();
01624:                try {
01625:                    if (backtracking > 0 && alreadyParsedRule(input, 18)) {
01626:                        return;
01627:                    }
01628:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:4: ( type ( ',' type )* )
01629:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:4: type ( ',' type )*
01630:                    {
01631:                        pushFollow(FOLLOW_type_in_typeList492);
01632:                        type();
01633:                        _fsp--;
01634:                        if (failed)
01635:                            return;
01636:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:9: ( ',' type )*
01637:                        loop30: do {
01638:                            int alt30 = 2;
01639:                            int LA30_0 = input.LA(1);
01640:
01641:                            if ((LA30_0 == 34)) {
01642:                                alt30 = 1;
01643:                            }
01644:
01645:                            switch (alt30) {
01646:                            case 1:
01647:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:10: ',' type
01648:                            {
01649:                                match(input, 34, FOLLOW_34_in_typeList495);
01650:                                if (failed)
01651:                                    return;
01652:                                pushFollow(FOLLOW_type_in_typeList497);
01653:                                type();
01654:                                _fsp--;
01655:                                if (failed)
01656:                                    return;
01657:
01658:                            }
01659:                                break;
01660:
01661:                            default:
01662:                                break loop30;
01663:                            }
01664:                        } while (true);
01665:
01666:                    }
01667:
01668:                } catch (RecognitionException re) {
01669:                    reportError(re);
01670:                    recover(input, re);
01671:                } finally {
01672:                    if (backtracking > 0) {
01673:                        memoize(input, 18, typeList_StartIndex);
01674:                    }
01675:                }
01676:                return;
01677:            }
01678:
01679:            // $ANTLR end typeList
01680:
01681:            // $ANTLR start classBody
01682:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:285:1: classBody : '{' ( classBodyDeclaration )* '}' ;
01683:            public final void classBody() throws RecognitionException {
01684:                int classBody_StartIndex = input.index();
01685:                try {
01686:                    if (backtracking > 0 && alreadyParsedRule(input, 19)) {
01687:                        return;
01688:                    }
01689:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:4: ( '{' ( classBodyDeclaration )* '}' )
01690:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:4: '{' ( classBodyDeclaration )* '}'
01691:                    {
01692:                        match(input, 37, FOLLOW_37_in_classBody511);
01693:                        if (failed)
01694:                            return;
01695:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:8: ( classBodyDeclaration )*
01696:                        loop31: do {
01697:                            int alt31 = 2;
01698:                            int LA31_0 = input.LA(1);
01699:
01700:                            if (((LA31_0 >= Identifier && LA31_0 <= ENUM)
01701:                                    || LA31_0 == 25 || LA31_0 == 27
01702:                                    || LA31_0 == 30 || LA31_0 == 33
01703:                                    || LA31_0 == 37
01704:                                    || (LA31_0 >= 39 && LA31_0 <= 40)
01705:                                    || (LA31_0 >= 45 && LA31_0 <= 62) || LA31_0 == 71)) {
01706:                                alt31 = 1;
01707:                            }
01708:
01709:                            switch (alt31) {
01710:                            case 1:
01711:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: classBodyDeclaration
01712:                            {
01713:                                pushFollow(FOLLOW_classBodyDeclaration_in_classBody513);
01714:                                classBodyDeclaration();
01715:                                _fsp--;
01716:                                if (failed)
01717:                                    return;
01718:
01719:                            }
01720:                                break;
01721:
01722:                            default:
01723:                                break loop31;
01724:                            }
01725:                        } while (true);
01726:
01727:                        match(input, 38, FOLLOW_38_in_classBody516);
01728:                        if (failed)
01729:                            return;
01730:
01731:                    }
01732:
01733:                } catch (RecognitionException re) {
01734:                    reportError(re);
01735:                    recover(input, re);
01736:                } finally {
01737:                    if (backtracking > 0) {
01738:                        memoize(input, 19, classBody_StartIndex);
01739:                    }
01740:                }
01741:                return;
01742:            }
01743:
01744:            // $ANTLR end classBody
01745:
01746:            // $ANTLR start interfaceBody
01747:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:289:1: interfaceBody : '{' ( interfaceBodyDeclaration )* '}' ;
01748:            public final void interfaceBody() throws RecognitionException {
01749:                int interfaceBody_StartIndex = input.index();
01750:                try {
01751:                    if (backtracking > 0 && alreadyParsedRule(input, 20)) {
01752:                        return;
01753:                    }
01754:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:4: ( '{' ( interfaceBodyDeclaration )* '}' )
01755:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:4: '{' ( interfaceBodyDeclaration )* '}'
01756:                    {
01757:                        match(input, 37, FOLLOW_37_in_interfaceBody528);
01758:                        if (failed)
01759:                            return;
01760:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:8: ( interfaceBodyDeclaration )*
01761:                        loop32: do {
01762:                            int alt32 = 2;
01763:                            int LA32_0 = input.LA(1);
01764:
01765:                            if (((LA32_0 >= Identifier && LA32_0 <= ENUM)
01766:                                    || LA32_0 == 25 || LA32_0 == 27
01767:                                    || LA32_0 == 30 || LA32_0 == 33
01768:                                    || (LA32_0 >= 39 && LA32_0 <= 40)
01769:                                    || (LA32_0 >= 45 && LA32_0 <= 62) || LA32_0 == 71)) {
01770:                                alt32 = 1;
01771:                            }
01772:
01773:                            switch (alt32) {
01774:                            case 1:
01775:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: interfaceBodyDeclaration
01776:                            {
01777:                                pushFollow(FOLLOW_interfaceBodyDeclaration_in_interfaceBody530);
01778:                                interfaceBodyDeclaration();
01779:                                _fsp--;
01780:                                if (failed)
01781:                                    return;
01782:
01783:                            }
01784:                                break;
01785:
01786:                            default:
01787:                                break loop32;
01788:                            }
01789:                        } while (true);
01790:
01791:                        match(input, 38, FOLLOW_38_in_interfaceBody533);
01792:                        if (failed)
01793:                            return;
01794:
01795:                    }
01796:
01797:                } catch (RecognitionException re) {
01798:                    reportError(re);
01799:                    recover(input, re);
01800:                } finally {
01801:                    if (backtracking > 0) {
01802:                        memoize(input, 20, interfaceBody_StartIndex);
01803:                    }
01804:                }
01805:                return;
01806:            }
01807:
01808:            // $ANTLR end interfaceBody
01809:
01810:            // $ANTLR start classBodyDeclaration
01811:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );
01812:            public final void classBodyDeclaration()
01813:                    throws RecognitionException {
01814:                int classBodyDeclaration_StartIndex = input.index();
01815:                try {
01816:                    if (backtracking > 0 && alreadyParsedRule(input, 21)) {
01817:                        return;
01818:                    }
01819:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:294:4: ( ';' | ( 'static' )? block | ( modifier )* memberDecl )
01820:                    int alt35 = 3;
01821:                    switch (input.LA(1)) {
01822:                    case 25: {
01823:                        alt35 = 1;
01824:                    }
01825:                        break;
01826:                    case 27: {
01827:                        int LA35_2 = input.LA(2);
01828:
01829:                        if ((LA35_2 == 37)) {
01830:                            alt35 = 2;
01831:                        } else if (((LA35_2 >= Identifier && LA35_2 <= ENUM)
01832:                                || LA35_2 == 27 || LA35_2 == 30 || LA35_2 == 33
01833:                                || (LA35_2 >= 39 && LA35_2 <= 40)
01834:                                || (LA35_2 >= 45 && LA35_2 <= 62) || LA35_2 == 71)) {
01835:                            alt35 = 3;
01836:                        } else {
01837:                            if (backtracking > 0) {
01838:                                failed = true;
01839:                                return;
01840:                            }
01841:                            NoViableAltException nvae = new NoViableAltException(
01842:                                    "293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );",
01843:                                    35, 2, input);
01844:
01845:                            throw nvae;
01846:                        }
01847:                    }
01848:                        break;
01849:                    case 37: {
01850:                        alt35 = 2;
01851:                    }
01852:                        break;
01853:                    case Identifier:
01854:                    case ENUM:
01855:                    case 30:
01856:                    case 33:
01857:                    case 39:
01858:                    case 40:
01859:                    case 45:
01860:                    case 46:
01861:                    case 47:
01862:                    case 48:
01863:                    case 49:
01864:                    case 50:
01865:                    case 51:
01866:                    case 52:
01867:                    case 53:
01868:                    case 54:
01869:                    case 55:
01870:                    case 56:
01871:                    case 57:
01872:                    case 58:
01873:                    case 59:
01874:                    case 60:
01875:                    case 61:
01876:                    case 62:
01877:                    case 71: {
01878:                        alt35 = 3;
01879:                    }
01880:                        break;
01881:                    default:
01882:                        if (backtracking > 0) {
01883:                            failed = true;
01884:                            return;
01885:                        }
01886:                        NoViableAltException nvae = new NoViableAltException(
01887:                                "293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );",
01888:                                35, 0, input);
01889:
01890:                        throw nvae;
01891:                    }
01892:
01893:                    switch (alt35) {
01894:                    case 1:
01895:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:294:4: ';'
01896:                    {
01897:                        match(input, 25, FOLLOW_25_in_classBodyDeclaration544);
01898:                        if (failed)
01899:                            return;
01900:
01901:                    }
01902:                        break;
01903:                    case 2:
01904:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:295:4: ( 'static' )? block
01905:                    {
01906:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:295:4: ( 'static' )?
01907:                        int alt33 = 2;
01908:                        int LA33_0 = input.LA(1);
01909:
01910:                        if ((LA33_0 == 27)) {
01911:                            alt33 = 1;
01912:                        }
01913:                        switch (alt33) {
01914:                        case 1:
01915:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: 'static'
01916:                        {
01917:                            match(input, 27,
01918:                                    FOLLOW_27_in_classBodyDeclaration549);
01919:                            if (failed)
01920:                                return;
01921:
01922:                        }
01923:                            break;
01924:
01925:                        }
01926:
01927:                        pushFollow(FOLLOW_block_in_classBodyDeclaration552);
01928:                        block();
01929:                        _fsp--;
01930:                        if (failed)
01931:                            return;
01932:
01933:                    }
01934:                        break;
01935:                    case 3:
01936:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:4: ( modifier )* memberDecl
01937:                    {
01938:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:4: ( modifier )*
01939:                        loop34: do {
01940:                            int alt34 = 2;
01941:                            int LA34_0 = input.LA(1);
01942:
01943:                            if ((LA34_0 == 71)) {
01944:                                int LA34_6 = input.LA(2);
01945:
01946:                                if ((LA34_6 == Identifier)) {
01947:                                    alt34 = 1;
01948:                                }
01949:
01950:                            } else if ((LA34_0 == 27 || (LA34_0 >= 45 && LA34_0 <= 54))) {
01951:                                alt34 = 1;
01952:                            }
01953:
01954:                            switch (alt34) {
01955:                            case 1:
01956:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: modifier
01957:                            {
01958:                                pushFollow(FOLLOW_modifier_in_classBodyDeclaration557);
01959:                                modifier();
01960:                                _fsp--;
01961:                                if (failed)
01962:                                    return;
01963:
01964:                            }
01965:                                break;
01966:
01967:                            default:
01968:                                break loop34;
01969:                            }
01970:                        } while (true);
01971:
01972:                        pushFollow(FOLLOW_memberDecl_in_classBodyDeclaration560);
01973:                        memberDecl();
01974:                        _fsp--;
01975:                        if (failed)
01976:                            return;
01977:
01978:                    }
01979:                        break;
01980:
01981:                    }
01982:                } catch (RecognitionException re) {
01983:                    reportError(re);
01984:                    recover(input, re);
01985:                } finally {
01986:                    if (backtracking > 0) {
01987:                        memoize(input, 21, classBodyDeclaration_StartIndex);
01988:                    }
01989:                }
01990:                return;
01991:            }
01992:
01993:            // $ANTLR end classBodyDeclaration
01994:
01995:            // $ANTLR start memberDecl
01996:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );
01997:            public final void memberDecl() throws RecognitionException {
01998:                int memberDecl_StartIndex = input.index();
01999:                try {
02000:                    if (backtracking > 0 && alreadyParsedRule(input, 22)) {
02001:                        return;
02002:                    }
02003:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:300:4: ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration )
02004:                    int alt36 = 7;
02005:                    switch (input.LA(1)) {
02006:                    case 33: {
02007:                        alt36 = 1;
02008:                    }
02009:                        break;
02010:                    case Identifier: {
02011:                        switch (input.LA(2)) {
02012:                        case 65: {
02013:                            alt36 = 5;
02014:                        }
02015:                            break;
02016:                        case 33: {
02017:                            int LA36_10 = input.LA(3);
02018:
02019:                            if ((synpred38())) {
02020:                                alt36 = 2;
02021:                            } else if ((synpred39())) {
02022:                                alt36 = 3;
02023:                            } else {
02024:                                if (backtracking > 0) {
02025:                                    failed = true;
02026:                                    return;
02027:                                }
02028:                                NoViableAltException nvae = new NoViableAltException(
02029:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02030:                                        36, 10, input);
02031:
02032:                                throw nvae;
02033:                            }
02034:                        }
02035:                            break;
02036:                        case 28: {
02037:                            int LA36_11 = input.LA(3);
02038:
02039:                            if ((synpred38())) {
02040:                                alt36 = 2;
02041:                            } else if ((synpred39())) {
02042:                                alt36 = 3;
02043:                            } else {
02044:                                if (backtracking > 0) {
02045:                                    failed = true;
02046:                                    return;
02047:                                }
02048:                                NoViableAltException nvae = new NoViableAltException(
02049:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02050:                                        36, 11, input);
02051:
02052:                                throw nvae;
02053:                            }
02054:                        }
02055:                            break;
02056:                        case 41: {
02057:                            int LA36_12 = input.LA(3);
02058:
02059:                            if ((synpred38())) {
02060:                                alt36 = 2;
02061:                            } else if ((synpred39())) {
02062:                                alt36 = 3;
02063:                            } else {
02064:                                if (backtracking > 0) {
02065:                                    failed = true;
02066:                                    return;
02067:                                }
02068:                                NoViableAltException nvae = new NoViableAltException(
02069:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02070:                                        36, 12, input);
02071:
02072:                                throw nvae;
02073:                            }
02074:                        }
02075:                            break;
02076:                        case Identifier: {
02077:                            int LA36_13 = input.LA(3);
02078:
02079:                            if ((synpred38())) {
02080:                                alt36 = 2;
02081:                            } else if ((synpred39())) {
02082:                                alt36 = 3;
02083:                            } else {
02084:                                if (backtracking > 0) {
02085:                                    failed = true;
02086:                                    return;
02087:                                }
02088:                                NoViableAltException nvae = new NoViableAltException(
02089:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02090:                                        36, 13, input);
02091:
02092:                                throw nvae;
02093:                            }
02094:                        }
02095:                            break;
02096:                        default:
02097:                            if (backtracking > 0) {
02098:                                failed = true;
02099:                                return;
02100:                            }
02101:                            NoViableAltException nvae = new NoViableAltException(
02102:                                    "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02103:                                    36, 2, input);
02104:
02105:                            throw nvae;
02106:                        }
02107:
02108:                    }
02109:                        break;
02110:                    case 55:
02111:                    case 56:
02112:                    case 57:
02113:                    case 58:
02114:                    case 59:
02115:                    case 60:
02116:                    case 61:
02117:                    case 62: {
02118:                        int LA36_3 = input.LA(2);
02119:
02120:                        if ((LA36_3 == 41)) {
02121:                            int LA36_14 = input.LA(3);
02122:
02123:                            if ((synpred38())) {
02124:                                alt36 = 2;
02125:                            } else if ((synpred39())) {
02126:                                alt36 = 3;
02127:                            } else {
02128:                                if (backtracking > 0) {
02129:                                    failed = true;
02130:                                    return;
02131:                                }
02132:                                NoViableAltException nvae = new NoViableAltException(
02133:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02134:                                        36, 14, input);
02135:
02136:                                throw nvae;
02137:                            }
02138:                        } else if ((LA36_3 == Identifier)) {
02139:                            int LA36_15 = input.LA(3);
02140:
02141:                            if ((synpred38())) {
02142:                                alt36 = 2;
02143:                            } else if ((synpred39())) {
02144:                                alt36 = 3;
02145:                            } else {
02146:                                if (backtracking > 0) {
02147:                                    failed = true;
02148:                                    return;
02149:                                }
02150:                                NoViableAltException nvae = new NoViableAltException(
02151:                                        "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02152:                                        36, 15, input);
02153:
02154:                                throw nvae;
02155:                            }
02156:                        } else {
02157:                            if (backtracking > 0) {
02158:                                failed = true;
02159:                                return;
02160:                            }
02161:                            NoViableAltException nvae = new NoViableAltException(
02162:                                    "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02163:                                    36, 3, input);
02164:
02165:                            throw nvae;
02166:                        }
02167:                    }
02168:                        break;
02169:                    case 40: {
02170:                        alt36 = 4;
02171:                    }
02172:                        break;
02173:                    case 39:
02174:                    case 71: {
02175:                        alt36 = 6;
02176:                    }
02177:                        break;
02178:                    case ENUM:
02179:                    case 30: {
02180:                        alt36 = 7;
02181:                    }
02182:                        break;
02183:                    default:
02184:                        if (backtracking > 0) {
02185:                            failed = true;
02186:                            return;
02187:                        }
02188:                        NoViableAltException nvae = new NoViableAltException(
02189:                                "299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );",
02190:                                36, 0, input);
02191:
02192:                        throw nvae;
02193:                    }
02194:
02195:                    switch (alt36) {
02196:                    case 1:
02197:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:300:4: genericMethodOrConstructorDecl
02198:                    {
02199:                        pushFollow(FOLLOW_genericMethodOrConstructorDecl_in_memberDecl572);
02200:                        genericMethodOrConstructorDecl();
02201:                        _fsp--;
02202:                        if (failed)
02203:                            return;
02204:
02205:                    }
02206:                        break;
02207:                    case 2:
02208:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: methodDeclaration
02209:                    {
02210:                        pushFollow(FOLLOW_methodDeclaration_in_memberDecl577);
02211:                        methodDeclaration();
02212:                        _fsp--;
02213:                        if (failed)
02214:                            return;
02215:
02216:                    }
02217:                        break;
02218:                    case 3:
02219:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: fieldDeclaration
02220:                    {
02221:                        pushFollow(FOLLOW_fieldDeclaration_in_memberDecl582);
02222:                        fieldDeclaration();
02223:                        _fsp--;
02224:                        if (failed)
02225:                            return;
02226:
02227:                    }
02228:                        break;
02229:                    case 4:
02230:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:303:4: 'void' Identifier voidMethodDeclaratorRest
02231:                    {
02232:                        match(input, 40, FOLLOW_40_in_memberDecl587);
02233:                        if (failed)
02234:                            return;
02235:                        match(input, Identifier,
02236:                                FOLLOW_Identifier_in_memberDecl589);
02237:                        if (failed)
02238:                            return;
02239:                        pushFollow(FOLLOW_voidMethodDeclaratorRest_in_memberDecl591);
02240:                        voidMethodDeclaratorRest();
02241:                        _fsp--;
02242:                        if (failed)
02243:                            return;
02244:
02245:                    }
02246:                        break;
02247:                    case 5:
02248:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:304:4: Identifier constructorDeclaratorRest
02249:                    {
02250:                        match(input, Identifier,
02251:                                FOLLOW_Identifier_in_memberDecl596);
02252:                        if (failed)
02253:                            return;
02254:                        pushFollow(FOLLOW_constructorDeclaratorRest_in_memberDecl598);
02255:                        constructorDeclaratorRest();
02256:                        _fsp--;
02257:                        if (failed)
02258:                            return;
02259:
02260:                    }
02261:                        break;
02262:                    case 6:
02263:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:305:4: interfaceDeclaration
02264:                    {
02265:                        pushFollow(FOLLOW_interfaceDeclaration_in_memberDecl603);
02266:                        interfaceDeclaration();
02267:                        _fsp--;
02268:                        if (failed)
02269:                            return;
02270:
02271:                    }
02272:                        break;
02273:                    case 7:
02274:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:306:4: classDeclaration
02275:                    {
02276:                        pushFollow(FOLLOW_classDeclaration_in_memberDecl608);
02277:                        classDeclaration();
02278:                        _fsp--;
02279:                        if (failed)
02280:                            return;
02281:
02282:                    }
02283:                        break;
02284:
02285:                    }
02286:                } catch (RecognitionException re) {
02287:                    reportError(re);
02288:                    recover(input, re);
02289:                } finally {
02290:                    if (backtracking > 0) {
02291:                        memoize(input, 22, memberDecl_StartIndex);
02292:                    }
02293:                }
02294:                return;
02295:            }
02296:
02297:            // $ANTLR end memberDecl
02298:
02299:            // $ANTLR start genericMethodOrConstructorDecl
02300:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:309:1: genericMethodOrConstructorDecl : typeParameters genericMethodOrConstructorRest ;
02301:            public final void genericMethodOrConstructorDecl()
02302:                    throws RecognitionException {
02303:                int genericMethodOrConstructorDecl_StartIndex = input.index();
02304:                try {
02305:                    if (backtracking > 0 && alreadyParsedRule(input, 23)) {
02306:                        return;
02307:                    }
02308:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:310:4: ( typeParameters genericMethodOrConstructorRest )
02309:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:310:4: typeParameters genericMethodOrConstructorRest
02310:                    {
02311:                        pushFollow(FOLLOW_typeParameters_in_genericMethodOrConstructorDecl620);
02312:                        typeParameters();
02313:                        _fsp--;
02314:                        if (failed)
02315:                            return;
02316:                        pushFollow(FOLLOW_genericMethodOrConstructorRest_in_genericMethodOrConstructorDecl622);
02317:                        genericMethodOrConstructorRest();
02318:                        _fsp--;
02319:                        if (failed)
02320:                            return;
02321:
02322:                    }
02323:
02324:                } catch (RecognitionException re) {
02325:                    reportError(re);
02326:                    recover(input, re);
02327:                } finally {
02328:                    if (backtracking > 0) {
02329:                        memoize(input, 23,
02330:                                genericMethodOrConstructorDecl_StartIndex);
02331:                    }
02332:                }
02333:                return;
02334:            }
02335:
02336:            // $ANTLR end genericMethodOrConstructorDecl
02337:
02338:            // $ANTLR start genericMethodOrConstructorRest
02339:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );
02340:            public final void genericMethodOrConstructorRest()
02341:                    throws RecognitionException {
02342:                int genericMethodOrConstructorRest_StartIndex = input.index();
02343:                try {
02344:                    if (backtracking > 0 && alreadyParsedRule(input, 24)) {
02345:                        return;
02346:                    }
02347:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:4: ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest )
02348:                    int alt38 = 2;
02349:                    int LA38_0 = input.LA(1);
02350:
02351:                    if ((LA38_0 == Identifier)) {
02352:                        int LA38_1 = input.LA(2);
02353:
02354:                        if ((LA38_1 == 65)) {
02355:                            alt38 = 2;
02356:                        } else if ((LA38_1 == Identifier || LA38_1 == 28
02357:                                || LA38_1 == 33 || LA38_1 == 41)) {
02358:                            alt38 = 1;
02359:                        } else {
02360:                            if (backtracking > 0) {
02361:                                failed = true;
02362:                                return;
02363:                            }
02364:                            NoViableAltException nvae = new NoViableAltException(
02365:                                    "313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );",
02366:                                    38, 1, input);
02367:
02368:                            throw nvae;
02369:                        }
02370:                    } else if ((LA38_0 == 40 || (LA38_0 >= 55 && LA38_0 <= 62))) {
02371:                        alt38 = 1;
02372:                    } else {
02373:                        if (backtracking > 0) {
02374:                            failed = true;
02375:                            return;
02376:                        }
02377:                        NoViableAltException nvae = new NoViableAltException(
02378:                                "313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );",
02379:                                38, 0, input);
02380:
02381:                        throw nvae;
02382:                    }
02383:                    switch (alt38) {
02384:                    case 1:
02385:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:4: ( type | 'void' ) Identifier methodDeclaratorRest
02386:                    {
02387:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:4: ( type | 'void' )
02388:                        int alt37 = 2;
02389:                        int LA37_0 = input.LA(1);
02390:
02391:                        if ((LA37_0 == Identifier || (LA37_0 >= 55 && LA37_0 <= 62))) {
02392:                            alt37 = 1;
02393:                        } else if ((LA37_0 == 40)) {
02394:                            alt37 = 2;
02395:                        } else {
02396:                            if (backtracking > 0) {
02397:                                failed = true;
02398:                                return;
02399:                            }
02400:                            NoViableAltException nvae = new NoViableAltException(
02401:                                    "314:4: ( type | 'void' )", 37, 0, input);
02402:
02403:                            throw nvae;
02404:                        }
02405:                        switch (alt37) {
02406:                        case 1:
02407:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:5: type
02408:                        {
02409:                            pushFollow(FOLLOW_type_in_genericMethodOrConstructorRest635);
02410:                            type();
02411:                            _fsp--;
02412:                            if (failed)
02413:                                return;
02414:
02415:                        }
02416:                            break;
02417:                        case 2:
02418:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:12: 'void'
02419:                        {
02420:                            match(input, 40,
02421:                                    FOLLOW_40_in_genericMethodOrConstructorRest639);
02422:                            if (failed)
02423:                                return;
02424:
02425:                        }
02426:                            break;
02427:
02428:                        }
02429:
02430:                        match(input, Identifier,
02431:                                FOLLOW_Identifier_in_genericMethodOrConstructorRest642);
02432:                        if (failed)
02433:                            return;
02434:                        pushFollow(FOLLOW_methodDeclaratorRest_in_genericMethodOrConstructorRest644);
02435:                        methodDeclaratorRest();
02436:                        _fsp--;
02437:                        if (failed)
02438:                            return;
02439:
02440:                    }
02441:                        break;
02442:                    case 2:
02443:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:315:4: Identifier constructorDeclaratorRest
02444:                    {
02445:                        match(input, Identifier,
02446:                                FOLLOW_Identifier_in_genericMethodOrConstructorRest649);
02447:                        if (failed)
02448:                            return;
02449:                        pushFollow(FOLLOW_constructorDeclaratorRest_in_genericMethodOrConstructorRest651);
02450:                        constructorDeclaratorRest();
02451:                        _fsp--;
02452:                        if (failed)
02453:                            return;
02454:
02455:                    }
02456:                        break;
02457:
02458:                    }
02459:                } catch (RecognitionException re) {
02460:                    reportError(re);
02461:                    recover(input, re);
02462:                } finally {
02463:                    if (backtracking > 0) {
02464:                        memoize(input, 24,
02465:                                genericMethodOrConstructorRest_StartIndex);
02466:                    }
02467:                }
02468:                return;
02469:            }
02470:
02471:            // $ANTLR end genericMethodOrConstructorRest
02472:
02473:            // $ANTLR start methodDeclaration
02474:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:318:1: methodDeclaration : type Identifier methodDeclaratorRest ;
02475:            public final void methodDeclaration() throws RecognitionException {
02476:                int methodDeclaration_StartIndex = input.index();
02477:                try {
02478:                    if (backtracking > 0 && alreadyParsedRule(input, 25)) {
02479:                        return;
02480:                    }
02481:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:319:4: ( type Identifier methodDeclaratorRest )
02482:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:319:4: type Identifier methodDeclaratorRest
02483:                    {
02484:                        pushFollow(FOLLOW_type_in_methodDeclaration662);
02485:                        type();
02486:                        _fsp--;
02487:                        if (failed)
02488:                            return;
02489:                        match(input, Identifier,
02490:                                FOLLOW_Identifier_in_methodDeclaration664);
02491:                        if (failed)
02492:                            return;
02493:                        pushFollow(FOLLOW_methodDeclaratorRest_in_methodDeclaration666);
02494:                        methodDeclaratorRest();
02495:                        _fsp--;
02496:                        if (failed)
02497:                            return;
02498:
02499:                    }
02500:
02501:                } catch (RecognitionException re) {
02502:                    reportError(re);
02503:                    recover(input, re);
02504:                } finally {
02505:                    if (backtracking > 0) {
02506:                        memoize(input, 25, methodDeclaration_StartIndex);
02507:                    }
02508:                }
02509:                return;
02510:            }
02511:
02512:            // $ANTLR end methodDeclaration
02513:
02514:            // $ANTLR start fieldDeclaration
02515:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:322:1: fieldDeclaration : type variableDeclarators ';' ;
02516:            public final void fieldDeclaration() throws RecognitionException {
02517:                int fieldDeclaration_StartIndex = input.index();
02518:                try {
02519:                    if (backtracking > 0 && alreadyParsedRule(input, 26)) {
02520:                        return;
02521:                    }
02522:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:323:4: ( type variableDeclarators ';' )
02523:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:323:4: type variableDeclarators ';'
02524:                    {
02525:                        pushFollow(FOLLOW_type_in_fieldDeclaration677);
02526:                        type();
02527:                        _fsp--;
02528:                        if (failed)
02529:                            return;
02530:                        pushFollow(FOLLOW_variableDeclarators_in_fieldDeclaration679);
02531:                        variableDeclarators();
02532:                        _fsp--;
02533:                        if (failed)
02534:                            return;
02535:                        match(input, 25, FOLLOW_25_in_fieldDeclaration681);
02536:                        if (failed)
02537:                            return;
02538:
02539:                    }
02540:
02541:                } catch (RecognitionException re) {
02542:                    reportError(re);
02543:                    recover(input, re);
02544:                } finally {
02545:                    if (backtracking > 0) {
02546:                        memoize(input, 26, fieldDeclaration_StartIndex);
02547:                    }
02548:                }
02549:                return;
02550:            }
02551:
02552:            // $ANTLR end fieldDeclaration
02553:
02554:            // $ANTLR start interfaceBodyDeclaration
02555:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:326:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );
02556:            public final void interfaceBodyDeclaration()
02557:                    throws RecognitionException {
02558:                int interfaceBodyDeclaration_StartIndex = input.index();
02559:                try {
02560:                    if (backtracking > 0 && alreadyParsedRule(input, 27)) {
02561:                        return;
02562:                    }
02563:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:4: ( ( modifier )* interfaceMemberDecl | ';' )
02564:                    int alt40 = 2;
02565:                    int LA40_0 = input.LA(1);
02566:
02567:                    if (((LA40_0 >= Identifier && LA40_0 <= ENUM)
02568:                            || LA40_0 == 27 || LA40_0 == 30 || LA40_0 == 33
02569:                            || (LA40_0 >= 39 && LA40_0 <= 40)
02570:                            || (LA40_0 >= 45 && LA40_0 <= 62) || LA40_0 == 71)) {
02571:                        alt40 = 1;
02572:                    } else if ((LA40_0 == 25)) {
02573:                        alt40 = 2;
02574:                    } else {
02575:                        if (backtracking > 0) {
02576:                            failed = true;
02577:                            return;
02578:                        }
02579:                        NoViableAltException nvae = new NoViableAltException(
02580:                                "326:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );",
02581:                                40, 0, input);
02582:
02583:                        throw nvae;
02584:                    }
02585:                    switch (alt40) {
02586:                    case 1:
02587:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:4: ( modifier )* interfaceMemberDecl
02588:                    {
02589:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:4: ( modifier )*
02590:                        loop39: do {
02591:                            int alt39 = 2;
02592:                            int LA39_0 = input.LA(1);
02593:
02594:                            if ((LA39_0 == 71)) {
02595:                                int LA39_6 = input.LA(2);
02596:
02597:                                if ((LA39_6 == Identifier)) {
02598:                                    alt39 = 1;
02599:                                }
02600:
02601:                            } else if ((LA39_0 == 27 || (LA39_0 >= 45 && LA39_0 <= 54))) {
02602:                                alt39 = 1;
02603:                            }
02604:
02605:                            switch (alt39) {
02606:                            case 1:
02607:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: modifier
02608:                            {
02609:                                pushFollow(FOLLOW_modifier_in_interfaceBodyDeclaration694);
02610:                                modifier();
02611:                                _fsp--;
02612:                                if (failed)
02613:                                    return;
02614:
02615:                            }
02616:                                break;
02617:
02618:                            default:
02619:                                break loop39;
02620:                            }
02621:                        } while (true);
02622:
02623:                        pushFollow(FOLLOW_interfaceMemberDecl_in_interfaceBodyDeclaration697);
02624:                        interfaceMemberDecl();
02625:                        _fsp--;
02626:                        if (failed)
02627:                            return;
02628:
02629:                    }
02630:                        break;
02631:                    case 2:
02632:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:328:6: ';'
02633:                    {
02634:                        match(input, 25,
02635:                                FOLLOW_25_in_interfaceBodyDeclaration704);
02636:                        if (failed)
02637:                            return;
02638:
02639:                    }
02640:                        break;
02641:
02642:                    }
02643:                } catch (RecognitionException re) {
02644:                    reportError(re);
02645:                    recover(input, re);
02646:                } finally {
02647:                    if (backtracking > 0) {
02648:                        memoize(input, 27, interfaceBodyDeclaration_StartIndex);
02649:                    }
02650:                }
02651:                return;
02652:            }
02653:
02654:            // $ANTLR end interfaceBodyDeclaration
02655:
02656:            // $ANTLR start interfaceMemberDecl
02657:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:331:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );
02658:            public final void interfaceMemberDecl() throws RecognitionException {
02659:                int interfaceMemberDecl_StartIndex = input.index();
02660:                try {
02661:                    if (backtracking > 0 && alreadyParsedRule(input, 28)) {
02662:                        return;
02663:                    }
02664:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:332:4: ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration )
02665:                    int alt41 = 5;
02666:                    switch (input.LA(1)) {
02667:                    case Identifier:
02668:                    case 55:
02669:                    case 56:
02670:                    case 57:
02671:                    case 58:
02672:                    case 59:
02673:                    case 60:
02674:                    case 61:
02675:                    case 62: {
02676:                        alt41 = 1;
02677:                    }
02678:                        break;
02679:                    case 33: {
02680:                        alt41 = 2;
02681:                    }
02682:                        break;
02683:                    case 40: {
02684:                        alt41 = 3;
02685:                    }
02686:                        break;
02687:                    case 39:
02688:                    case 71: {
02689:                        alt41 = 4;
02690:                    }
02691:                        break;
02692:                    case ENUM:
02693:                    case 30: {
02694:                        alt41 = 5;
02695:                    }
02696:                        break;
02697:                    default:
02698:                        if (backtracking > 0) {
02699:                            failed = true;
02700:                            return;
02701:                        }
02702:                        NoViableAltException nvae = new NoViableAltException(
02703:                                "331:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );",
02704:                                41, 0, input);
02705:
02706:                        throw nvae;
02707:                    }
02708:
02709:                    switch (alt41) {
02710:                    case 1:
02711:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:332:4: interfaceMethodOrFieldDecl
02712:                    {
02713:                        pushFollow(FOLLOW_interfaceMethodOrFieldDecl_in_interfaceMemberDecl715);
02714:                        interfaceMethodOrFieldDecl();
02715:                        _fsp--;
02716:                        if (failed)
02717:                            return;
02718:
02719:                    }
02720:                        break;
02721:                    case 2:
02722:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:333:6: interfaceGenericMethodDecl
02723:                    {
02724:                        pushFollow(FOLLOW_interfaceGenericMethodDecl_in_interfaceMemberDecl722);
02725:                        interfaceGenericMethodDecl();
02726:                        _fsp--;
02727:                        if (failed)
02728:                            return;
02729:
02730:                    }
02731:                        break;
02732:                    case 3:
02733:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:334:9: 'void' Identifier voidInterfaceMethodDeclaratorRest
02734:                    {
02735:                        match(input, 40, FOLLOW_40_in_interfaceMemberDecl732);
02736:                        if (failed)
02737:                            return;
02738:                        match(input, Identifier,
02739:                                FOLLOW_Identifier_in_interfaceMemberDecl734);
02740:                        if (failed)
02741:                            return;
02742:                        pushFollow(FOLLOW_voidInterfaceMethodDeclaratorRest_in_interfaceMemberDecl736);
02743:                        voidInterfaceMethodDeclaratorRest();
02744:                        _fsp--;
02745:                        if (failed)
02746:                            return;
02747:
02748:                    }
02749:                        break;
02750:                    case 4:
02751:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:335:9: interfaceDeclaration
02752:                    {
02753:                        pushFollow(FOLLOW_interfaceDeclaration_in_interfaceMemberDecl746);
02754:                        interfaceDeclaration();
02755:                        _fsp--;
02756:                        if (failed)
02757:                            return;
02758:
02759:                    }
02760:                        break;
02761:                    case 5:
02762:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:336:9: classDeclaration
02763:                    {
02764:                        pushFollow(FOLLOW_classDeclaration_in_interfaceMemberDecl756);
02765:                        classDeclaration();
02766:                        _fsp--;
02767:                        if (failed)
02768:                            return;
02769:
02770:                    }
02771:                        break;
02772:
02773:                    }
02774:                } catch (RecognitionException re) {
02775:                    reportError(re);
02776:                    recover(input, re);
02777:                } finally {
02778:                    if (backtracking > 0) {
02779:                        memoize(input, 28, interfaceMemberDecl_StartIndex);
02780:                    }
02781:                }
02782:                return;
02783:            }
02784:
02785:            // $ANTLR end interfaceMemberDecl
02786:
02787:            // $ANTLR start interfaceMethodOrFieldDecl
02788:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:339:1: interfaceMethodOrFieldDecl : type Identifier interfaceMethodOrFieldRest ;
02789:            public final void interfaceMethodOrFieldDecl()
02790:                    throws RecognitionException {
02791:                int interfaceMethodOrFieldDecl_StartIndex = input.index();
02792:                try {
02793:                    if (backtracking > 0 && alreadyParsedRule(input, 29)) {
02794:                        return;
02795:                    }
02796:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:340:4: ( type Identifier interfaceMethodOrFieldRest )
02797:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:340:4: type Identifier interfaceMethodOrFieldRest
02798:                    {
02799:                        pushFollow(FOLLOW_type_in_interfaceMethodOrFieldDecl768);
02800:                        type();
02801:                        _fsp--;
02802:                        if (failed)
02803:                            return;
02804:                        match(input, Identifier,
02805:                                FOLLOW_Identifier_in_interfaceMethodOrFieldDecl770);
02806:                        if (failed)
02807:                            return;
02808:                        pushFollow(FOLLOW_interfaceMethodOrFieldRest_in_interfaceMethodOrFieldDecl772);
02809:                        interfaceMethodOrFieldRest();
02810:                        _fsp--;
02811:                        if (failed)
02812:                            return;
02813:
02814:                    }
02815:
02816:                } catch (RecognitionException re) {
02817:                    reportError(re);
02818:                    recover(input, re);
02819:                } finally {
02820:                    if (backtracking > 0) {
02821:                        memoize(input, 29,
02822:                                interfaceMethodOrFieldDecl_StartIndex);
02823:                    }
02824:                }
02825:                return;
02826:            }
02827:
02828:            // $ANTLR end interfaceMethodOrFieldDecl
02829:
02830:            // $ANTLR start interfaceMethodOrFieldRest
02831:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:343:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );
02832:            public final void interfaceMethodOrFieldRest()
02833:                    throws RecognitionException {
02834:                int interfaceMethodOrFieldRest_StartIndex = input.index();
02835:                try {
02836:                    if (backtracking > 0 && alreadyParsedRule(input, 30)) {
02837:                        return;
02838:                    }
02839:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:344:4: ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest )
02840:                    int alt42 = 2;
02841:                    int LA42_0 = input.LA(1);
02842:
02843:                    if ((LA42_0 == 41 || LA42_0 == 44)) {
02844:                        alt42 = 1;
02845:                    } else if ((LA42_0 == 65)) {
02846:                        alt42 = 2;
02847:                    } else {
02848:                        if (backtracking > 0) {
02849:                            failed = true;
02850:                            return;
02851:                        }
02852:                        NoViableAltException nvae = new NoViableAltException(
02853:                                "343:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );",
02854:                                42, 0, input);
02855:
02856:                        throw nvae;
02857:                    }
02858:                    switch (alt42) {
02859:                    case 1:
02860:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:344:4: constantDeclaratorsRest ';'
02861:                    {
02862:                        pushFollow(FOLLOW_constantDeclaratorsRest_in_interfaceMethodOrFieldRest784);
02863:                        constantDeclaratorsRest();
02864:                        _fsp--;
02865:                        if (failed)
02866:                            return;
02867:                        match(input, 25,
02868:                                FOLLOW_25_in_interfaceMethodOrFieldRest786);
02869:                        if (failed)
02870:                            return;
02871:
02872:                    }
02873:                        break;
02874:                    case 2:
02875:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:345:4: interfaceMethodDeclaratorRest
02876:                    {
02877:                        pushFollow(FOLLOW_interfaceMethodDeclaratorRest_in_interfaceMethodOrFieldRest791);
02878:                        interfaceMethodDeclaratorRest();
02879:                        _fsp--;
02880:                        if (failed)
02881:                            return;
02882:
02883:                    }
02884:                        break;
02885:
02886:                    }
02887:                } catch (RecognitionException re) {
02888:                    reportError(re);
02889:                    recover(input, re);
02890:                } finally {
02891:                    if (backtracking > 0) {
02892:                        memoize(input, 30,
02893:                                interfaceMethodOrFieldRest_StartIndex);
02894:                    }
02895:                }
02896:                return;
02897:            }
02898:
02899:            // $ANTLR end interfaceMethodOrFieldRest
02900:
02901:            // $ANTLR start methodDeclaratorRest
02902:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:348:1: methodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
02903:            public final void methodDeclaratorRest()
02904:                    throws RecognitionException {
02905:                int methodDeclaratorRest_StartIndex = input.index();
02906:                try {
02907:                    if (backtracking > 0 && alreadyParsedRule(input, 31)) {
02908:                        return;
02909:                    }
02910:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:4: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
02911:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' )
02912:                    {
02913:                        pushFollow(FOLLOW_formalParameters_in_methodDeclaratorRest803);
02914:                        formalParameters();
02915:                        _fsp--;
02916:                        if (failed)
02917:                            return;
02918:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:21: ( '[' ']' )*
02919:                        loop43: do {
02920:                            int alt43 = 2;
02921:                            int LA43_0 = input.LA(1);
02922:
02923:                            if ((LA43_0 == 41)) {
02924:                                alt43 = 1;
02925:                            }
02926:
02927:                            switch (alt43) {
02928:                            case 1:
02929:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:22: '[' ']'
02930:                            {
02931:                                match(input, 41,
02932:                                        FOLLOW_41_in_methodDeclaratorRest806);
02933:                                if (failed)
02934:                                    return;
02935:                                match(input, 42,
02936:                                        FOLLOW_42_in_methodDeclaratorRest808);
02937:                                if (failed)
02938:                                    return;
02939:
02940:                            }
02941:                                break;
02942:
02943:                            default:
02944:                                break loop43;
02945:                            }
02946:                        } while (true);
02947:
02948:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:350:9: ( 'throws' qualifiedNameList )?
02949:                        int alt44 = 2;
02950:                        int LA44_0 = input.LA(1);
02951:
02952:                        if ((LA44_0 == 43)) {
02953:                            alt44 = 1;
02954:                        }
02955:                        switch (alt44) {
02956:                        case 1:
02957:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:350:10: 'throws' qualifiedNameList
02958:                        {
02959:                            match(input, 43,
02960:                                    FOLLOW_43_in_methodDeclaratorRest821);
02961:                            if (failed)
02962:                                return;
02963:                            pushFollow(FOLLOW_qualifiedNameList_in_methodDeclaratorRest823);
02964:                            qualifiedNameList();
02965:                            _fsp--;
02966:                            if (failed)
02967:                                return;
02968:
02969:                        }
02970:                            break;
02971:
02972:                        }
02973:
02974:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:9: ( methodBody | ';' )
02975:                        int alt45 = 2;
02976:                        int LA45_0 = input.LA(1);
02977:
02978:                        if ((LA45_0 == 37)) {
02979:                            alt45 = 1;
02980:                        } else if ((LA45_0 == 25)) {
02981:                            alt45 = 2;
02982:                        } else {
02983:                            if (backtracking > 0) {
02984:                                failed = true;
02985:                                return;
02986:                            }
02987:                            NoViableAltException nvae = new NoViableAltException(
02988:                                    "351:9: ( methodBody | ';' )", 45, 0, input);
02989:
02990:                            throw nvae;
02991:                        }
02992:                        switch (alt45) {
02993:                        case 1:
02994:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:13: methodBody
02995:                        {
02996:                            pushFollow(FOLLOW_methodBody_in_methodDeclaratorRest839);
02997:                            methodBody();
02998:                            _fsp--;
02999:                            if (failed)
03000:                                return;
03001:
03002:                        }
03003:                            break;
03004:                        case 2:
03005:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:352:13: ';'
03006:                        {
03007:                            match(input, 25,
03008:                                    FOLLOW_25_in_methodDeclaratorRest853);
03009:                            if (failed)
03010:                                return;
03011:
03012:                        }
03013:                            break;
03014:
03015:                        }
03016:
03017:                    }
03018:
03019:                } catch (RecognitionException re) {
03020:                    reportError(re);
03021:                    recover(input, re);
03022:                } finally {
03023:                    if (backtracking > 0) {
03024:                        memoize(input, 31, methodDeclaratorRest_StartIndex);
03025:                    }
03026:                }
03027:                return;
03028:            }
03029:
03030:            // $ANTLR end methodDeclaratorRest
03031:
03032:            // $ANTLR start voidMethodDeclaratorRest
03033:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:356:1: voidMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
03034:            public final void voidMethodDeclaratorRest()
03035:                    throws RecognitionException {
03036:                int voidMethodDeclaratorRest_StartIndex = input.index();
03037:                try {
03038:                    if (backtracking > 0 && alreadyParsedRule(input, 32)) {
03039:                        return;
03040:                    }
03041:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:4: ( formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
03042:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:4: formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' )
03043:                    {
03044:                        pushFollow(FOLLOW_formalParameters_in_voidMethodDeclaratorRest875);
03045:                        formalParameters();
03046:                        _fsp--;
03047:                        if (failed)
03048:                            return;
03049:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:21: ( 'throws' qualifiedNameList )?
03050:                        int alt46 = 2;
03051:                        int LA46_0 = input.LA(1);
03052:
03053:                        if ((LA46_0 == 43)) {
03054:                            alt46 = 1;
03055:                        }
03056:                        switch (alt46) {
03057:                        case 1:
03058:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:22: 'throws' qualifiedNameList
03059:                        {
03060:                            match(input, 43,
03061:                                    FOLLOW_43_in_voidMethodDeclaratorRest878);
03062:                            if (failed)
03063:                                return;
03064:                            pushFollow(FOLLOW_qualifiedNameList_in_voidMethodDeclaratorRest880);
03065:                            qualifiedNameList();
03066:                            _fsp--;
03067:                            if (failed)
03068:                                return;
03069:
03070:                        }
03071:                            break;
03072:
03073:                        }
03074:
03075:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:358:9: ( methodBody | ';' )
03076:                        int alt47 = 2;
03077:                        int LA47_0 = input.LA(1);
03078:
03079:                        if ((LA47_0 == 37)) {
03080:                            alt47 = 1;
03081:                        } else if ((LA47_0 == 25)) {
03082:                            alt47 = 2;
03083:                        } else {
03084:                            if (backtracking > 0) {
03085:                                failed = true;
03086:                                return;
03087:                            }
03088:                            NoViableAltException nvae = new NoViableAltException(
03089:                                    "358:9: ( methodBody | ';' )", 47, 0, input);
03090:
03091:                            throw nvae;
03092:                        }
03093:                        switch (alt47) {
03094:                        case 1:
03095:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:358:13: methodBody
03096:                        {
03097:                            pushFollow(FOLLOW_methodBody_in_voidMethodDeclaratorRest896);
03098:                            methodBody();
03099:                            _fsp--;
03100:                            if (failed)
03101:                                return;
03102:
03103:                        }
03104:                            break;
03105:                        case 2:
03106:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:13: ';'
03107:                        {
03108:                            match(input, 25,
03109:                                    FOLLOW_25_in_voidMethodDeclaratorRest910);
03110:                            if (failed)
03111:                                return;
03112:
03113:                        }
03114:                            break;
03115:
03116:                        }
03117:
03118:                    }
03119:
03120:                } catch (RecognitionException re) {
03121:                    reportError(re);
03122:                    recover(input, re);
03123:                } finally {
03124:                    if (backtracking > 0) {
03125:                        memoize(input, 32, voidMethodDeclaratorRest_StartIndex);
03126:                    }
03127:                }
03128:                return;
03129:            }
03130:
03131:            // $ANTLR end voidMethodDeclaratorRest
03132:
03133:            // $ANTLR start interfaceMethodDeclaratorRest
03134:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:363:1: interfaceMethodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' ;
03135:            public final void interfaceMethodDeclaratorRest()
03136:                    throws RecognitionException {
03137:                int interfaceMethodDeclaratorRest_StartIndex = input.index();
03138:                try {
03139:                    if (backtracking > 0 && alreadyParsedRule(input, 33)) {
03140:                        return;
03141:                    }
03142:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:4: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' )
03143:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';'
03144:                    {
03145:                        pushFollow(FOLLOW_formalParameters_in_interfaceMethodDeclaratorRest932);
03146:                        formalParameters();
03147:                        _fsp--;
03148:                        if (failed)
03149:                            return;
03150:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:21: ( '[' ']' )*
03151:                        loop48: do {
03152:                            int alt48 = 2;
03153:                            int LA48_0 = input.LA(1);
03154:
03155:                            if ((LA48_0 == 41)) {
03156:                                alt48 = 1;
03157:                            }
03158:
03159:                            switch (alt48) {
03160:                            case 1:
03161:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:22: '[' ']'
03162:                            {
03163:                                match(input, 41,
03164:                                        FOLLOW_41_in_interfaceMethodDeclaratorRest935);
03165:                                if (failed)
03166:                                    return;
03167:                                match(input, 42,
03168:                                        FOLLOW_42_in_interfaceMethodDeclaratorRest937);
03169:                                if (failed)
03170:                                    return;
03171:
03172:                            }
03173:                                break;
03174:
03175:                            default:
03176:                                break loop48;
03177:                            }
03178:                        } while (true);
03179:
03180:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:32: ( 'throws' qualifiedNameList )?
03181:                        int alt49 = 2;
03182:                        int LA49_0 = input.LA(1);
03183:
03184:                        if ((LA49_0 == 43)) {
03185:                            alt49 = 1;
03186:                        }
03187:                        switch (alt49) {
03188:                        case 1:
03189:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:33: 'throws' qualifiedNameList
03190:                        {
03191:                            match(input, 43,
03192:                                    FOLLOW_43_in_interfaceMethodDeclaratorRest942);
03193:                            if (failed)
03194:                                return;
03195:                            pushFollow(FOLLOW_qualifiedNameList_in_interfaceMethodDeclaratorRest944);
03196:                            qualifiedNameList();
03197:                            _fsp--;
03198:                            if (failed)
03199:                                return;
03200:
03201:                        }
03202:                            break;
03203:
03204:                        }
03205:
03206:                        match(input, 25,
03207:                                FOLLOW_25_in_interfaceMethodDeclaratorRest948);
03208:                        if (failed)
03209:                            return;
03210:
03211:                    }
03212:
03213:                } catch (RecognitionException re) {
03214:                    reportError(re);
03215:                    recover(input, re);
03216:                } finally {
03217:                    if (backtracking > 0) {
03218:                        memoize(input, 33,
03219:                                interfaceMethodDeclaratorRest_StartIndex);
03220:                    }
03221:                }
03222:                return;
03223:            }
03224:
03225:            // $ANTLR end interfaceMethodDeclaratorRest
03226:
03227:            // $ANTLR start interfaceGenericMethodDecl
03228:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:367:1: interfaceGenericMethodDecl : typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest ;
03229:            public final void interfaceGenericMethodDecl()
03230:                    throws RecognitionException {
03231:                int interfaceGenericMethodDecl_StartIndex = input.index();
03232:                try {
03233:                    if (backtracking > 0 && alreadyParsedRule(input, 34)) {
03234:                        return;
03235:                    }
03236:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:4: ( typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest )
03237:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:4: typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest
03238:                    {
03239:                        pushFollow(FOLLOW_typeParameters_in_interfaceGenericMethodDecl960);
03240:                        typeParameters();
03241:                        _fsp--;
03242:                        if (failed)
03243:                            return;
03244:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:19: ( type | 'void' )
03245:                        int alt50 = 2;
03246:                        int LA50_0 = input.LA(1);
03247:
03248:                        if ((LA50_0 == Identifier || (LA50_0 >= 55 && LA50_0 <= 62))) {
03249:                            alt50 = 1;
03250:                        } else if ((LA50_0 == 40)) {
03251:                            alt50 = 2;
03252:                        } else {
03253:                            if (backtracking > 0) {
03254:                                failed = true;
03255:                                return;
03256:                            }
03257:                            NoViableAltException nvae = new NoViableAltException(
03258:                                    "368:19: ( type | 'void' )", 50, 0, input);
03259:
03260:                            throw nvae;
03261:                        }
03262:                        switch (alt50) {
03263:                        case 1:
03264:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:20: type
03265:                        {
03266:                            pushFollow(FOLLOW_type_in_interfaceGenericMethodDecl963);
03267:                            type();
03268:                            _fsp--;
03269:                            if (failed)
03270:                                return;
03271:
03272:                        }
03273:                            break;
03274:                        case 2:
03275:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:27: 'void'
03276:                        {
03277:                            match(input, 40,
03278:                                    FOLLOW_40_in_interfaceGenericMethodDecl967);
03279:                            if (failed)
03280:                                return;
03281:
03282:                        }
03283:                            break;
03284:
03285:                        }
03286:
03287:                        match(input, Identifier,
03288:                                FOLLOW_Identifier_in_interfaceGenericMethodDecl970);
03289:                        if (failed)
03290:                            return;
03291:                        pushFollow(FOLLOW_interfaceMethodDeclaratorRest_in_interfaceGenericMethodDecl980);
03292:                        interfaceMethodDeclaratorRest();
03293:                        _fsp--;
03294:                        if (failed)
03295:                            return;
03296:
03297:                    }
03298:
03299:                } catch (RecognitionException re) {
03300:                    reportError(re);
03301:                    recover(input, re);
03302:                } finally {
03303:                    if (backtracking > 0) {
03304:                        memoize(input, 34,
03305:                                interfaceGenericMethodDecl_StartIndex);
03306:                    }
03307:                }
03308:                return;
03309:            }
03310:
03311:            // $ANTLR end interfaceGenericMethodDecl
03312:
03313:            // $ANTLR start voidInterfaceMethodDeclaratorRest
03314:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:372:1: voidInterfaceMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ';' ;
03315:            public final void voidInterfaceMethodDeclaratorRest()
03316:                    throws RecognitionException {
03317:                int voidInterfaceMethodDeclaratorRest_StartIndex = input
03318:                        .index();
03319:                try {
03320:                    if (backtracking > 0 && alreadyParsedRule(input, 35)) {
03321:                        return;
03322:                    }
03323:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:4: ( formalParameters ( 'throws' qualifiedNameList )? ';' )
03324:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:4: formalParameters ( 'throws' qualifiedNameList )? ';'
03325:                    {
03326:                        pushFollow(FOLLOW_formalParameters_in_voidInterfaceMethodDeclaratorRest992);
03327:                        formalParameters();
03328:                        _fsp--;
03329:                        if (failed)
03330:                            return;
03331:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:21: ( 'throws' qualifiedNameList )?
03332:                        int alt51 = 2;
03333:                        int LA51_0 = input.LA(1);
03334:
03335:                        if ((LA51_0 == 43)) {
03336:                            alt51 = 1;
03337:                        }
03338:                        switch (alt51) {
03339:                        case 1:
03340:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:22: 'throws' qualifiedNameList
03341:                        {
03342:                            match(input, 43,
03343:                                    FOLLOW_43_in_voidInterfaceMethodDeclaratorRest995);
03344:                            if (failed)
03345:                                return;
03346:                            pushFollow(FOLLOW_qualifiedNameList_in_voidInterfaceMethodDeclaratorRest997);
03347:                            qualifiedNameList();
03348:                            _fsp--;
03349:                            if (failed)
03350:                                return;
03351:
03352:                        }
03353:                            break;
03354:
03355:                        }
03356:
03357:                        match(input, 25,
03358:                                FOLLOW_25_in_voidInterfaceMethodDeclaratorRest1001);
03359:                        if (failed)
03360:                            return;
03361:
03362:                    }
03363:
03364:                } catch (RecognitionException re) {
03365:                    reportError(re);
03366:                    recover(input, re);
03367:                } finally {
03368:                    if (backtracking > 0) {
03369:                        memoize(input, 35,
03370:                                voidInterfaceMethodDeclaratorRest_StartIndex);
03371:                    }
03372:                }
03373:                return;
03374:            }
03375:
03376:            // $ANTLR end voidInterfaceMethodDeclaratorRest
03377:
03378:            // $ANTLR start constructorDeclaratorRest
03379:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:376:1: constructorDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? methodBody ;
03380:            public final void constructorDeclaratorRest()
03381:                    throws RecognitionException {
03382:                int constructorDeclaratorRest_StartIndex = input.index();
03383:                try {
03384:                    if (backtracking > 0 && alreadyParsedRule(input, 36)) {
03385:                        return;
03386:                    }
03387:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:4: ( formalParameters ( 'throws' qualifiedNameList )? methodBody )
03388:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:4: formalParameters ( 'throws' qualifiedNameList )? methodBody
03389:                    {
03390:                        pushFollow(FOLLOW_formalParameters_in_constructorDeclaratorRest1013);
03391:                        formalParameters();
03392:                        _fsp--;
03393:                        if (failed)
03394:                            return;
03395:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:21: ( 'throws' qualifiedNameList )?
03396:                        int alt52 = 2;
03397:                        int LA52_0 = input.LA(1);
03398:
03399:                        if ((LA52_0 == 43)) {
03400:                            alt52 = 1;
03401:                        }
03402:                        switch (alt52) {
03403:                        case 1:
03404:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:22: 'throws' qualifiedNameList
03405:                        {
03406:                            match(input, 43,
03407:                                    FOLLOW_43_in_constructorDeclaratorRest1016);
03408:                            if (failed)
03409:                                return;
03410:                            pushFollow(FOLLOW_qualifiedNameList_in_constructorDeclaratorRest1018);
03411:                            qualifiedNameList();
03412:                            _fsp--;
03413:                            if (failed)
03414:                                return;
03415:
03416:                        }
03417:                            break;
03418:
03419:                        }
03420:
03421:                        pushFollow(FOLLOW_methodBody_in_constructorDeclaratorRest1022);
03422:                        methodBody();
03423:                        _fsp--;
03424:                        if (failed)
03425:                            return;
03426:
03427:                    }
03428:
03429:                } catch (RecognitionException re) {
03430:                    reportError(re);
03431:                    recover(input, re);
03432:                } finally {
03433:                    if (backtracking > 0) {
03434:                        memoize(input, 36, constructorDeclaratorRest_StartIndex);
03435:                    }
03436:                }
03437:                return;
03438:            }
03439:
03440:            // $ANTLR end constructorDeclaratorRest
03441:
03442:            // $ANTLR start constantDeclarator
03443:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:380:1: constantDeclarator : Identifier constantDeclaratorRest ;
03444:            public final void constantDeclarator() throws RecognitionException {
03445:                int constantDeclarator_StartIndex = input.index();
03446:                try {
03447:                    if (backtracking > 0 && alreadyParsedRule(input, 37)) {
03448:                        return;
03449:                    }
03450:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:381:4: ( Identifier constantDeclaratorRest )
03451:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:381:4: Identifier constantDeclaratorRest
03452:                    {
03453:                        match(input, Identifier,
03454:                                FOLLOW_Identifier_in_constantDeclarator1033);
03455:                        if (failed)
03456:                            return;
03457:                        pushFollow(FOLLOW_constantDeclaratorRest_in_constantDeclarator1035);
03458:                        constantDeclaratorRest();
03459:                        _fsp--;
03460:                        if (failed)
03461:                            return;
03462:
03463:                    }
03464:
03465:                } catch (RecognitionException re) {
03466:                    reportError(re);
03467:                    recover(input, re);
03468:                } finally {
03469:                    if (backtracking > 0) {
03470:                        memoize(input, 37, constantDeclarator_StartIndex);
03471:                    }
03472:                }
03473:                return;
03474:            }
03475:
03476:            // $ANTLR end constantDeclarator
03477:
03478:            // $ANTLR start variableDeclarators
03479:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:384:1: variableDeclarators : variableDeclarator ( ',' variableDeclarator )* ;
03480:            public final void variableDeclarators() throws RecognitionException {
03481:                int variableDeclarators_StartIndex = input.index();
03482:                try {
03483:                    if (backtracking > 0 && alreadyParsedRule(input, 38)) {
03484:                        return;
03485:                    }
03486:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:4: ( variableDeclarator ( ',' variableDeclarator )* )
03487:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:4: variableDeclarator ( ',' variableDeclarator )*
03488:                    {
03489:                        pushFollow(FOLLOW_variableDeclarator_in_variableDeclarators1047);
03490:                        variableDeclarator();
03491:                        _fsp--;
03492:                        if (failed)
03493:                            return;
03494:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:23: ( ',' variableDeclarator )*
03495:                        loop53: do {
03496:                            int alt53 = 2;
03497:                            int LA53_0 = input.LA(1);
03498:
03499:                            if ((LA53_0 == 34)) {
03500:                                alt53 = 1;
03501:                            }
03502:
03503:                            switch (alt53) {
03504:                            case 1:
03505:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:24: ',' variableDeclarator
03506:                            {
03507:                                match(input, 34,
03508:                                        FOLLOW_34_in_variableDeclarators1050);
03509:                                if (failed)
03510:                                    return;
03511:                                pushFollow(FOLLOW_variableDeclarator_in_variableDeclarators1052);
03512:                                variableDeclarator();
03513:                                _fsp--;
03514:                                if (failed)
03515:                                    return;
03516:
03517:                            }
03518:                                break;
03519:
03520:                            default:
03521:                                break loop53;
03522:                            }
03523:                        } while (true);
03524:
03525:                    }
03526:
03527:                } catch (RecognitionException re) {
03528:                    reportError(re);
03529:                    recover(input, re);
03530:                } finally {
03531:                    if (backtracking > 0) {
03532:                        memoize(input, 38, variableDeclarators_StartIndex);
03533:                    }
03534:                }
03535:                return;
03536:            }
03537:
03538:            // $ANTLR end variableDeclarators
03539:
03540:            protected static class variableDeclarator_scope {
03541:                JavaLocalDeclarationDescr.IdentifierDescr ident;
03542:            }
03543:
03544:            protected Stack variableDeclarator_stack = new Stack();
03545:
03546:            // $ANTLR start variableDeclarator
03547:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:388:1: variableDeclarator : id= Identifier rest= variableDeclaratorRest ;
03548:            public final void variableDeclarator() throws RecognitionException {
03549:                variableDeclarator_stack.push(new variableDeclarator_scope());
03550:                int variableDeclarator_StartIndex = input.index();
03551:                Token id = null;
03552:                variableDeclaratorRest_return rest = null;
03553:
03554:                if (this .localVariableLevel == 1) { // we only want top level local vars
03555:                    ((variableDeclarator_scope) variableDeclarator_stack.peek()).ident = new JavaLocalDeclarationDescr.IdentifierDescr();
03556:                }
03557:
03558:                try {
03559:                    if (backtracking > 0 && alreadyParsedRule(input, 39)) {
03560:                        return;
03561:                    }
03562:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:402:4: (id= Identifier rest= variableDeclaratorRest )
03563:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:402:4: id= Identifier rest= variableDeclaratorRest
03564:                    {
03565:                        id = (Token) input.LT(1);
03566:                        match(input, Identifier,
03567:                                FOLLOW_Identifier_in_variableDeclarator1084);
03568:                        if (failed)
03569:                            return;
03570:                        pushFollow(FOLLOW_variableDeclaratorRest_in_variableDeclarator1088);
03571:                        rest = variableDeclaratorRest();
03572:                        _fsp--;
03573:                        if (failed)
03574:                            return;
03575:                        if (backtracking == 0) {
03576:
03577:                            if (this .localVariableLevel == 1) { // we only want top level local vars
03578:                                ((variableDeclarator_scope) variableDeclarator_stack
03579:                                        .peek()).ident.setIdentifier(id
03580:                                        .getText());
03581:                                ((variableDeclarator_scope) variableDeclarator_stack
03582:                                        .peek()).ident
03583:                                        .setStart(((CommonToken) id)
03584:                                                .getStartIndex() - 1);
03585:                                ((variableDeclarator_scope) variableDeclarator_stack
03586:                                        .peek()).ident
03587:                                        .setEnd(((CommonToken) ((Token) rest.stop))
03588:                                                .getStopIndex());
03589:                            }
03590:
03591:                        }
03592:
03593:                    }
03594:
03595:                    if (backtracking == 0) {
03596:
03597:                        if (this .localVariableLevel == 1) { // we only want top level local vars
03598:                            ((localVariableDeclaration_scope) localVariableDeclaration_stack
03599:                                    .peek()).descr
03600:                                    .addIdentifier(((variableDeclarator_scope) variableDeclarator_stack
03601:                                            .peek()).ident);
03602:                        }
03603:
03604:                    }
03605:                } catch (RecognitionException re) {
03606:                    reportError(re);
03607:                    recover(input, re);
03608:                } finally {
03609:                    if (backtracking > 0) {
03610:                        memoize(input, 39, variableDeclarator_StartIndex);
03611:                    }
03612:                    variableDeclarator_stack.pop();
03613:                }
03614:                return;
03615:            }
03616:
03617:            // $ANTLR end variableDeclarator
03618:
03619:            public static class variableDeclaratorRest_return extends
03620:                    ParserRuleReturnScope {
03621:            };
03622:
03623:            // $ANTLR start variableDeclaratorRest
03624:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:412:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );
03625:            public final variableDeclaratorRest_return variableDeclaratorRest()
03626:                    throws RecognitionException {
03627:                variableDeclaratorRest_return retval = new variableDeclaratorRest_return();
03628:                retval.start = input.LT(1);
03629:                int variableDeclaratorRest_StartIndex = input.index();
03630:                try {
03631:                    if (backtracking > 0 && alreadyParsedRule(input, 40)) {
03632:                        return retval;
03633:                    }
03634:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:4: ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | )
03635:                    int alt56 = 3;
03636:                    switch (input.LA(1)) {
03637:                    case 41: {
03638:                        alt56 = 1;
03639:                    }
03640:                        break;
03641:                    case 44: {
03642:                        alt56 = 2;
03643:                    }
03644:                        break;
03645:                    case EOF:
03646:                    case 25:
03647:                    case 34: {
03648:                        alt56 = 3;
03649:                    }
03650:                        break;
03651:                    default:
03652:                        if (backtracking > 0) {
03653:                            failed = true;
03654:                            return retval;
03655:                        }
03656:                        NoViableAltException nvae = new NoViableAltException(
03657:                                "412:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );",
03658:                                56, 0, input);
03659:
03660:                        throw nvae;
03661:                    }
03662:
03663:                    switch (alt56) {
03664:                    case 1:
03665:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:4: ( '[' ']' )+ ( '=' variableInitializer )?
03666:                    {
03667:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:4: ( '[' ']' )+
03668:                        int cnt54 = 0;
03669:                        loop54: do {
03670:                            int alt54 = 2;
03671:                            int LA54_0 = input.LA(1);
03672:
03673:                            if ((LA54_0 == 41)) {
03674:                                alt54 = 1;
03675:                            }
03676:
03677:                            switch (alt54) {
03678:                            case 1:
03679:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:5: '[' ']'
03680:                            {
03681:                                match(input, 41,
03682:                                        FOLLOW_41_in_variableDeclaratorRest1106);
03683:                                if (failed)
03684:                                    return retval;
03685:                                match(input, 42,
03686:                                        FOLLOW_42_in_variableDeclaratorRest1108);
03687:                                if (failed)
03688:                                    return retval;
03689:
03690:                            }
03691:                                break;
03692:
03693:                            default:
03694:                                if (cnt54 >= 1)
03695:                                    break loop54;
03696:                                if (backtracking > 0) {
03697:                                    failed = true;
03698:                                    return retval;
03699:                                }
03700:                                EarlyExitException eee = new EarlyExitException(
03701:                                        54, input);
03702:                                throw eee;
03703:                            }
03704:                            cnt54++;
03705:                        } while (true);
03706:
03707:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:15: ( '=' variableInitializer )?
03708:                        int alt55 = 2;
03709:                        int LA55_0 = input.LA(1);
03710:
03711:                        if ((LA55_0 == 44)) {
03712:                            alt55 = 1;
03713:                        }
03714:                        switch (alt55) {
03715:                        case 1:
03716:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:413:16: '=' variableInitializer
03717:                        {
03718:                            match(input, 44,
03719:                                    FOLLOW_44_in_variableDeclaratorRest1113);
03720:                            if (failed)
03721:                                return retval;
03722:                            pushFollow(FOLLOW_variableInitializer_in_variableDeclaratorRest1115);
03723:                            variableInitializer();
03724:                            _fsp--;
03725:                            if (failed)
03726:                                return retval;
03727:
03728:                        }
03729:                            break;
03730:
03731:                        }
03732:
03733:                    }
03734:                        break;
03735:                    case 2:
03736:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:414:4: '=' variableInitializer
03737:                    {
03738:                        match(input, 44,
03739:                                FOLLOW_44_in_variableDeclaratorRest1122);
03740:                        if (failed)
03741:                            return retval;
03742:                        pushFollow(FOLLOW_variableInitializer_in_variableDeclaratorRest1124);
03743:                        variableInitializer();
03744:                        _fsp--;
03745:                        if (failed)
03746:                            return retval;
03747:
03748:                    }
03749:                        break;
03750:                    case 3:
03751:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:416:2: 
03752:                    {
03753:                    }
03754:                        break;
03755:
03756:                    }
03757:                    retval.stop = input.LT(-1);
03758:
03759:                } catch (RecognitionException re) {
03760:                    reportError(re);
03761:                    recover(input, re);
03762:                } finally {
03763:                    if (backtracking > 0) {
03764:                        memoize(input, 40, variableDeclaratorRest_StartIndex);
03765:                    }
03766:                }
03767:                return retval;
03768:            }
03769:
03770:            // $ANTLR end variableDeclaratorRest
03771:
03772:            // $ANTLR start constantDeclaratorsRest
03773:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:418:1: constantDeclaratorsRest : constantDeclaratorRest ( ',' constantDeclarator )* ;
03774:            public final void constantDeclaratorsRest()
03775:                    throws RecognitionException {
03776:                int constantDeclaratorsRest_StartIndex = input.index();
03777:                try {
03778:                    if (backtracking > 0 && alreadyParsedRule(input, 41)) {
03779:                        return;
03780:                    }
03781:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:419:9: ( constantDeclaratorRest ( ',' constantDeclarator )* )
03782:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:419:9: constantDeclaratorRest ( ',' constantDeclarator )*
03783:                    {
03784:                        pushFollow(FOLLOW_constantDeclaratorRest_in_constantDeclaratorsRest1144);
03785:                        constantDeclaratorRest();
03786:                        _fsp--;
03787:                        if (failed)
03788:                            return;
03789:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:419:32: ( ',' constantDeclarator )*
03790:                        loop57: do {
03791:                            int alt57 = 2;
03792:                            int LA57_0 = input.LA(1);
03793:
03794:                            if ((LA57_0 == 34)) {
03795:                                alt57 = 1;
03796:                            }
03797:
03798:                            switch (alt57) {
03799:                            case 1:
03800:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:419:33: ',' constantDeclarator
03801:                            {
03802:                                match(input, 34,
03803:                                        FOLLOW_34_in_constantDeclaratorsRest1147);
03804:                                if (failed)
03805:                                    return;
03806:                                pushFollow(FOLLOW_constantDeclarator_in_constantDeclaratorsRest1149);
03807:                                constantDeclarator();
03808:                                _fsp--;
03809:                                if (failed)
03810:                                    return;
03811:
03812:                            }
03813:                                break;
03814:
03815:                            default:
03816:                                break loop57;
03817:                            }
03818:                        } while (true);
03819:
03820:                    }
03821:
03822:                } catch (RecognitionException re) {
03823:                    reportError(re);
03824:                    recover(input, re);
03825:                } finally {
03826:                    if (backtracking > 0) {
03827:                        memoize(input, 41, constantDeclaratorsRest_StartIndex);
03828:                    }
03829:                }
03830:                return;
03831:            }
03832:
03833:            // $ANTLR end constantDeclaratorsRest
03834:
03835:            // $ANTLR start constantDeclaratorRest
03836:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:422:1: constantDeclaratorRest : ( '[' ']' )* '=' variableInitializer ;
03837:            public final void constantDeclaratorRest()
03838:                    throws RecognitionException {
03839:                int constantDeclaratorRest_StartIndex = input.index();
03840:                try {
03841:                    if (backtracking > 0 && alreadyParsedRule(input, 42)) {
03842:                        return;
03843:                    }
03844:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:4: ( ( '[' ']' )* '=' variableInitializer )
03845:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:4: ( '[' ']' )* '=' variableInitializer
03846:                    {
03847:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:4: ( '[' ']' )*
03848:                        loop58: do {
03849:                            int alt58 = 2;
03850:                            int LA58_0 = input.LA(1);
03851:
03852:                            if ((LA58_0 == 41)) {
03853:                                alt58 = 1;
03854:                            }
03855:
03856:                            switch (alt58) {
03857:                            case 1:
03858:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:5: '[' ']'
03859:                            {
03860:                                match(input, 41,
03861:                                        FOLLOW_41_in_constantDeclaratorRest1166);
03862:                                if (failed)
03863:                                    return;
03864:                                match(input, 42,
03865:                                        FOLLOW_42_in_constantDeclaratorRest1168);
03866:                                if (failed)
03867:                                    return;
03868:
03869:                            }
03870:                                break;
03871:
03872:                            default:
03873:                                break loop58;
03874:                            }
03875:                        } while (true);
03876:
03877:                        match(input, 44,
03878:                                FOLLOW_44_in_constantDeclaratorRest1172);
03879:                        if (failed)
03880:                            return;
03881:                        pushFollow(FOLLOW_variableInitializer_in_constantDeclaratorRest1174);
03882:                        variableInitializer();
03883:                        _fsp--;
03884:                        if (failed)
03885:                            return;
03886:
03887:                    }
03888:
03889:                } catch (RecognitionException re) {
03890:                    reportError(re);
03891:                    recover(input, re);
03892:                } finally {
03893:                    if (backtracking > 0) {
03894:                        memoize(input, 42, constantDeclaratorRest_StartIndex);
03895:                    }
03896:                }
03897:                return;
03898:            }
03899:
03900:            // $ANTLR end constantDeclaratorRest
03901:
03902:            // $ANTLR start variableDeclaratorId
03903:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:426:1: variableDeclaratorId : Identifier ( '[' ']' )* ;
03904:            public final void variableDeclaratorId()
03905:                    throws RecognitionException {
03906:                int variableDeclaratorId_StartIndex = input.index();
03907:                try {
03908:                    if (backtracking > 0 && alreadyParsedRule(input, 43)) {
03909:                        return;
03910:                    }
03911:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:4: ( Identifier ( '[' ']' )* )
03912:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:4: Identifier ( '[' ']' )*
03913:                    {
03914:                        match(input, Identifier,
03915:                                FOLLOW_Identifier_in_variableDeclaratorId1186);
03916:                        if (failed)
03917:                            return;
03918:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:15: ( '[' ']' )*
03919:                        loop59: do {
03920:                            int alt59 = 2;
03921:                            int LA59_0 = input.LA(1);
03922:
03923:                            if ((LA59_0 == 41)) {
03924:                                alt59 = 1;
03925:                            }
03926:
03927:                            switch (alt59) {
03928:                            case 1:
03929:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:16: '[' ']'
03930:                            {
03931:                                match(input, 41,
03932:                                        FOLLOW_41_in_variableDeclaratorId1189);
03933:                                if (failed)
03934:                                    return;
03935:                                match(input, 42,
03936:                                        FOLLOW_42_in_variableDeclaratorId1191);
03937:                                if (failed)
03938:                                    return;
03939:
03940:                            }
03941:                                break;
03942:
03943:                            default:
03944:                                break loop59;
03945:                            }
03946:                        } while (true);
03947:
03948:                    }
03949:
03950:                } catch (RecognitionException re) {
03951:                    reportError(re);
03952:                    recover(input, re);
03953:                } finally {
03954:                    if (backtracking > 0) {
03955:                        memoize(input, 43, variableDeclaratorId_StartIndex);
03956:                    }
03957:                }
03958:                return;
03959:            }
03960:
03961:            // $ANTLR end variableDeclaratorId
03962:
03963:            // $ANTLR start variableInitializer
03964:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:430:1: variableInitializer : ( arrayInitializer | expression );
03965:            public final void variableInitializer() throws RecognitionException {
03966:                int variableInitializer_StartIndex = input.index();
03967:                try {
03968:                    if (backtracking > 0 && alreadyParsedRule(input, 44)) {
03969:                        return;
03970:                    }
03971:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:4: ( arrayInitializer | expression )
03972:                    int alt60 = 2;
03973:                    int LA60_0 = input.LA(1);
03974:
03975:                    if ((LA60_0 == 37)) {
03976:                        alt60 = 1;
03977:                    } else if ((LA60_0 == Identifier
03978:                            || (LA60_0 >= FloatingPointLiteral && LA60_0 <= DecimalLiteral)
03979:                            || LA60_0 == 33 || LA60_0 == 40
03980:                            || (LA60_0 >= 55 && LA60_0 <= 62)
03981:                            || (LA60_0 >= 64 && LA60_0 <= 65)
03982:                            || (LA60_0 >= 68 && LA60_0 <= 70)
03983:                            || (LA60_0 >= 104 && LA60_0 <= 105) || (LA60_0 >= 108 && LA60_0 <= 113))) {
03984:                        alt60 = 2;
03985:                    } else {
03986:                        if (backtracking > 0) {
03987:                            failed = true;
03988:                            return;
03989:                        }
03990:                        NoViableAltException nvae = new NoViableAltException(
03991:                                "430:1: variableInitializer : ( arrayInitializer | expression );",
03992:                                60, 0, input);
03993:
03994:                        throw nvae;
03995:                    }
03996:                    switch (alt60) {
03997:                    case 1:
03998:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:4: arrayInitializer
03999:                    {
04000:                        pushFollow(FOLLOW_arrayInitializer_in_variableInitializer1204);
04001:                        arrayInitializer();
04002:                        _fsp--;
04003:                        if (failed)
04004:                            return;
04005:
04006:                    }
04007:                        break;
04008:                    case 2:
04009:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:432:9: expression
04010:                    {
04011:                        pushFollow(FOLLOW_expression_in_variableInitializer1214);
04012:                        expression();
04013:                        _fsp--;
04014:                        if (failed)
04015:                            return;
04016:
04017:                    }
04018:                        break;
04019:
04020:                    }
04021:                } catch (RecognitionException re) {
04022:                    reportError(re);
04023:                    recover(input, re);
04024:                } finally {
04025:                    if (backtracking > 0) {
04026:                        memoize(input, 44, variableInitializer_StartIndex);
04027:                    }
04028:                }
04029:                return;
04030:            }
04031:
04032:            // $ANTLR end variableInitializer
04033:
04034:            // $ANTLR start arrayInitializer
04035:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:435:1: arrayInitializer : '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' ;
04036:            public final void arrayInitializer() throws RecognitionException {
04037:                int arrayInitializer_StartIndex = input.index();
04038:                try {
04039:                    if (backtracking > 0 && alreadyParsedRule(input, 45)) {
04040:                        return;
04041:                    }
04042:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:4: ( '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' )
04043:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:4: '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}'
04044:                    {
04045:                        match(input, 37, FOLLOW_37_in_arrayInitializer1226);
04046:                        if (failed)
04047:                            return;
04048:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:8: ( variableInitializer ( ',' variableInitializer )* ( ',' )? )?
04049:                        int alt63 = 2;
04050:                        int LA63_0 = input.LA(1);
04051:
04052:                        if ((LA63_0 == Identifier
04053:                                || (LA63_0 >= FloatingPointLiteral && LA63_0 <= DecimalLiteral)
04054:                                || LA63_0 == 33 || LA63_0 == 37 || LA63_0 == 40
04055:                                || (LA63_0 >= 55 && LA63_0 <= 62)
04056:                                || (LA63_0 >= 64 && LA63_0 <= 65)
04057:                                || (LA63_0 >= 68 && LA63_0 <= 70)
04058:                                || (LA63_0 >= 104 && LA63_0 <= 105) || (LA63_0 >= 108 && LA63_0 <= 113))) {
04059:                            alt63 = 1;
04060:                        }
04061:                        switch (alt63) {
04062:                        case 1:
04063:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:9: variableInitializer ( ',' variableInitializer )* ( ',' )?
04064:                        {
04065:                            pushFollow(FOLLOW_variableInitializer_in_arrayInitializer1229);
04066:                            variableInitializer();
04067:                            _fsp--;
04068:                            if (failed)
04069:                                return;
04070:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:29: ( ',' variableInitializer )*
04071:                            loop61: do {
04072:                                int alt61 = 2;
04073:                                int LA61_0 = input.LA(1);
04074:
04075:                                if ((LA61_0 == 34)) {
04076:                                    int LA61_1 = input.LA(2);
04077:
04078:                                    if ((LA61_1 == Identifier
04079:                                            || (LA61_1 >= FloatingPointLiteral && LA61_1 <= DecimalLiteral)
04080:                                            || LA61_1 == 33 || LA61_1 == 37
04081:                                            || LA61_1 == 40
04082:                                            || (LA61_1 >= 55 && LA61_1 <= 62)
04083:                                            || (LA61_1 >= 64 && LA61_1 <= 65)
04084:                                            || (LA61_1 >= 68 && LA61_1 <= 70)
04085:                                            || (LA61_1 >= 104 && LA61_1 <= 105) || (LA61_1 >= 108 && LA61_1 <= 113))) {
04086:                                        alt61 = 1;
04087:                                    }
04088:
04089:                                }
04090:
04091:                                switch (alt61) {
04092:                                case 1:
04093:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:30: ',' variableInitializer
04094:                                {
04095:                                    match(input, 34,
04096:                                            FOLLOW_34_in_arrayInitializer1232);
04097:                                    if (failed)
04098:                                        return;
04099:                                    pushFollow(FOLLOW_variableInitializer_in_arrayInitializer1234);
04100:                                    variableInitializer();
04101:                                    _fsp--;
04102:                                    if (failed)
04103:                                        return;
04104:
04105:                                }
04106:                                    break;
04107:
04108:                                default:
04109:                                    break loop61;
04110:                                }
04111:                            } while (true);
04112:
04113:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:56: ( ',' )?
04114:                            int alt62 = 2;
04115:                            int LA62_0 = input.LA(1);
04116:
04117:                            if ((LA62_0 == 34)) {
04118:                                alt62 = 1;
04119:                            }
04120:                            switch (alt62) {
04121:                            case 1:
04122:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:57: ','
04123:                            {
04124:                                match(input, 34,
04125:                                        FOLLOW_34_in_arrayInitializer1239);
04126:                                if (failed)
04127:                                    return;
04128:
04129:                            }
04130:                                break;
04131:
04132:                            }
04133:
04134:                        }
04135:                            break;
04136:
04137:                        }
04138:
04139:                        match(input, 38, FOLLOW_38_in_arrayInitializer1246);
04140:                        if (failed)
04141:                            return;
04142:
04143:                    }
04144:
04145:                } catch (RecognitionException re) {
04146:                    reportError(re);
04147:                    recover(input, re);
04148:                } finally {
04149:                    if (backtracking > 0) {
04150:                        memoize(input, 45, arrayInitializer_StartIndex);
04151:                    }
04152:                }
04153:                return;
04154:            }
04155:
04156:            // $ANTLR end arrayInitializer
04157:
04158:            // $ANTLR start modifier
04159:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:439:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );
04160:            public final void modifier() throws RecognitionException {
04161:                int modifier_StartIndex = input.index();
04162:                try {
04163:                    if (backtracking > 0 && alreadyParsedRule(input, 46)) {
04164:                        return;
04165:                    }
04166:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:9: ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )
04167:                    int alt64 = 12;
04168:                    switch (input.LA(1)) {
04169:                    case 71: {
04170:                        alt64 = 1;
04171:                    }
04172:                        break;
04173:                    case 45: {
04174:                        alt64 = 2;
04175:                    }
04176:                        break;
04177:                    case 46: {
04178:                        alt64 = 3;
04179:                    }
04180:                        break;
04181:                    case 47: {
04182:                        alt64 = 4;
04183:                    }
04184:                        break;
04185:                    case 27: {
04186:                        alt64 = 5;
04187:                    }
04188:                        break;
04189:                    case 48: {
04190:                        alt64 = 6;
04191:                    }
04192:                        break;
04193:                    case 49: {
04194:                        alt64 = 7;
04195:                    }
04196:                        break;
04197:                    case 50: {
04198:                        alt64 = 8;
04199:                    }
04200:                        break;
04201:                    case 51: {
04202:                        alt64 = 9;
04203:                    }
04204:                        break;
04205:                    case 52: {
04206:                        alt64 = 10;
04207:                    }
04208:                        break;
04209:                    case 53: {
04210:                        alt64 = 11;
04211:                    }
04212:                        break;
04213:                    case 54: {
04214:                        alt64 = 12;
04215:                    }
04216:                        break;
04217:                    default:
04218:                        if (backtracking > 0) {
04219:                            failed = true;
04220:                            return;
04221:                        }
04222:                        NoViableAltException nvae = new NoViableAltException(
04223:                                "439:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );",
04224:                                64, 0, input);
04225:
04226:                        throw nvae;
04227:                    }
04228:
04229:                    switch (alt64) {
04230:                    case 1:
04231:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:9: annotation
04232:                    {
04233:                        pushFollow(FOLLOW_annotation_in_modifier1262);
04234:                        annotation();
04235:                        _fsp--;
04236:                        if (failed)
04237:                            return;
04238:
04239:                    }
04240:                        break;
04241:                    case 2:
04242:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:441:9: 'public'
04243:                    {
04244:                        match(input, 45, FOLLOW_45_in_modifier1272);
04245:                        if (failed)
04246:                            return;
04247:
04248:                    }
04249:                        break;
04250:                    case 3:
04251:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:442:9: 'protected'
04252:                    {
04253:                        match(input, 46, FOLLOW_46_in_modifier1282);
04254:                        if (failed)
04255:                            return;
04256:
04257:                    }
04258:                        break;
04259:                    case 4:
04260:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:443:9: 'private'
04261:                    {
04262:                        match(input, 47, FOLLOW_47_in_modifier1292);
04263:                        if (failed)
04264:                            return;
04265:
04266:                    }
04267:                        break;
04268:                    case 5:
04269:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:444:9: 'static'
04270:                    {
04271:                        match(input, 27, FOLLOW_27_in_modifier1302);
04272:                        if (failed)
04273:                            return;
04274:
04275:                    }
04276:                        break;
04277:                    case 6:
04278:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:445:9: 'abstract'
04279:                    {
04280:                        match(input, 48, FOLLOW_48_in_modifier1312);
04281:                        if (failed)
04282:                            return;
04283:
04284:                    }
04285:                        break;
04286:                    case 7:
04287:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:446:9: 'final'
04288:                    {
04289:                        match(input, 49, FOLLOW_49_in_modifier1322);
04290:                        if (failed)
04291:                            return;
04292:
04293:                    }
04294:                        break;
04295:                    case 8:
04296:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:447:9: 'native'
04297:                    {
04298:                        match(input, 50, FOLLOW_50_in_modifier1332);
04299:                        if (failed)
04300:                            return;
04301:
04302:                    }
04303:                        break;
04304:                    case 9:
04305:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:448:9: 'synchronized'
04306:                    {
04307:                        match(input, 51, FOLLOW_51_in_modifier1342);
04308:                        if (failed)
04309:                            return;
04310:
04311:                    }
04312:                        break;
04313:                    case 10:
04314:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:449:9: 'transient'
04315:                    {
04316:                        match(input, 52, FOLLOW_52_in_modifier1352);
04317:                        if (failed)
04318:                            return;
04319:
04320:                    }
04321:                        break;
04322:                    case 11:
04323:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:450:9: 'volatile'
04324:                    {
04325:                        match(input, 53, FOLLOW_53_in_modifier1362);
04326:                        if (failed)
04327:                            return;
04328:
04329:                    }
04330:                        break;
04331:                    case 12:
04332:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:451:9: 'strictfp'
04333:                    {
04334:                        match(input, 54, FOLLOW_54_in_modifier1372);
04335:                        if (failed)
04336:                            return;
04337:
04338:                    }
04339:                        break;
04340:
04341:                    }
04342:                } catch (RecognitionException re) {
04343:                    reportError(re);
04344:                    recover(input, re);
04345:                } finally {
04346:                    if (backtracking > 0) {
04347:                        memoize(input, 46, modifier_StartIndex);
04348:                    }
04349:                }
04350:                return;
04351:            }
04352:
04353:            // $ANTLR end modifier
04354:
04355:            // $ANTLR start packageOrTypeName
04356:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:454:1: packageOrTypeName : Identifier ( '.' Identifier )* ;
04357:            public final void packageOrTypeName() throws RecognitionException {
04358:                int packageOrTypeName_StartIndex = input.index();
04359:                try {
04360:                    if (backtracking > 0 && alreadyParsedRule(input, 47)) {
04361:                        return;
04362:                    }
04363:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:4: ( Identifier ( '.' Identifier )* )
04364:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:4: Identifier ( '.' Identifier )*
04365:                    {
04366:                        match(input, Identifier,
04367:                                FOLLOW_Identifier_in_packageOrTypeName1386);
04368:                        if (failed)
04369:                            return;
04370:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:15: ( '.' Identifier )*
04371:                        loop65: do {
04372:                            int alt65 = 2;
04373:                            int LA65_0 = input.LA(1);
04374:
04375:                            if ((LA65_0 == 28)) {
04376:                                int LA65_1 = input.LA(2);
04377:
04378:                                if ((LA65_1 == Identifier)) {
04379:                                    int LA65_2 = input.LA(3);
04380:
04381:                                    if ((synpred85())) {
04382:                                        alt65 = 1;
04383:                                    }
04384:
04385:                                }
04386:
04387:                            }
04388:
04389:                            switch (alt65) {
04390:                            case 1:
04391:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:16: '.' Identifier
04392:                            {
04393:                                match(input, 28,
04394:                                        FOLLOW_28_in_packageOrTypeName1389);
04395:                                if (failed)
04396:                                    return;
04397:                                match(input, Identifier,
04398:                                        FOLLOW_Identifier_in_packageOrTypeName1391);
04399:                                if (failed)
04400:                                    return;
04401:
04402:                            }
04403:                                break;
04404:
04405:                            default:
04406:                                break loop65;
04407:                            }
04408:                        } while (true);
04409:
04410:                    }
04411:
04412:                } catch (RecognitionException re) {
04413:                    reportError(re);
04414:                    recover(input, re);
04415:                } finally {
04416:                    if (backtracking > 0) {
04417:                        memoize(input, 47, packageOrTypeName_StartIndex);
04418:                    }
04419:                }
04420:                return;
04421:            }
04422:
04423:            // $ANTLR end packageOrTypeName
04424:
04425:            // $ANTLR start enumConstantName
04426:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:458:1: enumConstantName : Identifier ;
04427:            public final void enumConstantName() throws RecognitionException {
04428:                int enumConstantName_StartIndex = input.index();
04429:                try {
04430:                    if (backtracking > 0 && alreadyParsedRule(input, 48)) {
04431:                        return;
04432:                    }
04433:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:9: ( Identifier )
04434:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:9: Identifier
04435:                    {
04436:                        match(input, Identifier,
04437:                                FOLLOW_Identifier_in_enumConstantName1409);
04438:                        if (failed)
04439:                            return;
04440:
04441:                    }
04442:
04443:                } catch (RecognitionException re) {
04444:                    reportError(re);
04445:                    recover(input, re);
04446:                } finally {
04447:                    if (backtracking > 0) {
04448:                        memoize(input, 48, enumConstantName_StartIndex);
04449:                    }
04450:                }
04451:                return;
04452:            }
04453:
04454:            // $ANTLR end enumConstantName
04455:
04456:            // $ANTLR start typeName
04457:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:462:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );
04458:            public final void typeName() throws RecognitionException {
04459:                int typeName_StartIndex = input.index();
04460:                try {
04461:                    if (backtracking > 0 && alreadyParsedRule(input, 49)) {
04462:                        return;
04463:                    }
04464:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:463:6: ( Identifier | packageOrTypeName '.' Identifier )
04465:                    int alt66 = 2;
04466:                    int LA66_0 = input.LA(1);
04467:
04468:                    if ((LA66_0 == Identifier)) {
04469:                        int LA66_1 = input.LA(2);
04470:
04471:                        if ((LA66_1 == EOF)) {
04472:                            alt66 = 1;
04473:                        } else if ((LA66_1 == 28)) {
04474:                            alt66 = 2;
04475:                        } else {
04476:                            if (backtracking > 0) {
04477:                                failed = true;
04478:                                return;
04479:                            }
04480:                            NoViableAltException nvae = new NoViableAltException(
04481:                                    "462:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );",
04482:                                    66, 1, input);
04483:
04484:                            throw nvae;
04485:                        }
04486:                    } else {
04487:                        if (backtracking > 0) {
04488:                            failed = true;
04489:                            return;
04490:                        }
04491:                        NoViableAltException nvae = new NoViableAltException(
04492:                                "462:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );",
04493:                                66, 0, input);
04494:
04495:                        throw nvae;
04496:                    }
04497:                    switch (alt66) {
04498:                    case 1:
04499:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:463:6: Identifier
04500:                    {
04501:                        match(input, Identifier,
04502:                                FOLLOW_Identifier_in_typeName1425);
04503:                        if (failed)
04504:                            return;
04505:
04506:                    }
04507:                        break;
04508:                    case 2:
04509:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:464:9: packageOrTypeName '.' Identifier
04510:                    {
04511:                        pushFollow(FOLLOW_packageOrTypeName_in_typeName1435);
04512:                        packageOrTypeName();
04513:                        _fsp--;
04514:                        if (failed)
04515:                            return;
04516:                        match(input, 28, FOLLOW_28_in_typeName1437);
04517:                        if (failed)
04518:                            return;
04519:                        match(input, Identifier,
04520:                                FOLLOW_Identifier_in_typeName1439);
04521:                        if (failed)
04522:                            return;
04523:
04524:                    }
04525:                        break;
04526:
04527:                    }
04528:                } catch (RecognitionException re) {
04529:                    reportError(re);
04530:                    recover(input, re);
04531:                } finally {
04532:                    if (backtracking > 0) {
04533:                        memoize(input, 49, typeName_StartIndex);
04534:                    }
04535:                }
04536:                return;
04537:            }
04538:
04539:            // $ANTLR end typeName
04540:
04541:            public static class type_return extends ParserRuleReturnScope {
04542:            };
04543:
04544:            // $ANTLR start type
04545:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:467:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );
04546:            public final type_return type() throws RecognitionException {
04547:                type_return retval = new type_return();
04548:                retval.start = input.LT(1);
04549:                int type_StartIndex = input.index();
04550:                try {
04551:                    if (backtracking > 0 && alreadyParsedRule(input, 50)) {
04552:                        return retval;
04553:                    }
04554:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:4: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* )
04555:                    int alt72 = 2;
04556:                    int LA72_0 = input.LA(1);
04557:
04558:                    if ((LA72_0 == Identifier)) {
04559:                        alt72 = 1;
04560:                    } else if (((LA72_0 >= 55 && LA72_0 <= 62))) {
04561:                        alt72 = 2;
04562:                    } else {
04563:                        if (backtracking > 0) {
04564:                            failed = true;
04565:                            return retval;
04566:                        }
04567:                        NoViableAltException nvae = new NoViableAltException(
04568:                                "467:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );",
04569:                                72, 0, input);
04570:
04571:                        throw nvae;
04572:                    }
04573:                    switch (alt72) {
04574:                    case 1:
04575:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )*
04576:                    {
04577:                        match(input, Identifier, FOLLOW_Identifier_in_type1450);
04578:                        if (failed)
04579:                            return retval;
04580:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:15: ( typeArguments )?
04581:                        int alt67 = 2;
04582:                        int LA67_0 = input.LA(1);
04583:
04584:                        if ((LA67_0 == 33)) {
04585:                            int LA67_1 = input.LA(2);
04586:
04587:                            if ((LA67_1 == Identifier || (LA67_1 >= 55 && LA67_1 <= 63))) {
04588:                                alt67 = 1;
04589:                            }
04590:                        }
04591:                        switch (alt67) {
04592:                        case 1:
04593:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:16: typeArguments
04594:                        {
04595:                            pushFollow(FOLLOW_typeArguments_in_type1453);
04596:                            typeArguments();
04597:                            _fsp--;
04598:                            if (failed)
04599:                                return retval;
04600:
04601:                        }
04602:                            break;
04603:
04604:                        }
04605:
04606:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:32: ( '.' Identifier ( typeArguments )? )*
04607:                        loop69: do {
04608:                            int alt69 = 2;
04609:                            int LA69_0 = input.LA(1);
04610:
04611:                            if ((LA69_0 == 28)) {
04612:                                alt69 = 1;
04613:                            }
04614:
04615:                            switch (alt69) {
04616:                            case 1:
04617:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:33: '.' Identifier ( typeArguments )?
04618:                            {
04619:                                match(input, 28, FOLLOW_28_in_type1458);
04620:                                if (failed)
04621:                                    return retval;
04622:                                match(input, Identifier,
04623:                                        FOLLOW_Identifier_in_type1460);
04624:                                if (failed)
04625:                                    return retval;
04626:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:48: ( typeArguments )?
04627:                                int alt68 = 2;
04628:                                int LA68_0 = input.LA(1);
04629:
04630:                                if ((LA68_0 == 33)) {
04631:                                    int LA68_1 = input.LA(2);
04632:
04633:                                    if ((LA68_1 == Identifier || (LA68_1 >= 55 && LA68_1 <= 63))) {
04634:                                        alt68 = 1;
04635:                                    }
04636:                                }
04637:                                switch (alt68) {
04638:                                case 1:
04639:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:49: typeArguments
04640:                                {
04641:                                    pushFollow(FOLLOW_typeArguments_in_type1463);
04642:                                    typeArguments();
04643:                                    _fsp--;
04644:                                    if (failed)
04645:                                        return retval;
04646:
04647:                                }
04648:                                    break;
04649:
04650:                                }
04651:
04652:                            }
04653:                                break;
04654:
04655:                            default:
04656:                                break loop69;
04657:                            }
04658:                        } while (true);
04659:
04660:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:68: ( '[' ']' )*
04661:                        loop70: do {
04662:                            int alt70 = 2;
04663:                            int LA70_0 = input.LA(1);
04664:
04665:                            if ((LA70_0 == 41)) {
04666:                                alt70 = 1;
04667:                            }
04668:
04669:                            switch (alt70) {
04670:                            case 1:
04671:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:69: '[' ']'
04672:                            {
04673:                                match(input, 41, FOLLOW_41_in_type1471);
04674:                                if (failed)
04675:                                    return retval;
04676:                                match(input, 42, FOLLOW_42_in_type1473);
04677:                                if (failed)
04678:                                    return retval;
04679:
04680:                            }
04681:                                break;
04682:
04683:                            default:
04684:                                break loop70;
04685:                            }
04686:                        } while (true);
04687:
04688:                    }
04689:                        break;
04690:                    case 2:
04691:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:469:4: primitiveType ( '[' ']' )*
04692:                    {
04693:                        pushFollow(FOLLOW_primitiveType_in_type1480);
04694:                        primitiveType();
04695:                        _fsp--;
04696:                        if (failed)
04697:                            return retval;
04698:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:469:18: ( '[' ']' )*
04699:                        loop71: do {
04700:                            int alt71 = 2;
04701:                            int LA71_0 = input.LA(1);
04702:
04703:                            if ((LA71_0 == 41)) {
04704:                                alt71 = 1;
04705:                            }
04706:
04707:                            switch (alt71) {
04708:                            case 1:
04709:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:469:19: '[' ']'
04710:                            {
04711:                                match(input, 41, FOLLOW_41_in_type1483);
04712:                                if (failed)
04713:                                    return retval;
04714:                                match(input, 42, FOLLOW_42_in_type1485);
04715:                                if (failed)
04716:                                    return retval;
04717:
04718:                            }
04719:                                break;
04720:
04721:                            default:
04722:                                break loop71;
04723:                            }
04724:                        } while (true);
04725:
04726:                    }
04727:                        break;
04728:
04729:                    }
04730:                    retval.stop = input.LT(-1);
04731:
04732:                } catch (RecognitionException re) {
04733:                    reportError(re);
04734:                    recover(input, re);
04735:                } finally {
04736:                    if (backtracking > 0) {
04737:                        memoize(input, 50, type_StartIndex);
04738:                    }
04739:                }
04740:                return retval;
04741:            }
04742:
04743:            // $ANTLR end type
04744:
04745:            // $ANTLR start primitiveType
04746:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:1: primitiveType : ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' );
04747:            public final void primitiveType() throws RecognitionException {
04748:                int primitiveType_StartIndex = input.index();
04749:                try {
04750:                    if (backtracking > 0 && alreadyParsedRule(input, 51)) {
04751:                        return;
04752:                    }
04753:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:473:9: ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' )
04754:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
04755:                    {
04756:                        if ((input.LA(1) >= 55 && input.LA(1) <= 62)) {
04757:                            input.consume();
04758:                            errorRecovery = false;
04759:                            failed = false;
04760:                        } else {
04761:                            if (backtracking > 0) {
04762:                                failed = true;
04763:                                return;
04764:                            }
04765:                            MismatchedSetException mse = new MismatchedSetException(
04766:                                    null, input);
04767:                            recoverFromMismatchedSet(input, mse,
04768:                                    FOLLOW_set_in_primitiveType0);
04769:                            throw mse;
04770:                        }
04771:
04772:                    }
04773:
04774:                } catch (RecognitionException re) {
04775:                    reportError(re);
04776:                    recover(input, re);
04777:                } finally {
04778:                    if (backtracking > 0) {
04779:                        memoize(input, 51, primitiveType_StartIndex);
04780:                    }
04781:                }
04782:                return;
04783:            }
04784:
04785:            // $ANTLR end primitiveType
04786:
04787:            public static class variableModifier_return extends
04788:                    ParserRuleReturnScope {
04789:            };
04790:
04791:            // $ANTLR start variableModifier
04792:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:483:1: variableModifier : ( 'final' | annotation );
04793:            public final variableModifier_return variableModifier()
04794:                    throws RecognitionException {
04795:                variableModifier_return retval = new variableModifier_return();
04796:                retval.start = input.LT(1);
04797:                int variableModifier_StartIndex = input.index();
04798:                try {
04799:                    if (backtracking > 0 && alreadyParsedRule(input, 52)) {
04800:                        return retval;
04801:                    }
04802:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:484:4: ( 'final' | annotation )
04803:                    int alt73 = 2;
04804:                    int LA73_0 = input.LA(1);
04805:
04806:                    if ((LA73_0 == 49)) {
04807:                        alt73 = 1;
04808:                    } else if ((LA73_0 == 71)) {
04809:                        alt73 = 2;
04810:                    } else {
04811:                        if (backtracking > 0) {
04812:                            failed = true;
04813:                            return retval;
04814:                        }
04815:                        NoViableAltException nvae = new NoViableAltException(
04816:                                "483:1: variableModifier : ( 'final' | annotation );",
04817:                                73, 0, input);
04818:
04819:                        throw nvae;
04820:                    }
04821:                    switch (alt73) {
04822:                    case 1:
04823:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:484:4: 'final'
04824:                    {
04825:                        match(input, 49, FOLLOW_49_in_variableModifier1573);
04826:                        if (failed)
04827:                            return retval;
04828:
04829:                    }
04830:                        break;
04831:                    case 2:
04832:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:485:9: annotation
04833:                    {
04834:                        pushFollow(FOLLOW_annotation_in_variableModifier1583);
04835:                        annotation();
04836:                        _fsp--;
04837:                        if (failed)
04838:                            return retval;
04839:
04840:                    }
04841:                        break;
04842:
04843:                    }
04844:                    retval.stop = input.LT(-1);
04845:
04846:                } catch (RecognitionException re) {
04847:                    reportError(re);
04848:                    recover(input, re);
04849:                } finally {
04850:                    if (backtracking > 0) {
04851:                        memoize(input, 52, variableModifier_StartIndex);
04852:                    }
04853:                }
04854:                return retval;
04855:            }
04856:
04857:            // $ANTLR end variableModifier
04858:
04859:            // $ANTLR start typeArguments
04860:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:488:1: typeArguments : '<' typeArgument ( ',' typeArgument )* '>' ;
04861:            public final void typeArguments() throws RecognitionException {
04862:                int typeArguments_StartIndex = input.index();
04863:                try {
04864:                    if (backtracking > 0 && alreadyParsedRule(input, 53)) {
04865:                        return;
04866:                    }
04867:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:489:4: ( '<' typeArgument ( ',' typeArgument )* '>' )
04868:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:489:4: '<' typeArgument ( ',' typeArgument )* '>'
04869:                    {
04870:                        match(input, 33, FOLLOW_33_in_typeArguments1594);
04871:                        if (failed)
04872:                            return;
04873:                        pushFollow(FOLLOW_typeArgument_in_typeArguments1596);
04874:                        typeArgument();
04875:                        _fsp--;
04876:                        if (failed)
04877:                            return;
04878:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:489:21: ( ',' typeArgument )*
04879:                        loop74: do {
04880:                            int alt74 = 2;
04881:                            int LA74_0 = input.LA(1);
04882:
04883:                            if ((LA74_0 == 34)) {
04884:                                alt74 = 1;
04885:                            }
04886:
04887:                            switch (alt74) {
04888:                            case 1:
04889:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:489:22: ',' typeArgument
04890:                            {
04891:                                match(input, 34, FOLLOW_34_in_typeArguments1599);
04892:                                if (failed)
04893:                                    return;
04894:                                pushFollow(FOLLOW_typeArgument_in_typeArguments1601);
04895:                                typeArgument();
04896:                                _fsp--;
04897:                                if (failed)
04898:                                    return;
04899:
04900:                            }
04901:                                break;
04902:
04903:                            default:
04904:                                break loop74;
04905:                            }
04906:                        } while (true);
04907:
04908:                        match(input, 35, FOLLOW_35_in_typeArguments1605);
04909:                        if (failed)
04910:                            return;
04911:
04912:                    }
04913:
04914:                } catch (RecognitionException re) {
04915:                    reportError(re);
04916:                    recover(input, re);
04917:                } finally {
04918:                    if (backtracking > 0) {
04919:                        memoize(input, 53, typeArguments_StartIndex);
04920:                    }
04921:                }
04922:                return;
04923:            }
04924:
04925:            // $ANTLR end typeArguments
04926:
04927:            // $ANTLR start typeArgument
04928:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:492:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );
04929:            public final void typeArgument() throws RecognitionException {
04930:                int typeArgument_StartIndex = input.index();
04931:                try {
04932:                    if (backtracking > 0 && alreadyParsedRule(input, 54)) {
04933:                        return;
04934:                    }
04935:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:4: ( type | '?' ( ( 'extends' | 'super' ) type )? )
04936:                    int alt76 = 2;
04937:                    int LA76_0 = input.LA(1);
04938:
04939:                    if ((LA76_0 == Identifier || (LA76_0 >= 55 && LA76_0 <= 62))) {
04940:                        alt76 = 1;
04941:                    } else if ((LA76_0 == 63)) {
04942:                        alt76 = 2;
04943:                    } else {
04944:                        if (backtracking > 0) {
04945:                            failed = true;
04946:                            return;
04947:                        }
04948:                        NoViableAltException nvae = new NoViableAltException(
04949:                                "492:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );",
04950:                                76, 0, input);
04951:
04952:                        throw nvae;
04953:                    }
04954:                    switch (alt76) {
04955:                    case 1:
04956:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:4: type
04957:                    {
04958:                        pushFollow(FOLLOW_type_in_typeArgument1617);
04959:                        type();
04960:                        _fsp--;
04961:                        if (failed)
04962:                            return;
04963:
04964:                    }
04965:                        break;
04966:                    case 2:
04967:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:494:4: '?' ( ( 'extends' | 'super' ) type )?
04968:                    {
04969:                        match(input, 63, FOLLOW_63_in_typeArgument1622);
04970:                        if (failed)
04971:                            return;
04972:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:494:8: ( ( 'extends' | 'super' ) type )?
04973:                        int alt75 = 2;
04974:                        int LA75_0 = input.LA(1);
04975:
04976:                        if ((LA75_0 == 31 || LA75_0 == 64)) {
04977:                            alt75 = 1;
04978:                        }
04979:                        switch (alt75) {
04980:                        case 1:
04981:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:494:9: ( 'extends' | 'super' ) type
04982:                        {
04983:                            if (input.LA(1) == 31 || input.LA(1) == 64) {
04984:                                input.consume();
04985:                                errorRecovery = false;
04986:                                failed = false;
04987:                            } else {
04988:                                if (backtracking > 0) {
04989:                                    failed = true;
04990:                                    return;
04991:                                }
04992:                                MismatchedSetException mse = new MismatchedSetException(
04993:                                        null, input);
04994:                                recoverFromMismatchedSet(input, mse,
04995:                                        FOLLOW_set_in_typeArgument1625);
04996:                                throw mse;
04997:                            }
04998:
04999:                            pushFollow(FOLLOW_type_in_typeArgument1633);
05000:                            type();
05001:                            _fsp--;
05002:                            if (failed)
05003:                                return;
05004:
05005:                        }
05006:                            break;
05007:
05008:                        }
05009:
05010:                    }
05011:                        break;
05012:
05013:                    }
05014:                } catch (RecognitionException re) {
05015:                    reportError(re);
05016:                    recover(input, re);
05017:                } finally {
05018:                    if (backtracking > 0) {
05019:                        memoize(input, 54, typeArgument_StartIndex);
05020:                    }
05021:                }
05022:                return;
05023:            }
05024:
05025:            // $ANTLR end typeArgument
05026:
05027:            // $ANTLR start qualifiedNameList
05028:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:497:1: qualifiedNameList : qualifiedName ( ',' qualifiedName )* ;
05029:            public final void qualifiedNameList() throws RecognitionException {
05030:                int qualifiedNameList_StartIndex = input.index();
05031:                try {
05032:                    if (backtracking > 0 && alreadyParsedRule(input, 55)) {
05033:                        return;
05034:                    }
05035:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:4: ( qualifiedName ( ',' qualifiedName )* )
05036:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:4: qualifiedName ( ',' qualifiedName )*
05037:                    {
05038:                        pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList1647);
05039:                        qualifiedName();
05040:                        _fsp--;
05041:                        if (failed)
05042:                            return;
05043:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:18: ( ',' qualifiedName )*
05044:                        loop77: do {
05045:                            int alt77 = 2;
05046:                            int LA77_0 = input.LA(1);
05047:
05048:                            if ((LA77_0 == 34)) {
05049:                                alt77 = 1;
05050:                            }
05051:
05052:                            switch (alt77) {
05053:                            case 1:
05054:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:19: ',' qualifiedName
05055:                            {
05056:                                match(input, 34,
05057:                                        FOLLOW_34_in_qualifiedNameList1650);
05058:                                if (failed)
05059:                                    return;
05060:                                pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList1652);
05061:                                qualifiedName();
05062:                                _fsp--;
05063:                                if (failed)
05064:                                    return;
05065:
05066:                            }
05067:                                break;
05068:
05069:                            default:
05070:                                break loop77;
05071:                            }
05072:                        } while (true);
05073:
05074:                    }
05075:
05076:                } catch (RecognitionException re) {
05077:                    reportError(re);
05078:                    recover(input, re);
05079:                } finally {
05080:                    if (backtracking > 0) {
05081:                        memoize(input, 55, qualifiedNameList_StartIndex);
05082:                    }
05083:                }
05084:                return;
05085:            }
05086:
05087:            // $ANTLR end qualifiedNameList
05088:
05089:            // $ANTLR start formalParameters
05090:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:501:1: formalParameters : '(' ( formalParameterDecls )? ')' ;
05091:            public final void formalParameters() throws RecognitionException {
05092:                int formalParameters_StartIndex = input.index();
05093:                try {
05094:                    if (backtracking > 0 && alreadyParsedRule(input, 56)) {
05095:                        return;
05096:                    }
05097:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:4: ( '(' ( formalParameterDecls )? ')' )
05098:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:4: '(' ( formalParameterDecls )? ')'
05099:                    {
05100:                        match(input, 65, FOLLOW_65_in_formalParameters1666);
05101:                        if (failed)
05102:                            return;
05103:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:8: ( formalParameterDecls )?
05104:                        int alt78 = 2;
05105:                        int LA78_0 = input.LA(1);
05106:
05107:                        if ((LA78_0 == Identifier || LA78_0 == 49
05108:                                || (LA78_0 >= 55 && LA78_0 <= 62) || LA78_0 == 71)) {
05109:                            alt78 = 1;
05110:                        }
05111:                        switch (alt78) {
05112:                        case 1:
05113:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: formalParameterDecls
05114:                        {
05115:                            pushFollow(FOLLOW_formalParameterDecls_in_formalParameters1668);
05116:                            formalParameterDecls();
05117:                            _fsp--;
05118:                            if (failed)
05119:                                return;
05120:
05121:                        }
05122:                            break;
05123:
05124:                        }
05125:
05126:                        match(input, 66, FOLLOW_66_in_formalParameters1671);
05127:                        if (failed)
05128:                            return;
05129:
05130:                    }
05131:
05132:                } catch (RecognitionException re) {
05133:                    reportError(re);
05134:                    recover(input, re);
05135:                } finally {
05136:                    if (backtracking > 0) {
05137:                        memoize(input, 56, formalParameters_StartIndex);
05138:                    }
05139:                }
05140:                return;
05141:            }
05142:
05143:            // $ANTLR end formalParameters
05144:
05145:            // $ANTLR start formalParameterDecls
05146:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:505:1: formalParameterDecls : ( variableModifier )* type ( formalParameterDeclsRest )? ;
05147:            public final void formalParameterDecls()
05148:                    throws RecognitionException {
05149:                int formalParameterDecls_StartIndex = input.index();
05150:                try {
05151:                    if (backtracking > 0 && alreadyParsedRule(input, 57)) {
05152:                        return;
05153:                    }
05154:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:4: ( ( variableModifier )* type ( formalParameterDeclsRest )? )
05155:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:4: ( variableModifier )* type ( formalParameterDeclsRest )?
05156:                    {
05157:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:4: ( variableModifier )*
05158:                        loop79: do {
05159:                            int alt79 = 2;
05160:                            int LA79_0 = input.LA(1);
05161:
05162:                            if ((LA79_0 == 49 || LA79_0 == 71)) {
05163:                                alt79 = 1;
05164:                            }
05165:
05166:                            switch (alt79) {
05167:                            case 1:
05168:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
05169:                            {
05170:                                pushFollow(FOLLOW_variableModifier_in_formalParameterDecls1683);
05171:                                variableModifier();
05172:                                _fsp--;
05173:                                if (failed)
05174:                                    return;
05175:
05176:                            }
05177:                                break;
05178:
05179:                            default:
05180:                                break loop79;
05181:                            }
05182:                        } while (true);
05183:
05184:                        pushFollow(FOLLOW_type_in_formalParameterDecls1686);
05185:                        type();
05186:                        _fsp--;
05187:                        if (failed)
05188:                            return;
05189:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:27: ( formalParameterDeclsRest )?
05190:                        int alt80 = 2;
05191:                        int LA80_0 = input.LA(1);
05192:
05193:                        if ((LA80_0 == Identifier || LA80_0 == 67)) {
05194:                            alt80 = 1;
05195:                        }
05196:                        switch (alt80) {
05197:                        case 1:
05198:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: formalParameterDeclsRest
05199:                        {
05200:                            pushFollow(FOLLOW_formalParameterDeclsRest_in_formalParameterDecls1688);
05201:                            formalParameterDeclsRest();
05202:                            _fsp--;
05203:                            if (failed)
05204:                                return;
05205:
05206:                        }
05207:                            break;
05208:
05209:                        }
05210:
05211:                    }
05212:
05213:                } catch (RecognitionException re) {
05214:                    reportError(re);
05215:                    recover(input, re);
05216:                } finally {
05217:                    if (backtracking > 0) {
05218:                        memoize(input, 57, formalParameterDecls_StartIndex);
05219:                    }
05220:                }
05221:                return;
05222:            }
05223:
05224:            // $ANTLR end formalParameterDecls
05225:
05226:            // $ANTLR start formalParameterDeclsRest
05227:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:509:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );
05228:            public final void formalParameterDeclsRest()
05229:                    throws RecognitionException {
05230:                int formalParameterDeclsRest_StartIndex = input.index();
05231:                try {
05232:                    if (backtracking > 0 && alreadyParsedRule(input, 58)) {
05233:                        return;
05234:                    }
05235:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:4: ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId )
05236:                    int alt82 = 2;
05237:                    int LA82_0 = input.LA(1);
05238:
05239:                    if ((LA82_0 == Identifier)) {
05240:                        alt82 = 1;
05241:                    } else if ((LA82_0 == 67)) {
05242:                        alt82 = 2;
05243:                    } else {
05244:                        if (backtracking > 0) {
05245:                            failed = true;
05246:                            return;
05247:                        }
05248:                        NoViableAltException nvae = new NoViableAltException(
05249:                                "509:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );",
05250:                                82, 0, input);
05251:
05252:                        throw nvae;
05253:                    }
05254:                    switch (alt82) {
05255:                    case 1:
05256:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:4: variableDeclaratorId ( ',' formalParameterDecls )?
05257:                    {
05258:                        pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1701);
05259:                        variableDeclaratorId();
05260:                        _fsp--;
05261:                        if (failed)
05262:                            return;
05263:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:25: ( ',' formalParameterDecls )?
05264:                        int alt81 = 2;
05265:                        int LA81_0 = input.LA(1);
05266:
05267:                        if ((LA81_0 == 34)) {
05268:                            alt81 = 1;
05269:                        }
05270:                        switch (alt81) {
05271:                        case 1:
05272:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:26: ',' formalParameterDecls
05273:                        {
05274:                            match(input, 34,
05275:                                    FOLLOW_34_in_formalParameterDeclsRest1704);
05276:                            if (failed)
05277:                                return;
05278:                            pushFollow(FOLLOW_formalParameterDecls_in_formalParameterDeclsRest1706);
05279:                            formalParameterDecls();
05280:                            _fsp--;
05281:                            if (failed)
05282:                                return;
05283:
05284:                        }
05285:                            break;
05286:
05287:                        }
05288:
05289:                    }
05290:                        break;
05291:                    case 2:
05292:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:511:6: '...' variableDeclaratorId
05293:                    {
05294:                        match(input, 67,
05295:                                FOLLOW_67_in_formalParameterDeclsRest1715);
05296:                        if (failed)
05297:                            return;
05298:                        pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1717);
05299:                        variableDeclaratorId();
05300:                        _fsp--;
05301:                        if (failed)
05302:                            return;
05303:
05304:                    }
05305:                        break;
05306:
05307:                    }
05308:                } catch (RecognitionException re) {
05309:                    reportError(re);
05310:                    recover(input, re);
05311:                } finally {
05312:                    if (backtracking > 0) {
05313:                        memoize(input, 58, formalParameterDeclsRest_StartIndex);
05314:                    }
05315:                }
05316:                return;
05317:            }
05318:
05319:            // $ANTLR end formalParameterDeclsRest
05320:
05321:            // $ANTLR start methodBody
05322:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:514:1: methodBody : block ;
05323:            public final void methodBody() throws RecognitionException {
05324:                int methodBody_StartIndex = input.index();
05325:                try {
05326:                    if (backtracking > 0 && alreadyParsedRule(input, 59)) {
05327:                        return;
05328:                    }
05329:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:515:4: ( block )
05330:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:515:4: block
05331:                    {
05332:                        pushFollow(FOLLOW_block_in_methodBody1729);
05333:                        block();
05334:                        _fsp--;
05335:                        if (failed)
05336:                            return;
05337:
05338:                    }
05339:
05340:                } catch (RecognitionException re) {
05341:                    reportError(re);
05342:                    recover(input, re);
05343:                } finally {
05344:                    if (backtracking > 0) {
05345:                        memoize(input, 59, methodBody_StartIndex);
05346:                    }
05347:                }
05348:                return;
05349:            }
05350:
05351:            // $ANTLR end methodBody
05352:
05353:            // $ANTLR start qualifiedName
05354:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:518:1: qualifiedName : Identifier ( '.' Identifier )* ;
05355:            public final void qualifiedName() throws RecognitionException {
05356:                int qualifiedName_StartIndex = input.index();
05357:                try {
05358:                    if (backtracking > 0 && alreadyParsedRule(input, 60)) {
05359:                        return;
05360:                    }
05361:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:4: ( Identifier ( '.' Identifier )* )
05362:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:4: Identifier ( '.' Identifier )*
05363:                    {
05364:                        match(input, Identifier,
05365:                                FOLLOW_Identifier_in_qualifiedName1740);
05366:                        if (failed)
05367:                            return;
05368:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:15: ( '.' Identifier )*
05369:                        loop83: do {
05370:                            int alt83 = 2;
05371:                            int LA83_0 = input.LA(1);
05372:
05373:                            if ((LA83_0 == 28)) {
05374:                                alt83 = 1;
05375:                            }
05376:
05377:                            switch (alt83) {
05378:                            case 1:
05379:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:16: '.' Identifier
05380:                            {
05381:                                match(input, 28, FOLLOW_28_in_qualifiedName1743);
05382:                                if (failed)
05383:                                    return;
05384:                                match(input, Identifier,
05385:                                        FOLLOW_Identifier_in_qualifiedName1745);
05386:                                if (failed)
05387:                                    return;
05388:
05389:                            }
05390:                                break;
05391:
05392:                            default:
05393:                                break loop83;
05394:                            }
05395:                        } while (true);
05396:
05397:                    }
05398:
05399:                } catch (RecognitionException re) {
05400:                    reportError(re);
05401:                    recover(input, re);
05402:                } finally {
05403:                    if (backtracking > 0) {
05404:                        memoize(input, 60, qualifiedName_StartIndex);
05405:                    }
05406:                }
05407:                return;
05408:            }
05409:
05410:            // $ANTLR end qualifiedName
05411:
05412:            // $ANTLR start literal
05413:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:522:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );
05414:            public final void literal() throws RecognitionException {
05415:                int literal_StartIndex = input.index();
05416:                try {
05417:                    if (backtracking > 0 && alreadyParsedRule(input, 61)) {
05418:                        return;
05419:                    }
05420:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:6: ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' )
05421:                    int alt84 = 6;
05422:                    switch (input.LA(1)) {
05423:                    case HexLiteral:
05424:                    case OctalLiteral:
05425:                    case DecimalLiteral: {
05426:                        alt84 = 1;
05427:                    }
05428:                        break;
05429:                    case FloatingPointLiteral: {
05430:                        alt84 = 2;
05431:                    }
05432:                        break;
05433:                    case CharacterLiteral: {
05434:                        alt84 = 3;
05435:                    }
05436:                        break;
05437:                    case StringLiteral: {
05438:                        alt84 = 4;
05439:                    }
05440:                        break;
05441:                    case 69:
05442:                    case 70: {
05443:                        alt84 = 5;
05444:                    }
05445:                        break;
05446:                    case 68: {
05447:                        alt84 = 6;
05448:                    }
05449:                        break;
05450:                    default:
05451:                        if (backtracking > 0) {
05452:                            failed = true;
05453:                            return;
05454:                        }
05455:                        NoViableAltException nvae = new NoViableAltException(
05456:                                "522:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );",
05457:                                84, 0, input);
05458:
05459:                        throw nvae;
05460:                    }
05461:
05462:                    switch (alt84) {
05463:                    case 1:
05464:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:6: integerLiteral
05465:                    {
05466:                        pushFollow(FOLLOW_integerLiteral_in_literal1762);
05467:                        integerLiteral();
05468:                        _fsp--;
05469:                        if (failed)
05470:                            return;
05471:
05472:                    }
05473:                        break;
05474:                    case 2:
05475:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:524:9: FloatingPointLiteral
05476:                    {
05477:                        match(input, FloatingPointLiteral,
05478:                                FOLLOW_FloatingPointLiteral_in_literal1772);
05479:                        if (failed)
05480:                            return;
05481:
05482:                    }
05483:                        break;
05484:                    case 3:
05485:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:525:9: CharacterLiteral
05486:                    {
05487:                        match(input, CharacterLiteral,
05488:                                FOLLOW_CharacterLiteral_in_literal1782);
05489:                        if (failed)
05490:                            return;
05491:
05492:                    }
05493:                        break;
05494:                    case 4:
05495:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:526:9: StringLiteral
05496:                    {
05497:                        match(input, StringLiteral,
05498:                                FOLLOW_StringLiteral_in_literal1792);
05499:                        if (failed)
05500:                            return;
05501:
05502:                    }
05503:                        break;
05504:                    case 5:
05505:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:527:9: booleanLiteral
05506:                    {
05507:                        pushFollow(FOLLOW_booleanLiteral_in_literal1802);
05508:                        booleanLiteral();
05509:                        _fsp--;
05510:                        if (failed)
05511:                            return;
05512:
05513:                    }
05514:                        break;
05515:                    case 6:
05516:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:528:9: 'null'
05517:                    {
05518:                        match(input, 68, FOLLOW_68_in_literal1812);
05519:                        if (failed)
05520:                            return;
05521:
05522:                    }
05523:                        break;
05524:
05525:                    }
05526:                } catch (RecognitionException re) {
05527:                    reportError(re);
05528:                    recover(input, re);
05529:                } finally {
05530:                    if (backtracking > 0) {
05531:                        memoize(input, 61, literal_StartIndex);
05532:                    }
05533:                }
05534:                return;
05535:            }
05536:
05537:            // $ANTLR end literal
05538:
05539:            // $ANTLR start integerLiteral
05540:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:531:1: integerLiteral : ( HexLiteral | OctalLiteral | DecimalLiteral );
05541:            public final void integerLiteral() throws RecognitionException {
05542:                int integerLiteral_StartIndex = input.index();
05543:                try {
05544:                    if (backtracking > 0 && alreadyParsedRule(input, 62)) {
05545:                        return;
05546:                    }
05547:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:532:9: ( HexLiteral | OctalLiteral | DecimalLiteral )
05548:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
05549:                    {
05550:                        if ((input.LA(1) >= HexLiteral && input.LA(1) <= DecimalLiteral)) {
05551:                            input.consume();
05552:                            errorRecovery = false;
05553:                            failed = false;
05554:                        } else {
05555:                            if (backtracking > 0) {
05556:                                failed = true;
05557:                                return;
05558:                            }
05559:                            MismatchedSetException mse = new MismatchedSetException(
05560:                                    null, input);
05561:                            recoverFromMismatchedSet(input, mse,
05562:                                    FOLLOW_set_in_integerLiteral0);
05563:                            throw mse;
05564:                        }
05565:
05566:                    }
05567:
05568:                } catch (RecognitionException re) {
05569:                    reportError(re);
05570:                    recover(input, re);
05571:                } finally {
05572:                    if (backtracking > 0) {
05573:                        memoize(input, 62, integerLiteral_StartIndex);
05574:                    }
05575:                }
05576:                return;
05577:            }
05578:
05579:            // $ANTLR end integerLiteral
05580:
05581:            // $ANTLR start booleanLiteral
05582:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:537:1: booleanLiteral : ( 'true' | 'false' );
05583:            public final void booleanLiteral() throws RecognitionException {
05584:                int booleanLiteral_StartIndex = input.index();
05585:                try {
05586:                    if (backtracking > 0 && alreadyParsedRule(input, 63)) {
05587:                        return;
05588:                    }
05589:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:538:9: ( 'true' | 'false' )
05590:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
05591:                    {
05592:                        if ((input.LA(1) >= 69 && input.LA(1) <= 70)) {
05593:                            input.consume();
05594:                            errorRecovery = false;
05595:                            failed = false;
05596:                        } else {
05597:                            if (backtracking > 0) {
05598:                                failed = true;
05599:                                return;
05600:                            }
05601:                            MismatchedSetException mse = new MismatchedSetException(
05602:                                    null, input);
05603:                            recoverFromMismatchedSet(input, mse,
05604:                                    FOLLOW_set_in_booleanLiteral0);
05605:                            throw mse;
05606:                        }
05607:
05608:                    }
05609:
05610:                } catch (RecognitionException re) {
05611:                    reportError(re);
05612:                    recover(input, re);
05613:                } finally {
05614:                    if (backtracking > 0) {
05615:                        memoize(input, 63, booleanLiteral_StartIndex);
05616:                    }
05617:                }
05618:                return;
05619:            }
05620:
05621:            // $ANTLR end booleanLiteral
05622:
05623:            // $ANTLR start annotations
05624:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:544:1: annotations : ( annotation )+ ;
05625:            public final void annotations() throws RecognitionException {
05626:                int annotations_StartIndex = input.index();
05627:                try {
05628:                    if (backtracking > 0 && alreadyParsedRule(input, 64)) {
05629:                        return;
05630:                    }
05631:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:545:4: ( ( annotation )+ )
05632:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:545:4: ( annotation )+
05633:                    {
05634:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:545:4: ( annotation )+
05635:                        int cnt85 = 0;
05636:                        loop85: do {
05637:                            int alt85 = 2;
05638:                            int LA85_0 = input.LA(1);
05639:
05640:                            if ((LA85_0 == 71)) {
05641:                                int LA85_3 = input.LA(2);
05642:
05643:                                if ((LA85_3 == Identifier)) {
05644:                                    int LA85_22 = input.LA(3);
05645:
05646:                                    if ((synpred120())) {
05647:                                        alt85 = 1;
05648:                                    }
05649:
05650:                                }
05651:
05652:                            }
05653:
05654:                            switch (alt85) {
05655:                            case 1:
05656:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: annotation
05657:                            {
05658:                                pushFollow(FOLLOW_annotation_in_annotations1893);
05659:                                annotation();
05660:                                _fsp--;
05661:                                if (failed)
05662:                                    return;
05663:
05664:                            }
05665:                                break;
05666:
05667:                            default:
05668:                                if (cnt85 >= 1)
05669:                                    break loop85;
05670:                                if (backtracking > 0) {
05671:                                    failed = true;
05672:                                    return;
05673:                                }
05674:                                EarlyExitException eee = new EarlyExitException(
05675:                                        85, input);
05676:                                throw eee;
05677:                            }
05678:                            cnt85++;
05679:                        } while (true);
05680:
05681:                    }
05682:
05683:                } catch (RecognitionException re) {
05684:                    reportError(re);
05685:                    recover(input, re);
05686:                } finally {
05687:                    if (backtracking > 0) {
05688:                        memoize(input, 64, annotations_StartIndex);
05689:                    }
05690:                }
05691:                return;
05692:            }
05693:
05694:            // $ANTLR end annotations
05695:
05696:            // $ANTLR start annotation
05697:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:548:1: annotation : '@' annotationName ( '(' ( elementValuePairs )? ')' )? ;
05698:            public final void annotation() throws RecognitionException {
05699:                int annotation_StartIndex = input.index();
05700:                try {
05701:                    if (backtracking > 0 && alreadyParsedRule(input, 65)) {
05702:                        return;
05703:                    }
05704:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: ( '@' annotationName ( '(' ( elementValuePairs )? ')' )? )
05705:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: '@' annotationName ( '(' ( elementValuePairs )? ')' )?
05706:                    {
05707:                        match(input, 71, FOLLOW_71_in_annotation1905);
05708:                        if (failed)
05709:                            return;
05710:                        pushFollow(FOLLOW_annotationName_in_annotation1907);
05711:                        annotationName();
05712:                        _fsp--;
05713:                        if (failed)
05714:                            return;
05715:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:23: ( '(' ( elementValuePairs )? ')' )?
05716:                        int alt87 = 2;
05717:                        int LA87_0 = input.LA(1);
05718:
05719:                        if ((LA87_0 == 65)) {
05720:                            alt87 = 1;
05721:                        }
05722:                        switch (alt87) {
05723:                        case 1:
05724:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:24: '(' ( elementValuePairs )? ')'
05725:                        {
05726:                            match(input, 65, FOLLOW_65_in_annotation1910);
05727:                            if (failed)
05728:                                return;
05729:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:28: ( elementValuePairs )?
05730:                            int alt86 = 2;
05731:                            int LA86_0 = input.LA(1);
05732:
05733:                            if ((LA86_0 == Identifier
05734:                                    || (LA86_0 >= FloatingPointLiteral && LA86_0 <= DecimalLiteral)
05735:                                    || LA86_0 == 33 || LA86_0 == 37
05736:                                    || LA86_0 == 40
05737:                                    || (LA86_0 >= 55 && LA86_0 <= 62)
05738:                                    || (LA86_0 >= 64 && LA86_0 <= 65)
05739:                                    || (LA86_0 >= 68 && LA86_0 <= 71)
05740:                                    || (LA86_0 >= 104 && LA86_0 <= 105) || (LA86_0 >= 108 && LA86_0 <= 113))) {
05741:                                alt86 = 1;
05742:                            }
05743:                            switch (alt86) {
05744:                            case 1:
05745:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: elementValuePairs
05746:                            {
05747:                                pushFollow(FOLLOW_elementValuePairs_in_annotation1912);
05748:                                elementValuePairs();
05749:                                _fsp--;
05750:                                if (failed)
05751:                                    return;
05752:
05753:                            }
05754:                                break;
05755:
05756:                            }
05757:
05758:                            match(input, 66, FOLLOW_66_in_annotation1915);
05759:                            if (failed)
05760:                                return;
05761:
05762:                        }
05763:                            break;
05764:
05765:                        }
05766:
05767:                    }
05768:
05769:                } catch (RecognitionException re) {
05770:                    reportError(re);
05771:                    recover(input, re);
05772:                } finally {
05773:                    if (backtracking > 0) {
05774:                        memoize(input, 65, annotation_StartIndex);
05775:                    }
05776:                }
05777:                return;
05778:            }
05779:
05780:            // $ANTLR end annotation
05781:
05782:            // $ANTLR start annotationName
05783:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:552:1: annotationName : Identifier ( '.' Identifier )* ;
05784:            public final void annotationName() throws RecognitionException {
05785:                int annotationName_StartIndex = input.index();
05786:                try {
05787:                    if (backtracking > 0 && alreadyParsedRule(input, 66)) {
05788:                        return;
05789:                    }
05790:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:4: ( Identifier ( '.' Identifier )* )
05791:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:4: Identifier ( '.' Identifier )*
05792:                    {
05793:                        match(input, Identifier,
05794:                                FOLLOW_Identifier_in_annotationName1929);
05795:                        if (failed)
05796:                            return;
05797:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:15: ( '.' Identifier )*
05798:                        loop88: do {
05799:                            int alt88 = 2;
05800:                            int LA88_0 = input.LA(1);
05801:
05802:                            if ((LA88_0 == 28)) {
05803:                                alt88 = 1;
05804:                            }
05805:
05806:                            switch (alt88) {
05807:                            case 1:
05808:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:16: '.' Identifier
05809:                            {
05810:                                match(input, 28,
05811:                                        FOLLOW_28_in_annotationName1932);
05812:                                if (failed)
05813:                                    return;
05814:                                match(input, Identifier,
05815:                                        FOLLOW_Identifier_in_annotationName1934);
05816:                                if (failed)
05817:                                    return;
05818:
05819:                            }
05820:                                break;
05821:
05822:                            default:
05823:                                break loop88;
05824:                            }
05825:                        } while (true);
05826:
05827:                    }
05828:
05829:                } catch (RecognitionException re) {
05830:                    reportError(re);
05831:                    recover(input, re);
05832:                } finally {
05833:                    if (backtracking > 0) {
05834:                        memoize(input, 66, annotationName_StartIndex);
05835:                    }
05836:                }
05837:                return;
05838:            }
05839:
05840:            // $ANTLR end annotationName
05841:
05842:            // $ANTLR start elementValuePairs
05843:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:556:1: elementValuePairs : elementValuePair ( ',' elementValuePair )* ;
05844:            public final void elementValuePairs() throws RecognitionException {
05845:                int elementValuePairs_StartIndex = input.index();
05846:                try {
05847:                    if (backtracking > 0 && alreadyParsedRule(input, 67)) {
05848:                        return;
05849:                    }
05850:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:4: ( elementValuePair ( ',' elementValuePair )* )
05851:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:4: elementValuePair ( ',' elementValuePair )*
05852:                    {
05853:                        pushFollow(FOLLOW_elementValuePair_in_elementValuePairs1948);
05854:                        elementValuePair();
05855:                        _fsp--;
05856:                        if (failed)
05857:                            return;
05858:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:21: ( ',' elementValuePair )*
05859:                        loop89: do {
05860:                            int alt89 = 2;
05861:                            int LA89_0 = input.LA(1);
05862:
05863:                            if ((LA89_0 == 34)) {
05864:                                alt89 = 1;
05865:                            }
05866:
05867:                            switch (alt89) {
05868:                            case 1:
05869:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:22: ',' elementValuePair
05870:                            {
05871:                                match(input, 34,
05872:                                        FOLLOW_34_in_elementValuePairs1951);
05873:                                if (failed)
05874:                                    return;
05875:                                pushFollow(FOLLOW_elementValuePair_in_elementValuePairs1953);
05876:                                elementValuePair();
05877:                                _fsp--;
05878:                                if (failed)
05879:                                    return;
05880:
05881:                            }
05882:                                break;
05883:
05884:                            default:
05885:                                break loop89;
05886:                            }
05887:                        } while (true);
05888:
05889:                    }
05890:
05891:                } catch (RecognitionException re) {
05892:                    reportError(re);
05893:                    recover(input, re);
05894:                } finally {
05895:                    if (backtracking > 0) {
05896:                        memoize(input, 67, elementValuePairs_StartIndex);
05897:                    }
05898:                }
05899:                return;
05900:            }
05901:
05902:            // $ANTLR end elementValuePairs
05903:
05904:            // $ANTLR start elementValuePair
05905:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:560:1: elementValuePair : ( Identifier '=' )? elementValue ;
05906:            public final void elementValuePair() throws RecognitionException {
05907:                int elementValuePair_StartIndex = input.index();
05908:                try {
05909:                    if (backtracking > 0 && alreadyParsedRule(input, 68)) {
05910:                        return;
05911:                    }
05912:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:4: ( ( Identifier '=' )? elementValue )
05913:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:4: ( Identifier '=' )? elementValue
05914:                    {
05915:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:4: ( Identifier '=' )?
05916:                        int alt90 = 2;
05917:                        int LA90_0 = input.LA(1);
05918:
05919:                        if ((LA90_0 == Identifier)) {
05920:                            int LA90_1 = input.LA(2);
05921:
05922:                            if ((LA90_1 == 44)) {
05923:                                alt90 = 1;
05924:                            }
05925:                        }
05926:                        switch (alt90) {
05927:                        case 1:
05928:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:5: Identifier '='
05929:                        {
05930:                            match(input, Identifier,
05931:                                    FOLLOW_Identifier_in_elementValuePair1968);
05932:                            if (failed)
05933:                                return;
05934:                            match(input, 44, FOLLOW_44_in_elementValuePair1970);
05935:                            if (failed)
05936:                                return;
05937:
05938:                        }
05939:                            break;
05940:
05941:                        }
05942:
05943:                        pushFollow(FOLLOW_elementValue_in_elementValuePair1974);
05944:                        elementValue();
05945:                        _fsp--;
05946:                        if (failed)
05947:                            return;
05948:
05949:                    }
05950:
05951:                } catch (RecognitionException re) {
05952:                    reportError(re);
05953:                    recover(input, re);
05954:                } finally {
05955:                    if (backtracking > 0) {
05956:                        memoize(input, 68, elementValuePair_StartIndex);
05957:                    }
05958:                }
05959:                return;
05960:            }
05961:
05962:            // $ANTLR end elementValuePair
05963:
05964:            // $ANTLR start elementValue
05965:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:564:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );
05966:            public final void elementValue() throws RecognitionException {
05967:                int elementValue_StartIndex = input.index();
05968:                try {
05969:                    if (backtracking > 0 && alreadyParsedRule(input, 69)) {
05970:                        return;
05971:                    }
05972:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:4: ( conditionalExpression | annotation | elementValueArrayInitializer )
05973:                    int alt91 = 3;
05974:                    switch (input.LA(1)) {
05975:                    case Identifier:
05976:                    case FloatingPointLiteral:
05977:                    case CharacterLiteral:
05978:                    case StringLiteral:
05979:                    case HexLiteral:
05980:                    case OctalLiteral:
05981:                    case DecimalLiteral:
05982:                    case 33:
05983:                    case 40:
05984:                    case 55:
05985:                    case 56:
05986:                    case 57:
05987:                    case 58:
05988:                    case 59:
05989:                    case 60:
05990:                    case 61:
05991:                    case 62:
05992:                    case 64:
05993:                    case 65:
05994:                    case 68:
05995:                    case 69:
05996:                    case 70:
05997:                    case 104:
05998:                    case 105:
05999:                    case 108:
06000:                    case 109:
06001:                    case 110:
06002:                    case 111:
06003:                    case 112:
06004:                    case 113: {
06005:                        alt91 = 1;
06006:                    }
06007:                        break;
06008:                    case 71: {
06009:                        alt91 = 2;
06010:                    }
06011:                        break;
06012:                    case 37: {
06013:                        alt91 = 3;
06014:                    }
06015:                        break;
06016:                    default:
06017:                        if (backtracking > 0) {
06018:                            failed = true;
06019:                            return;
06020:                        }
06021:                        NoViableAltException nvae = new NoViableAltException(
06022:                                "564:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );",
06023:                                91, 0, input);
06024:
06025:                        throw nvae;
06026:                    }
06027:
06028:                    switch (alt91) {
06029:                    case 1:
06030:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:4: conditionalExpression
06031:                    {
06032:                        pushFollow(FOLLOW_conditionalExpression_in_elementValue1986);
06033:                        conditionalExpression();
06034:                        _fsp--;
06035:                        if (failed)
06036:                            return;
06037:
06038:                    }
06039:                        break;
06040:                    case 2:
06041:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:566:6: annotation
06042:                    {
06043:                        pushFollow(FOLLOW_annotation_in_elementValue1993);
06044:                        annotation();
06045:                        _fsp--;
06046:                        if (failed)
06047:                            return;
06048:
06049:                    }
06050:                        break;
06051:                    case 3:
06052:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:567:6: elementValueArrayInitializer
06053:                    {
06054:                        pushFollow(FOLLOW_elementValueArrayInitializer_in_elementValue2000);
06055:                        elementValueArrayInitializer();
06056:                        _fsp--;
06057:                        if (failed)
06058:                            return;
06059:
06060:                    }
06061:                        break;
06062:
06063:                    }
06064:                } catch (RecognitionException re) {
06065:                    reportError(re);
06066:                    recover(input, re);
06067:                } finally {
06068:                    if (backtracking > 0) {
06069:                        memoize(input, 69, elementValue_StartIndex);
06070:                    }
06071:                }
06072:                return;
06073:            }
06074:
06075:            // $ANTLR end elementValue
06076:
06077:            // $ANTLR start elementValueArrayInitializer
06078:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:570:1: elementValueArrayInitializer : '{' ( elementValue ( ',' elementValue )* )? '}' ;
06079:            public final void elementValueArrayInitializer()
06080:                    throws RecognitionException {
06081:                int elementValueArrayInitializer_StartIndex = input.index();
06082:                try {
06083:                    if (backtracking > 0 && alreadyParsedRule(input, 70)) {
06084:                        return;
06085:                    }
06086:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:4: ( '{' ( elementValue ( ',' elementValue )* )? '}' )
06087:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:4: '{' ( elementValue ( ',' elementValue )* )? '}'
06088:                    {
06089:                        match(input, 37,
06090:                                FOLLOW_37_in_elementValueArrayInitializer2012);
06091:                        if (failed)
06092:                            return;
06093:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:8: ( elementValue ( ',' elementValue )* )?
06094:                        int alt93 = 2;
06095:                        int LA93_0 = input.LA(1);
06096:
06097:                        if ((LA93_0 == Identifier
06098:                                || (LA93_0 >= FloatingPointLiteral && LA93_0 <= DecimalLiteral)
06099:                                || LA93_0 == 33 || LA93_0 == 37 || LA93_0 == 40
06100:                                || (LA93_0 >= 55 && LA93_0 <= 62)
06101:                                || (LA93_0 >= 64 && LA93_0 <= 65)
06102:                                || (LA93_0 >= 68 && LA93_0 <= 71)
06103:                                || (LA93_0 >= 104 && LA93_0 <= 105) || (LA93_0 >= 108 && LA93_0 <= 113))) {
06104:                            alt93 = 1;
06105:                        }
06106:                        switch (alt93) {
06107:                        case 1:
06108:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:9: elementValue ( ',' elementValue )*
06109:                        {
06110:                            pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2015);
06111:                            elementValue();
06112:                            _fsp--;
06113:                            if (failed)
06114:                                return;
06115:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:22: ( ',' elementValue )*
06116:                            loop92: do {
06117:                                int alt92 = 2;
06118:                                int LA92_0 = input.LA(1);
06119:
06120:                                if ((LA92_0 == 34)) {
06121:                                    alt92 = 1;
06122:                                }
06123:
06124:                                switch (alt92) {
06125:                                case 1:
06126:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:23: ',' elementValue
06127:                                {
06128:                                    match(input, 34,
06129:                                            FOLLOW_34_in_elementValueArrayInitializer2018);
06130:                                    if (failed)
06131:                                        return;
06132:                                    pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2020);
06133:                                    elementValue();
06134:                                    _fsp--;
06135:                                    if (failed)
06136:                                        return;
06137:
06138:                                }
06139:                                    break;
06140:
06141:                                default:
06142:                                    break loop92;
06143:                                }
06144:                            } while (true);
06145:
06146:                        }
06147:                            break;
06148:
06149:                        }
06150:
06151:                        match(input, 38,
06152:                                FOLLOW_38_in_elementValueArrayInitializer2027);
06153:                        if (failed)
06154:                            return;
06155:
06156:                    }
06157:
06158:                } catch (RecognitionException re) {
06159:                    reportError(re);
06160:                    recover(input, re);
06161:                } finally {
06162:                    if (backtracking > 0) {
06163:                        memoize(input, 70,
06164:                                elementValueArrayInitializer_StartIndex);
06165:                    }
06166:                }
06167:                return;
06168:            }
06169:
06170:            // $ANTLR end elementValueArrayInitializer
06171:
06172:            // $ANTLR start annotationTypeDeclaration
06173:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:574:1: annotationTypeDeclaration : '@' 'interface' Identifier annotationTypeBody ;
06174:            public final void annotationTypeDeclaration()
06175:                    throws RecognitionException {
06176:                int annotationTypeDeclaration_StartIndex = input.index();
06177:                try {
06178:                    if (backtracking > 0 && alreadyParsedRule(input, 71)) {
06179:                        return;
06180:                    }
06181:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:4: ( '@' 'interface' Identifier annotationTypeBody )
06182:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:4: '@' 'interface' Identifier annotationTypeBody
06183:                    {
06184:                        match(input, 71,
06185:                                FOLLOW_71_in_annotationTypeDeclaration2039);
06186:                        if (failed)
06187:                            return;
06188:                        match(input, 39,
06189:                                FOLLOW_39_in_annotationTypeDeclaration2041);
06190:                        if (failed)
06191:                            return;
06192:                        match(input, Identifier,
06193:                                FOLLOW_Identifier_in_annotationTypeDeclaration2043);
06194:                        if (failed)
06195:                            return;
06196:                        pushFollow(FOLLOW_annotationTypeBody_in_annotationTypeDeclaration2045);
06197:                        annotationTypeBody();
06198:                        _fsp--;
06199:                        if (failed)
06200:                            return;
06201:
06202:                    }
06203:
06204:                } catch (RecognitionException re) {
06205:                    reportError(re);
06206:                    recover(input, re);
06207:                } finally {
06208:                    if (backtracking > 0) {
06209:                        memoize(input, 71, annotationTypeDeclaration_StartIndex);
06210:                    }
06211:                }
06212:                return;
06213:            }
06214:
06215:            // $ANTLR end annotationTypeDeclaration
06216:
06217:            // $ANTLR start annotationTypeBody
06218:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:578:1: annotationTypeBody : '{' ( annotationTypeElementDeclarations )? '}' ;
06219:            public final void annotationTypeBody() throws RecognitionException {
06220:                int annotationTypeBody_StartIndex = input.index();
06221:                try {
06222:                    if (backtracking > 0 && alreadyParsedRule(input, 72)) {
06223:                        return;
06224:                    }
06225:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:4: ( '{' ( annotationTypeElementDeclarations )? '}' )
06226:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:4: '{' ( annotationTypeElementDeclarations )? '}'
06227:                    {
06228:                        match(input, 37, FOLLOW_37_in_annotationTypeBody2057);
06229:                        if (failed)
06230:                            return;
06231:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:8: ( annotationTypeElementDeclarations )?
06232:                        int alt94 = 2;
06233:                        int LA94_0 = input.LA(1);
06234:
06235:                        if (((LA94_0 >= Identifier && LA94_0 <= ENUM)
06236:                                || LA94_0 == 27 || LA94_0 == 30 || LA94_0 == 39
06237:                                || (LA94_0 >= 45 && LA94_0 <= 62) || LA94_0 == 71)) {
06238:                            alt94 = 1;
06239:                        }
06240:                        switch (alt94) {
06241:                        case 1:
06242:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:9: annotationTypeElementDeclarations
06243:                        {
06244:                            pushFollow(FOLLOW_annotationTypeElementDeclarations_in_annotationTypeBody2060);
06245:                            annotationTypeElementDeclarations();
06246:                            _fsp--;
06247:                            if (failed)
06248:                                return;
06249:
06250:                        }
06251:                            break;
06252:
06253:                        }
06254:
06255:                        match(input, 38, FOLLOW_38_in_annotationTypeBody2064);
06256:                        if (failed)
06257:                            return;
06258:
06259:                    }
06260:
06261:                } catch (RecognitionException re) {
06262:                    reportError(re);
06263:                    recover(input, re);
06264:                } finally {
06265:                    if (backtracking > 0) {
06266:                        memoize(input, 72, annotationTypeBody_StartIndex);
06267:                    }
06268:                }
06269:                return;
06270:            }
06271:
06272:            // $ANTLR end annotationTypeBody
06273:
06274:            // $ANTLR start annotationTypeElementDeclarations
06275:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:582:1: annotationTypeElementDeclarations : ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* ;
06276:            public final void annotationTypeElementDeclarations()
06277:                    throws RecognitionException {
06278:                int annotationTypeElementDeclarations_StartIndex = input
06279:                        .index();
06280:                try {
06281:                    if (backtracking > 0 && alreadyParsedRule(input, 73)) {
06282:                        return;
06283:                    }
06284:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:4: ( ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* )
06285:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:4: ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )*
06286:                    {
06287:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:4: ( annotationTypeElementDeclaration )
06288:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:5: annotationTypeElementDeclaration
06289:                        {
06290:                            pushFollow(FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2077);
06291:                            annotationTypeElementDeclaration();
06292:                            _fsp--;
06293:                            if (failed)
06294:                                return;
06295:
06296:                        }
06297:
06298:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:39: ( annotationTypeElementDeclaration )*
06299:                        loop95: do {
06300:                            int alt95 = 2;
06301:                            int LA95_0 = input.LA(1);
06302:
06303:                            if (((LA95_0 >= Identifier && LA95_0 <= ENUM)
06304:                                    || LA95_0 == 27 || LA95_0 == 30
06305:                                    || LA95_0 == 39
06306:                                    || (LA95_0 >= 45 && LA95_0 <= 62) || LA95_0 == 71)) {
06307:                                alt95 = 1;
06308:                            }
06309:
06310:                            switch (alt95) {
06311:                            case 1:
06312:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:40: annotationTypeElementDeclaration
06313:                            {
06314:                                pushFollow(FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2081);
06315:                                annotationTypeElementDeclaration();
06316:                                _fsp--;
06317:                                if (failed)
06318:                                    return;
06319:
06320:                            }
06321:                                break;
06322:
06323:                            default:
06324:                                break loop95;
06325:                            }
06326:                        } while (true);
06327:
06328:                    }
06329:
06330:                } catch (RecognitionException re) {
06331:                    reportError(re);
06332:                    recover(input, re);
06333:                } finally {
06334:                    if (backtracking > 0) {
06335:                        memoize(input, 73,
06336:                                annotationTypeElementDeclarations_StartIndex);
06337:                    }
06338:                }
06339:                return;
06340:            }
06341:
06342:            // $ANTLR end annotationTypeElementDeclarations
06343:
06344:            // $ANTLR start annotationTypeElementDeclaration
06345:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:586:1: annotationTypeElementDeclaration : ( modifier )* annotationTypeElementRest ;
06346:            public final void annotationTypeElementDeclaration()
06347:                    throws RecognitionException {
06348:                int annotationTypeElementDeclaration_StartIndex = input.index();
06349:                try {
06350:                    if (backtracking > 0 && alreadyParsedRule(input, 74)) {
06351:                        return;
06352:                    }
06353:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:4: ( ( modifier )* annotationTypeElementRest )
06354:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:4: ( modifier )* annotationTypeElementRest
06355:                    {
06356:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:4: ( modifier )*
06357:                        loop96: do {
06358:                            int alt96 = 2;
06359:                            int LA96_0 = input.LA(1);
06360:
06361:                            if ((LA96_0 == 71)) {
06362:                                int LA96_6 = input.LA(2);
06363:
06364:                                if ((LA96_6 == Identifier)) {
06365:                                    alt96 = 1;
06366:                                }
06367:
06368:                            } else if ((LA96_0 == 27 || (LA96_0 >= 45 && LA96_0 <= 54))) {
06369:                                alt96 = 1;
06370:                            }
06371:
06372:                            switch (alt96) {
06373:                            case 1:
06374:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:5: modifier
06375:                            {
06376:                                pushFollow(FOLLOW_modifier_in_annotationTypeElementDeclaration2096);
06377:                                modifier();
06378:                                _fsp--;
06379:                                if (failed)
06380:                                    return;
06381:
06382:                            }
06383:                                break;
06384:
06385:                            default:
06386:                                break loop96;
06387:                            }
06388:                        } while (true);
06389:
06390:                        pushFollow(FOLLOW_annotationTypeElementRest_in_annotationTypeElementDeclaration2100);
06391:                        annotationTypeElementRest();
06392:                        _fsp--;
06393:                        if (failed)
06394:                            return;
06395:
06396:                    }
06397:
06398:                } catch (RecognitionException re) {
06399:                    reportError(re);
06400:                    recover(input, re);
06401:                } finally {
06402:                    if (backtracking > 0) {
06403:                        memoize(input, 74,
06404:                                annotationTypeElementDeclaration_StartIndex);
06405:                    }
06406:                }
06407:                return;
06408:            }
06409:
06410:            // $ANTLR end annotationTypeElementDeclaration
06411:
06412:            // $ANTLR start annotationTypeElementRest
06413:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );
06414:            public final void annotationTypeElementRest()
06415:                    throws RecognitionException {
06416:                int annotationTypeElementRest_StartIndex = input.index();
06417:                try {
06418:                    if (backtracking > 0 && alreadyParsedRule(input, 75)) {
06419:                        return;
06420:                    }
06421:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:4: ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? )
06422:                    int alt101 = 5;
06423:                    switch (input.LA(1)) {
06424:                    case Identifier:
06425:                    case 55:
06426:                    case 56:
06427:                    case 57:
06428:                    case 58:
06429:                    case 59:
06430:                    case 60:
06431:                    case 61:
06432:                    case 62: {
06433:                        alt101 = 1;
06434:                    }
06435:                        break;
06436:                    case 30: {
06437:                        alt101 = 2;
06438:                    }
06439:                        break;
06440:                    case ENUM: {
06441:                        int LA101_4 = input.LA(2);
06442:
06443:                        if ((LA101_4 == Identifier)) {
06444:                            int LA101_7 = input.LA(3);
06445:
06446:                            if ((synpred135())) {
06447:                                alt101 = 2;
06448:                            } else if ((synpred139())) {
06449:                                alt101 = 4;
06450:                            } else {
06451:                                if (backtracking > 0) {
06452:                                    failed = true;
06453:                                    return;
06454:                                }
06455:                                NoViableAltException nvae = new NoViableAltException(
06456:                                        "590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );",
06457:                                        101, 7, input);
06458:
06459:                                throw nvae;
06460:                            }
06461:                        } else {
06462:                            if (backtracking > 0) {
06463:                                failed = true;
06464:                                return;
06465:                            }
06466:                            NoViableAltException nvae = new NoViableAltException(
06467:                                    "590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );",
06468:                                    101, 4, input);
06469:
06470:                            throw nvae;
06471:                        }
06472:                    }
06473:                        break;
06474:                    case 39: {
06475:                        alt101 = 3;
06476:                    }
06477:                        break;
06478:                    case 71: {
06479:                        int LA101_6 = input.LA(2);
06480:
06481:                        if ((LA101_6 == 39)) {
06482:                            int LA101_8 = input.LA(3);
06483:
06484:                            if ((synpred137())) {
06485:                                alt101 = 3;
06486:                            } else if ((true)) {
06487:                                alt101 = 5;
06488:                            } else {
06489:                                if (backtracking > 0) {
06490:                                    failed = true;
06491:                                    return;
06492:                                }
06493:                                NoViableAltException nvae = new NoViableAltException(
06494:                                        "590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );",
06495:                                        101, 8, input);
06496:
06497:                                throw nvae;
06498:                            }
06499:                        } else {
06500:                            if (backtracking > 0) {
06501:                                failed = true;
06502:                                return;
06503:                            }
06504:                            NoViableAltException nvae = new NoViableAltException(
06505:                                    "590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );",
06506:                                    101, 6, input);
06507:
06508:                            throw nvae;
06509:                        }
06510:                    }
06511:                        break;
06512:                    default:
06513:                        if (backtracking > 0) {
06514:                            failed = true;
06515:                            return;
06516:                        }
06517:                        NoViableAltException nvae = new NoViableAltException(
06518:                                "590:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );",
06519:                                101, 0, input);
06520:
06521:                        throw nvae;
06522:                    }
06523:
06524:                    switch (alt101) {
06525:                    case 1:
06526:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:4: type annotationMethodOrConstantRest ';'
06527:                    {
06528:                        pushFollow(FOLLOW_type_in_annotationTypeElementRest2112);
06529:                        type();
06530:                        _fsp--;
06531:                        if (failed)
06532:                            return;
06533:                        pushFollow(FOLLOW_annotationMethodOrConstantRest_in_annotationTypeElementRest2114);
06534:                        annotationMethodOrConstantRest();
06535:                        _fsp--;
06536:                        if (failed)
06537:                            return;
06538:                        match(input, 25,
06539:                                FOLLOW_25_in_annotationTypeElementRest2116);
06540:                        if (failed)
06541:                            return;
06542:
06543:                    }
06544:                        break;
06545:                    case 2:
06546:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:6: classDeclaration ( ';' )?
06547:                    {
06548:                        pushFollow(FOLLOW_classDeclaration_in_annotationTypeElementRest2123);
06549:                        classDeclaration();
06550:                        _fsp--;
06551:                        if (failed)
06552:                            return;
06553:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:23: ( ';' )?
06554:                        int alt97 = 2;
06555:                        int LA97_0 = input.LA(1);
06556:
06557:                        if ((LA97_0 == 25)) {
06558:                            alt97 = 1;
06559:                        }
06560:                        switch (alt97) {
06561:                        case 1:
06562:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
06563:                        {
06564:                            match(input, 25,
06565:                                    FOLLOW_25_in_annotationTypeElementRest2125);
06566:                            if (failed)
06567:                                return;
06568:
06569:                        }
06570:                            break;
06571:
06572:                        }
06573:
06574:                    }
06575:                        break;
06576:                    case 3:
06577:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:6: interfaceDeclaration ( ';' )?
06578:                    {
06579:                        pushFollow(FOLLOW_interfaceDeclaration_in_annotationTypeElementRest2133);
06580:                        interfaceDeclaration();
06581:                        _fsp--;
06582:                        if (failed)
06583:                            return;
06584:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:27: ( ';' )?
06585:                        int alt98 = 2;
06586:                        int LA98_0 = input.LA(1);
06587:
06588:                        if ((LA98_0 == 25)) {
06589:                            alt98 = 1;
06590:                        }
06591:                        switch (alt98) {
06592:                        case 1:
06593:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
06594:                        {
06595:                            match(input, 25,
06596:                                    FOLLOW_25_in_annotationTypeElementRest2135);
06597:                            if (failed)
06598:                                return;
06599:
06600:                        }
06601:                            break;
06602:
06603:                        }
06604:
06605:                    }
06606:                        break;
06607:                    case 4:
06608:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: enumDeclaration ( ';' )?
06609:                    {
06610:                        pushFollow(FOLLOW_enumDeclaration_in_annotationTypeElementRest2143);
06611:                        enumDeclaration();
06612:                        _fsp--;
06613:                        if (failed)
06614:                            return;
06615:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:22: ( ';' )?
06616:                        int alt99 = 2;
06617:                        int LA99_0 = input.LA(1);
06618:
06619:                        if ((LA99_0 == 25)) {
06620:                            alt99 = 1;
06621:                        }
06622:                        switch (alt99) {
06623:                        case 1:
06624:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
06625:                        {
06626:                            match(input, 25,
06627:                                    FOLLOW_25_in_annotationTypeElementRest2145);
06628:                            if (failed)
06629:                                return;
06630:
06631:                        }
06632:                            break;
06633:
06634:                        }
06635:
06636:                    }
06637:                        break;
06638:                    case 5:
06639:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:6: annotationTypeDeclaration ( ';' )?
06640:                    {
06641:                        pushFollow(FOLLOW_annotationTypeDeclaration_in_annotationTypeElementRest2153);
06642:                        annotationTypeDeclaration();
06643:                        _fsp--;
06644:                        if (failed)
06645:                            return;
06646:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:32: ( ';' )?
06647:                        int alt100 = 2;
06648:                        int LA100_0 = input.LA(1);
06649:
06650:                        if ((LA100_0 == 25)) {
06651:                            alt100 = 1;
06652:                        }
06653:                        switch (alt100) {
06654:                        case 1:
06655:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
06656:                        {
06657:                            match(input, 25,
06658:                                    FOLLOW_25_in_annotationTypeElementRest2155);
06659:                            if (failed)
06660:                                return;
06661:
06662:                        }
06663:                            break;
06664:
06665:                        }
06666:
06667:                    }
06668:                        break;
06669:
06670:                    }
06671:                } catch (RecognitionException re) {
06672:                    reportError(re);
06673:                    recover(input, re);
06674:                } finally {
06675:                    if (backtracking > 0) {
06676:                        memoize(input, 75, annotationTypeElementRest_StartIndex);
06677:                    }
06678:                }
06679:                return;
06680:            }
06681:
06682:            // $ANTLR end annotationTypeElementRest
06683:
06684:            // $ANTLR start annotationMethodOrConstantRest
06685:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );
06686:            public final void annotationMethodOrConstantRest()
06687:                    throws RecognitionException {
06688:                int annotationMethodOrConstantRest_StartIndex = input.index();
06689:                try {
06690:                    if (backtracking > 0 && alreadyParsedRule(input, 76)) {
06691:                        return;
06692:                    }
06693:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:599:4: ( annotationMethodRest | annotationConstantRest )
06694:                    int alt102 = 2;
06695:                    int LA102_0 = input.LA(1);
06696:
06697:                    if ((LA102_0 == Identifier)) {
06698:                        int LA102_1 = input.LA(2);
06699:
06700:                        if ((LA102_1 == 65)) {
06701:                            alt102 = 1;
06702:                        } else if ((LA102_1 == 25 || LA102_1 == 34
06703:                                || LA102_1 == 41 || LA102_1 == 44)) {
06704:                            alt102 = 2;
06705:                        } else {
06706:                            if (backtracking > 0) {
06707:                                failed = true;
06708:                                return;
06709:                            }
06710:                            NoViableAltException nvae = new NoViableAltException(
06711:                                    "598:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );",
06712:                                    102, 1, input);
06713:
06714:                            throw nvae;
06715:                        }
06716:                    } else {
06717:                        if (backtracking > 0) {
06718:                            failed = true;
06719:                            return;
06720:                        }
06721:                        NoViableAltException nvae = new NoViableAltException(
06722:                                "598:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );",
06723:                                102, 0, input);
06724:
06725:                        throw nvae;
06726:                    }
06727:                    switch (alt102) {
06728:                    case 1:
06729:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:599:4: annotationMethodRest
06730:                    {
06731:                        pushFollow(FOLLOW_annotationMethodRest_in_annotationMethodOrConstantRest2168);
06732:                        annotationMethodRest();
06733:                        _fsp--;
06734:                        if (failed)
06735:                            return;
06736:
06737:                    }
06738:                        break;
06739:                    case 2:
06740:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:600:6: annotationConstantRest
06741:                    {
06742:                        pushFollow(FOLLOW_annotationConstantRest_in_annotationMethodOrConstantRest2175);
06743:                        annotationConstantRest();
06744:                        _fsp--;
06745:                        if (failed)
06746:                            return;
06747:
06748:                    }
06749:                        break;
06750:
06751:                    }
06752:                } catch (RecognitionException re) {
06753:                    reportError(re);
06754:                    recover(input, re);
06755:                } finally {
06756:                    if (backtracking > 0) {
06757:                        memoize(input, 76,
06758:                                annotationMethodOrConstantRest_StartIndex);
06759:                    }
06760:                }
06761:                return;
06762:            }
06763:
06764:            // $ANTLR end annotationMethodOrConstantRest
06765:
06766:            // $ANTLR start annotationMethodRest
06767:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:603:1: annotationMethodRest : Identifier '(' ')' ( defaultValue )? ;
06768:            public final void annotationMethodRest()
06769:                    throws RecognitionException {
06770:                int annotationMethodRest_StartIndex = input.index();
06771:                try {
06772:                    if (backtracking > 0 && alreadyParsedRule(input, 77)) {
06773:                        return;
06774:                    }
06775:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:604:5: ( Identifier '(' ')' ( defaultValue )? )
06776:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:604:5: Identifier '(' ')' ( defaultValue )?
06777:                    {
06778:                        match(input, Identifier,
06779:                                FOLLOW_Identifier_in_annotationMethodRest2188);
06780:                        if (failed)
06781:                            return;
06782:                        match(input, 65, FOLLOW_65_in_annotationMethodRest2190);
06783:                        if (failed)
06784:                            return;
06785:                        match(input, 66, FOLLOW_66_in_annotationMethodRest2192);
06786:                        if (failed)
06787:                            return;
06788:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:604:24: ( defaultValue )?
06789:                        int alt103 = 2;
06790:                        int LA103_0 = input.LA(1);
06791:
06792:                        if ((LA103_0 == 72)) {
06793:                            alt103 = 1;
06794:                        }
06795:                        switch (alt103) {
06796:                        case 1:
06797:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:604:25: defaultValue
06798:                        {
06799:                            pushFollow(FOLLOW_defaultValue_in_annotationMethodRest2195);
06800:                            defaultValue();
06801:                            _fsp--;
06802:                            if (failed)
06803:                                return;
06804:
06805:                        }
06806:                            break;
06807:
06808:                        }
06809:
06810:                    }
06811:
06812:                } catch (RecognitionException re) {
06813:                    reportError(re);
06814:                    recover(input, re);
06815:                } finally {
06816:                    if (backtracking > 0) {
06817:                        memoize(input, 77, annotationMethodRest_StartIndex);
06818:                    }
06819:                }
06820:                return;
06821:            }
06822:
06823:            // $ANTLR end annotationMethodRest
06824:
06825:            // $ANTLR start annotationConstantRest
06826:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:607:1: annotationConstantRest : variableDeclarators ;
06827:            public final void annotationConstantRest()
06828:                    throws RecognitionException {
06829:                int annotationConstantRest_StartIndex = input.index();
06830:                try {
06831:                    if (backtracking > 0 && alreadyParsedRule(input, 78)) {
06832:                        return;
06833:                    }
06834:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:5: ( variableDeclarators )
06835:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:5: variableDeclarators
06836:                    {
06837:                        pushFollow(FOLLOW_variableDeclarators_in_annotationConstantRest2212);
06838:                        variableDeclarators();
06839:                        _fsp--;
06840:                        if (failed)
06841:                            return;
06842:
06843:                    }
06844:
06845:                } catch (RecognitionException re) {
06846:                    reportError(re);
06847:                    recover(input, re);
06848:                } finally {
06849:                    if (backtracking > 0) {
06850:                        memoize(input, 78, annotationConstantRest_StartIndex);
06851:                    }
06852:                }
06853:                return;
06854:            }
06855:
06856:            // $ANTLR end annotationConstantRest
06857:
06858:            // $ANTLR start defaultValue
06859:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:611:1: defaultValue : 'default' elementValue ;
06860:            public final void defaultValue() throws RecognitionException {
06861:                int defaultValue_StartIndex = input.index();
06862:                try {
06863:                    if (backtracking > 0 && alreadyParsedRule(input, 79)) {
06864:                        return;
06865:                    }
06866:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:612:5: ( 'default' elementValue )
06867:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:612:5: 'default' elementValue
06868:                    {
06869:                        match(input, 72, FOLLOW_72_in_defaultValue2227);
06870:                        if (failed)
06871:                            return;
06872:                        pushFollow(FOLLOW_elementValue_in_defaultValue2229);
06873:                        elementValue();
06874:                        _fsp--;
06875:                        if (failed)
06876:                            return;
06877:
06878:                    }
06879:
06880:                } catch (RecognitionException re) {
06881:                    reportError(re);
06882:                    recover(input, re);
06883:                } finally {
06884:                    if (backtracking > 0) {
06885:                        memoize(input, 79, defaultValue_StartIndex);
06886:                    }
06887:                }
06888:                return;
06889:            }
06890:
06891:            // $ANTLR end defaultValue
06892:
06893:            // $ANTLR start block
06894:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:617:1: block : '{' ( blockStatement )* '}' ;
06895:            public final void block() throws RecognitionException {
06896:                int block_StartIndex = input.index();
06897:
06898:                this .localVariableLevel++;
06899:
06900:                try {
06901:                    if (backtracking > 0 && alreadyParsedRule(input, 80)) {
06902:                        return;
06903:                    }
06904:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:624:4: ( '{' ( blockStatement )* '}' )
06905:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:624:4: '{' ( blockStatement )* '}'
06906:                    {
06907:                        match(input, 37, FOLLOW_37_in_block2269);
06908:                        if (failed)
06909:                            return;
06910:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:624:8: ( blockStatement )*
06911:                        loop104: do {
06912:                            int alt104 = 2;
06913:                            int LA104_0 = input.LA(1);
06914:
06915:                            if (((LA104_0 >= Identifier && LA104_0 <= DecimalLiteral)
06916:                                    || LA104_0 == 25
06917:                                    || LA104_0 == 27
06918:                                    || LA104_0 == 30
06919:                                    || LA104_0 == 33
06920:                                    || LA104_0 == 37
06921:                                    || (LA104_0 >= 39 && LA104_0 <= 40)
06922:                                    || (LA104_0 >= 45 && LA104_0 <= 62)
06923:                                    || (LA104_0 >= 64 && LA104_0 <= 65)
06924:                                    || (LA104_0 >= 68 && LA104_0 <= 71)
06925:                                    || LA104_0 == 73
06926:                                    || LA104_0 == 75
06927:                                    || (LA104_0 >= 77 && LA104_0 <= 80)
06928:                                    || (LA104_0 >= 82 && LA104_0 <= 86)
06929:                                    || (LA104_0 >= 104 && LA104_0 <= 105) || (LA104_0 >= 108 && LA104_0 <= 113))) {
06930:                                alt104 = 1;
06931:                            }
06932:
06933:                            switch (alt104) {
06934:                            case 1:
06935:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: blockStatement
06936:                            {
06937:                                pushFollow(FOLLOW_blockStatement_in_block2271);
06938:                                blockStatement();
06939:                                _fsp--;
06940:                                if (failed)
06941:                                    return;
06942:
06943:                            }
06944:                                break;
06945:
06946:                            default:
06947:                                break loop104;
06948:                            }
06949:                        } while (true);
06950:
06951:                        match(input, 38, FOLLOW_38_in_block2274);
06952:                        if (failed)
06953:                            return;
06954:
06955:                    }
06956:
06957:                    if (backtracking == 0) {
06958:
06959:                        this .localVariableLevel--;
06960:
06961:                    }
06962:                } catch (RecognitionException re) {
06963:                    reportError(re);
06964:                    recover(input, re);
06965:                } finally {
06966:                    if (backtracking > 0) {
06967:                        memoize(input, 80, block_StartIndex);
06968:                    }
06969:                }
06970:                return;
06971:            }
06972:
06973:            // $ANTLR end block
06974:
06975:            // $ANTLR start blockStatement
06976:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );
06977:            public final void blockStatement() throws RecognitionException {
06978:                int blockStatement_StartIndex = input.index();
06979:                try {
06980:                    if (backtracking > 0 && alreadyParsedRule(input, 81)) {
06981:                        return;
06982:                    }
06983:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:4: ( localVariableDeclaration | classOrInterfaceDeclaration | statement )
06984:                    int alt105 = 3;
06985:                    switch (input.LA(1)) {
06986:                    case 49: {
06987:                        switch (input.LA(2)) {
06988:                        case ENUM:
06989:                        case 27:
06990:                        case 30:
06991:                        case 39:
06992:                        case 45:
06993:                        case 46:
06994:                        case 47:
06995:                        case 48:
06996:                        case 50:
06997:                        case 51:
06998:                        case 52:
06999:                        case 53:
07000:                        case 54: {
07001:                            alt105 = 2;
07002:                        }
07003:                            break;
07004:                        case 71: {
07005:                            int LA105_52 = input.LA(3);
07006:
07007:                            if ((synpred144())) {
07008:                                alt105 = 1;
07009:                            } else if ((synpred145())) {
07010:                                alt105 = 2;
07011:                            } else {
07012:                                if (backtracking > 0) {
07013:                                    failed = true;
07014:                                    return;
07015:                                }
07016:                                NoViableAltException nvae = new NoViableAltException(
07017:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07018:                                        105, 52, input);
07019:
07020:                                throw nvae;
07021:                            }
07022:                        }
07023:                            break;
07024:                        case 49: {
07025:                            int LA105_58 = input.LA(3);
07026:
07027:                            if ((synpred144())) {
07028:                                alt105 = 1;
07029:                            } else if ((synpred145())) {
07030:                                alt105 = 2;
07031:                            } else {
07032:                                if (backtracking > 0) {
07033:                                    failed = true;
07034:                                    return;
07035:                                }
07036:                                NoViableAltException nvae = new NoViableAltException(
07037:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07038:                                        105, 58, input);
07039:
07040:                                throw nvae;
07041:                            }
07042:                        }
07043:                            break;
07044:                        case Identifier:
07045:                        case 55:
07046:                        case 56:
07047:                        case 57:
07048:                        case 58:
07049:                        case 59:
07050:                        case 60:
07051:                        case 61:
07052:                        case 62: {
07053:                            alt105 = 1;
07054:                        }
07055:                            break;
07056:                        default:
07057:                            if (backtracking > 0) {
07058:                                failed = true;
07059:                                return;
07060:                            }
07061:                            NoViableAltException nvae = new NoViableAltException(
07062:                                    "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07063:                                    105, 1, input);
07064:
07065:                            throw nvae;
07066:                        }
07067:
07068:                    }
07069:                        break;
07070:                    case 71: {
07071:                        int LA105_2 = input.LA(2);
07072:
07073:                        if ((LA105_2 == 39)) {
07074:                            alt105 = 2;
07075:                        } else if ((LA105_2 == Identifier)) {
07076:                            int LA105_67 = input.LA(3);
07077:
07078:                            if ((synpred144())) {
07079:                                alt105 = 1;
07080:                            } else if ((synpred145())) {
07081:                                alt105 = 2;
07082:                            } else {
07083:                                if (backtracking > 0) {
07084:                                    failed = true;
07085:                                    return;
07086:                                }
07087:                                NoViableAltException nvae = new NoViableAltException(
07088:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07089:                                        105, 67, input);
07090:
07091:                                throw nvae;
07092:                            }
07093:                        } else {
07094:                            if (backtracking > 0) {
07095:                                failed = true;
07096:                                return;
07097:                            }
07098:                            NoViableAltException nvae = new NoViableAltException(
07099:                                    "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07100:                                    105, 2, input);
07101:
07102:                            throw nvae;
07103:                        }
07104:                    }
07105:                        break;
07106:                    case Identifier: {
07107:                        switch (input.LA(2)) {
07108:                        case 25:
07109:                        case 29:
07110:                        case 35:
07111:                        case 36:
07112:                        case 44:
07113:                        case 63:
07114:                        case 65:
07115:                        case 74:
07116:                        case 89:
07117:                        case 90:
07118:                        case 91:
07119:                        case 92:
07120:                        case 93:
07121:                        case 94:
07122:                        case 95:
07123:                        case 96:
07124:                        case 97:
07125:                        case 98:
07126:                        case 99:
07127:                        case 100:
07128:                        case 101:
07129:                        case 102:
07130:                        case 103:
07131:                        case 104:
07132:                        case 105:
07133:                        case 106:
07134:                        case 107:
07135:                        case 108:
07136:                        case 109: {
07137:                            alt105 = 3;
07138:                        }
07139:                            break;
07140:                        case 28: {
07141:                            int LA105_69 = input.LA(3);
07142:
07143:                            if ((synpred144())) {
07144:                                alt105 = 1;
07145:                            } else if ((true)) {
07146:                                alt105 = 3;
07147:                            } else {
07148:                                if (backtracking > 0) {
07149:                                    failed = true;
07150:                                    return;
07151:                                }
07152:                                NoViableAltException nvae = new NoViableAltException(
07153:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07154:                                        105, 69, input);
07155:
07156:                                throw nvae;
07157:                            }
07158:                        }
07159:                            break;
07160:                        case 41: {
07161:                            int LA105_70 = input.LA(3);
07162:
07163:                            if ((synpred144())) {
07164:                                alt105 = 1;
07165:                            } else if ((true)) {
07166:                                alt105 = 3;
07167:                            } else {
07168:                                if (backtracking > 0) {
07169:                                    failed = true;
07170:                                    return;
07171:                                }
07172:                                NoViableAltException nvae = new NoViableAltException(
07173:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07174:                                        105, 70, input);
07175:
07176:                                throw nvae;
07177:                            }
07178:                        }
07179:                            break;
07180:                        case 33: {
07181:                            int LA105_75 = input.LA(3);
07182:
07183:                            if ((synpred144())) {
07184:                                alt105 = 1;
07185:                            } else if ((true)) {
07186:                                alt105 = 3;
07187:                            } else {
07188:                                if (backtracking > 0) {
07189:                                    failed = true;
07190:                                    return;
07191:                                }
07192:                                NoViableAltException nvae = new NoViableAltException(
07193:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07194:                                        105, 75, input);
07195:
07196:                                throw nvae;
07197:                            }
07198:                        }
07199:                            break;
07200:                        case Identifier: {
07201:                            alt105 = 1;
07202:                        }
07203:                            break;
07204:                        default:
07205:                            if (backtracking > 0) {
07206:                                failed = true;
07207:                                return;
07208:                            }
07209:                            NoViableAltException nvae = new NoViableAltException(
07210:                                    "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07211:                                    105, 3, input);
07212:
07213:                            throw nvae;
07214:                        }
07215:
07216:                    }
07217:                        break;
07218:                    case 55:
07219:                    case 56:
07220:                    case 57:
07221:                    case 58:
07222:                    case 59:
07223:                    case 60:
07224:                    case 61:
07225:                    case 62: {
07226:                        switch (input.LA(2)) {
07227:                        case 41: {
07228:                            int LA105_96 = input.LA(3);
07229:
07230:                            if ((synpred144())) {
07231:                                alt105 = 1;
07232:                            } else if ((true)) {
07233:                                alt105 = 3;
07234:                            } else {
07235:                                if (backtracking > 0) {
07236:                                    failed = true;
07237:                                    return;
07238:                                }
07239:                                NoViableAltException nvae = new NoViableAltException(
07240:                                        "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07241:                                        105, 96, input);
07242:
07243:                                throw nvae;
07244:                            }
07245:                        }
07246:                            break;
07247:                        case 28: {
07248:                            alt105 = 3;
07249:                        }
07250:                            break;
07251:                        case Identifier: {
07252:                            alt105 = 1;
07253:                        }
07254:                            break;
07255:                        default:
07256:                            if (backtracking > 0) {
07257:                                failed = true;
07258:                                return;
07259:                            }
07260:                            NoViableAltException nvae = new NoViableAltException(
07261:                                    "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07262:                                    105, 4, input);
07263:
07264:                            throw nvae;
07265:                        }
07266:
07267:                    }
07268:                        break;
07269:                    case ENUM:
07270:                    case 27:
07271:                    case 30:
07272:                    case 39:
07273:                    case 45:
07274:                    case 46:
07275:                    case 47:
07276:                    case 48:
07277:                    case 50:
07278:                    case 52:
07279:                    case 53:
07280:                    case 54: {
07281:                        alt105 = 2;
07282:                    }
07283:                        break;
07284:                    case 51: {
07285:                        int LA105_11 = input.LA(2);
07286:
07287:                        if ((LA105_11 == ENUM || LA105_11 == 27
07288:                                || LA105_11 == 30 || LA105_11 == 39
07289:                                || (LA105_11 >= 45 && LA105_11 <= 54) || LA105_11 == 71)) {
07290:                            alt105 = 2;
07291:                        } else if ((LA105_11 == 65)) {
07292:                            alt105 = 3;
07293:                        } else {
07294:                            if (backtracking > 0) {
07295:                                failed = true;
07296:                                return;
07297:                            }
07298:                            NoViableAltException nvae = new NoViableAltException(
07299:                                    "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07300:                                    105, 11, input);
07301:
07302:                            throw nvae;
07303:                        }
07304:                    }
07305:                        break;
07306:                    case FloatingPointLiteral:
07307:                    case CharacterLiteral:
07308:                    case StringLiteral:
07309:                    case HexLiteral:
07310:                    case OctalLiteral:
07311:                    case DecimalLiteral:
07312:                    case 25:
07313:                    case 33:
07314:                    case 37:
07315:                    case 40:
07316:                    case 64:
07317:                    case 65:
07318:                    case 68:
07319:                    case 69:
07320:                    case 70:
07321:                    case 73:
07322:                    case 75:
07323:                    case 77:
07324:                    case 78:
07325:                    case 79:
07326:                    case 80:
07327:                    case 82:
07328:                    case 83:
07329:                    case 84:
07330:                    case 85:
07331:                    case 86:
07332:                    case 104:
07333:                    case 105:
07334:                    case 108:
07335:                    case 109:
07336:                    case 110:
07337:                    case 111:
07338:                    case 112:
07339:                    case 113: {
07340:                        alt105 = 3;
07341:                    }
07342:                        break;
07343:                    default:
07344:                        if (backtracking > 0) {
07345:                            failed = true;
07346:                            return;
07347:                        }
07348:                        NoViableAltException nvae = new NoViableAltException(
07349:                                "627:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );",
07350:                                105, 0, input);
07351:
07352:                        throw nvae;
07353:                    }
07354:
07355:                    switch (alt105) {
07356:                    case 1:
07357:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:4: localVariableDeclaration
07358:                    {
07359:                        pushFollow(FOLLOW_localVariableDeclaration_in_blockStatement2286);
07360:                        localVariableDeclaration();
07361:                        _fsp--;
07362:                        if (failed)
07363:                            return;
07364:
07365:                    }
07366:                        break;
07367:                    case 2:
07368:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:629:4: classOrInterfaceDeclaration
07369:                    {
07370:                        pushFollow(FOLLOW_classOrInterfaceDeclaration_in_blockStatement2291);
07371:                        classOrInterfaceDeclaration();
07372:                        _fsp--;
07373:                        if (failed)
07374:                            return;
07375:
07376:                    }
07377:                        break;
07378:                    case 3:
07379:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:630:8: statement
07380:                    {
07381:                        pushFollow(FOLLOW_statement_in_blockStatement2300);
07382:                        statement();
07383:                        _fsp--;
07384:                        if (failed)
07385:                            return;
07386:
07387:                    }
07388:                        break;
07389:
07390:                    }
07391:                } catch (RecognitionException re) {
07392:                    reportError(re);
07393:                    recover(input, re);
07394:                } finally {
07395:                    if (backtracking > 0) {
07396:                        memoize(input, 81, blockStatement_StartIndex);
07397:                    }
07398:                }
07399:                return;
07400:            }
07401:
07402:            // $ANTLR end blockStatement
07403:
07404:            protected static class localVariableDeclaration_scope {
07405:                JavaLocalDeclarationDescr descr;
07406:            }
07407:
07408:            protected Stack localVariableDeclaration_stack = new Stack();
07409:
07410:            // $ANTLR start localVariableDeclaration
07411:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:633:1: localVariableDeclaration : ( variableModifier )* type variableDeclarators ';' ;
07412:            public final void localVariableDeclaration()
07413:                    throws RecognitionException {
07414:                localVariableDeclaration_stack
07415:                        .push(new localVariableDeclaration_scope());
07416:                int localVariableDeclaration_StartIndex = input.index();
07417:                variableModifier_return variableModifier1 = null;
07418:
07419:                type_return type2 = null;
07420:
07421:                ((localVariableDeclaration_scope) localVariableDeclaration_stack
07422:                        .peek()).descr = new JavaLocalDeclarationDescr();
07423:
07424:                try {
07425:                    if (backtracking > 0 && alreadyParsedRule(input, 82)) {
07426:                        return;
07427:                    }
07428:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:644:2: ( ( variableModifier )* type variableDeclarators ';' )
07429:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:644:2: ( variableModifier )* type variableDeclarators ';'
07430:                    {
07431:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:644:2: ( variableModifier )*
07432:                        loop106: do {
07433:                            int alt106 = 2;
07434:                            int LA106_0 = input.LA(1);
07435:
07436:                            if ((LA106_0 == 49 || LA106_0 == 71)) {
07437:                                alt106 = 1;
07438:                            }
07439:
07440:                            switch (alt106) {
07441:                            case 1:
07442:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:644:4: variableModifier
07443:                            {
07444:                                pushFollow(FOLLOW_variableModifier_in_localVariableDeclaration2348);
07445:                                variableModifier1 = variableModifier();
07446:                                _fsp--;
07447:                                if (failed)
07448:                                    return;
07449:                                if (backtracking == 0) {
07450:
07451:                                    ((localVariableDeclaration_scope) localVariableDeclaration_stack
07452:                                            .peek()).descr
07453:                                            .updateStart(((CommonToken) ((Token) variableModifier1.start))
07454:                                                    .getStartIndex() - 1);
07455:                                    ((localVariableDeclaration_scope) localVariableDeclaration_stack
07456:                                            .peek()).descr.addModifier(input
07457:                                            .toString(variableModifier1.start,
07458:                                                    variableModifier1.stop));
07459:
07460:                                }
07461:
07462:                            }
07463:                                break;
07464:
07465:                            default:
07466:                                break loop106;
07467:                            }
07468:                        } while (true);
07469:
07470:                        pushFollow(FOLLOW_type_in_localVariableDeclaration2365);
07471:                        type2 = type();
07472:                        _fsp--;
07473:                        if (failed)
07474:                            return;
07475:                        if (backtracking == 0) {
07476:
07477:                            ((localVariableDeclaration_scope) localVariableDeclaration_stack
07478:                                    .peek()).descr
07479:                                    .updateStart(((CommonToken) ((Token) type2.start))
07480:                                            .getStartIndex() - 1);
07481:                            ((localVariableDeclaration_scope) localVariableDeclaration_stack
07482:                                    .peek()).descr.setType(input.toString(
07483:                                    type2.start, type2.stop));
07484:                            ((localVariableDeclaration_scope) localVariableDeclaration_stack
07485:                                    .peek()).descr
07486:                                    .setEnd(((CommonToken) ((Token) type2.stop))
07487:                                            .getStopIndex());
07488:
07489:                        }
07490:                        pushFollow(FOLLOW_variableDeclarators_in_localVariableDeclaration2376);
07491:                        variableDeclarators();
07492:                        _fsp--;
07493:                        if (failed)
07494:                            return;
07495:                        match(input, 25,
07496:                                FOLLOW_25_in_localVariableDeclaration2378);
07497:                        if (failed)
07498:                            return;
07499:
07500:                    }
07501:
07502:                    if (backtracking == 0) {
07503:
07504:                        localDeclarations
07505:                                .add(((localVariableDeclaration_scope) localVariableDeclaration_stack
07506:                                        .peek()).descr);
07507:
07508:                    }
07509:                } catch (RecognitionException re) {
07510:                    reportError(re);
07511:                    recover(input, re);
07512:                } finally {
07513:                    if (backtracking > 0) {
07514:                        memoize(input, 82, localVariableDeclaration_StartIndex);
07515:                    }
07516:                    localVariableDeclaration_stack.pop();
07517:                }
07518:                return;
07519:            }
07520:
07521:            // $ANTLR end localVariableDeclaration
07522:
07523:            // $ANTLR start statement
07524:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:659:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );
07525:            public final void statement() throws RecognitionException {
07526:                int statement_StartIndex = input.index();
07527:                try {
07528:                    if (backtracking > 0 && alreadyParsedRule(input, 83)) {
07529:                        return;
07530:                    }
07531:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:660:4: ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement )
07532:                    int alt113 = 16;
07533:                    switch (input.LA(1)) {
07534:                    case 37: {
07535:                        alt113 = 1;
07536:                    }
07537:                        break;
07538:                    case 73: {
07539:                        alt113 = 2;
07540:                    }
07541:                        break;
07542:                    case 75: {
07543:                        alt113 = 3;
07544:                    }
07545:                        break;
07546:                    case 77: {
07547:                        alt113 = 4;
07548:                    }
07549:                        break;
07550:                    case 78: {
07551:                        alt113 = 5;
07552:                    }
07553:                        break;
07554:                    case 79: {
07555:                        alt113 = 6;
07556:                    }
07557:                        break;
07558:                    case 80: {
07559:                        alt113 = 7;
07560:                    }
07561:                        break;
07562:                    case 82: {
07563:                        alt113 = 8;
07564:                    }
07565:                        break;
07566:                    case 51: {
07567:                        alt113 = 9;
07568:                    }
07569:                        break;
07570:                    case 83: {
07571:                        alt113 = 10;
07572:                    }
07573:                        break;
07574:                    case 84: {
07575:                        alt113 = 11;
07576:                    }
07577:                        break;
07578:                    case 85: {
07579:                        alt113 = 12;
07580:                    }
07581:                        break;
07582:                    case 86: {
07583:                        alt113 = 13;
07584:                    }
07585:                        break;
07586:                    case 25: {
07587:                        alt113 = 14;
07588:                    }
07589:                        break;
07590:                    case FloatingPointLiteral:
07591:                    case CharacterLiteral:
07592:                    case StringLiteral:
07593:                    case HexLiteral:
07594:                    case OctalLiteral:
07595:                    case DecimalLiteral:
07596:                    case 33:
07597:                    case 40:
07598:                    case 55:
07599:                    case 56:
07600:                    case 57:
07601:                    case 58:
07602:                    case 59:
07603:                    case 60:
07604:                    case 61:
07605:                    case 62:
07606:                    case 64:
07607:                    case 65:
07608:                    case 68:
07609:                    case 69:
07610:                    case 70:
07611:                    case 104:
07612:                    case 105:
07613:                    case 108:
07614:                    case 109:
07615:                    case 110:
07616:                    case 111:
07617:                    case 112:
07618:                    case 113: {
07619:                        alt113 = 15;
07620:                    }
07621:                        break;
07622:                    case Identifier: {
07623:                        int LA113_32 = input.LA(2);
07624:
07625:                        if ((LA113_32 == 74)) {
07626:                            alt113 = 16;
07627:                        } else if ((LA113_32 == 25
07628:                                || (LA113_32 >= 28 && LA113_32 <= 29)
07629:                                || LA113_32 == 33
07630:                                || (LA113_32 >= 35 && LA113_32 <= 36)
07631:                                || LA113_32 == 41 || LA113_32 == 44
07632:                                || LA113_32 == 63 || LA113_32 == 65 || (LA113_32 >= 89 && LA113_32 <= 109))) {
07633:                            alt113 = 15;
07634:                        } else {
07635:                            if (backtracking > 0) {
07636:                                failed = true;
07637:                                return;
07638:                            }
07639:                            NoViableAltException nvae = new NoViableAltException(
07640:                                    "659:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );",
07641:                                    113, 32, input);
07642:
07643:                            throw nvae;
07644:                        }
07645:                    }
07646:                        break;
07647:                    default:
07648:                        if (backtracking > 0) {
07649:                            failed = true;
07650:                            return;
07651:                        }
07652:                        NoViableAltException nvae = new NoViableAltException(
07653:                                "659:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );",
07654:                                113, 0, input);
07655:
07656:                        throw nvae;
07657:                    }
07658:
07659:                    switch (alt113) {
07660:                    case 1:
07661:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:660:4: block
07662:                    {
07663:                        pushFollow(FOLLOW_block_in_statement2390);
07664:                        block();
07665:                        _fsp--;
07666:                        if (failed)
07667:                            return;
07668:
07669:                    }
07670:                        break;
07671:                    case 2:
07672:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:661:7: 'assert' expression ( ':' expression )? ';'
07673:                    {
07674:                        match(input, 73, FOLLOW_73_in_statement2398);
07675:                        if (failed)
07676:                            return;
07677:                        pushFollow(FOLLOW_expression_in_statement2400);
07678:                        expression();
07679:                        _fsp--;
07680:                        if (failed)
07681:                            return;
07682:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:661:27: ( ':' expression )?
07683:                        int alt107 = 2;
07684:                        int LA107_0 = input.LA(1);
07685:
07686:                        if ((LA107_0 == 74)) {
07687:                            alt107 = 1;
07688:                        }
07689:                        switch (alt107) {
07690:                        case 1:
07691:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:661:28: ':' expression
07692:                        {
07693:                            match(input, 74, FOLLOW_74_in_statement2403);
07694:                            if (failed)
07695:                                return;
07696:                            pushFollow(FOLLOW_expression_in_statement2405);
07697:                            expression();
07698:                            _fsp--;
07699:                            if (failed)
07700:                                return;
07701:
07702:                        }
07703:                            break;
07704:
07705:                        }
07706:
07707:                        match(input, 25, FOLLOW_25_in_statement2409);
07708:                        if (failed)
07709:                            return;
07710:
07711:                    }
07712:                        break;
07713:                    case 3:
07714:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:7: 'if' parExpression statement ( options {k=1; } : 'else' statement )?
07715:                    {
07716:                        match(input, 75, FOLLOW_75_in_statement2417);
07717:                        if (failed)
07718:                            return;
07719:                        pushFollow(FOLLOW_parExpression_in_statement2419);
07720:                        parExpression();
07721:                        _fsp--;
07722:                        if (failed)
07723:                            return;
07724:                        pushFollow(FOLLOW_statement_in_statement2421);
07725:                        statement();
07726:                        _fsp--;
07727:                        if (failed)
07728:                            return;
07729:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:36: ( options {k=1; } : 'else' statement )?
07730:                        int alt108 = 2;
07731:                        int LA108_0 = input.LA(1);
07732:
07733:                        if ((LA108_0 == 76)) {
07734:                            int LA108_1 = input.LA(2);
07735:
07736:                            if ((synpred150())) {
07737:                                alt108 = 1;
07738:                            }
07739:                        }
07740:                        switch (alt108) {
07741:                        case 1:
07742:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:52: 'else' statement
07743:                        {
07744:                            match(input, 76, FOLLOW_76_in_statement2431);
07745:                            if (failed)
07746:                                return;
07747:                            pushFollow(FOLLOW_statement_in_statement2433);
07748:                            statement();
07749:                            _fsp--;
07750:                            if (failed)
07751:                                return;
07752:
07753:                        }
07754:                            break;
07755:
07756:                        }
07757:
07758:                    }
07759:                        break;
07760:                    case 4:
07761:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:663:7: 'for' '(' forControl ')' statement
07762:                    {
07763:                        match(input, 77, FOLLOW_77_in_statement2443);
07764:                        if (failed)
07765:                            return;
07766:                        match(input, 65, FOLLOW_65_in_statement2445);
07767:                        if (failed)
07768:                            return;
07769:                        pushFollow(FOLLOW_forControl_in_statement2447);
07770:                        forControl();
07771:                        _fsp--;
07772:                        if (failed)
07773:                            return;
07774:                        match(input, 66, FOLLOW_66_in_statement2449);
07775:                        if (failed)
07776:                            return;
07777:                        pushFollow(FOLLOW_statement_in_statement2451);
07778:                        statement();
07779:                        _fsp--;
07780:                        if (failed)
07781:                            return;
07782:
07783:                    }
07784:                        break;
07785:                    case 5:
07786:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:7: 'while' parExpression statement
07787:                    {
07788:                        match(input, 78, FOLLOW_78_in_statement2459);
07789:                        if (failed)
07790:                            return;
07791:                        pushFollow(FOLLOW_parExpression_in_statement2461);
07792:                        parExpression();
07793:                        _fsp--;
07794:                        if (failed)
07795:                            return;
07796:                        pushFollow(FOLLOW_statement_in_statement2463);
07797:                        statement();
07798:                        _fsp--;
07799:                        if (failed)
07800:                            return;
07801:
07802:                    }
07803:                        break;
07804:                    case 6:
07805:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:665:7: 'do' statement 'while' parExpression ';'
07806:                    {
07807:                        match(input, 79, FOLLOW_79_in_statement2471);
07808:                        if (failed)
07809:                            return;
07810:                        pushFollow(FOLLOW_statement_in_statement2473);
07811:                        statement();
07812:                        _fsp--;
07813:                        if (failed)
07814:                            return;
07815:                        match(input, 78, FOLLOW_78_in_statement2475);
07816:                        if (failed)
07817:                            return;
07818:                        pushFollow(FOLLOW_parExpression_in_statement2477);
07819:                        parExpression();
07820:                        _fsp--;
07821:                        if (failed)
07822:                            return;
07823:                        match(input, 25, FOLLOW_25_in_statement2479);
07824:                        if (failed)
07825:                            return;
07826:
07827:                    }
07828:                        break;
07829:                    case 7:
07830:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:7: 'try' block ( catches 'finally' block | catches | 'finally' block )
07831:                    {
07832:                        match(input, 80, FOLLOW_80_in_statement2487);
07833:                        if (failed)
07834:                            return;
07835:                        pushFollow(FOLLOW_block_in_statement2489);
07836:                        block();
07837:                        _fsp--;
07838:                        if (failed)
07839:                            return;
07840:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:7: ( catches 'finally' block | catches | 'finally' block )
07841:                        int alt109 = 3;
07842:                        int LA109_0 = input.LA(1);
07843:
07844:                        if ((LA109_0 == 87)) {
07845:                            int LA109_1 = input.LA(2);
07846:
07847:                            if ((LA109_1 == 65)) {
07848:                                int LA109_3 = input.LA(3);
07849:
07850:                                if ((synpred155())) {
07851:                                    alt109 = 1;
07852:                                } else if ((synpred156())) {
07853:                                    alt109 = 2;
07854:                                } else {
07855:                                    if (backtracking > 0) {
07856:                                        failed = true;
07857:                                        return;
07858:                                    }
07859:                                    NoViableAltException nvae = new NoViableAltException(
07860:                                            "667:7: ( catches 'finally' block | catches | 'finally' block )",
07861:                                            109, 3, input);
07862:
07863:                                    throw nvae;
07864:                                }
07865:                            } else {
07866:                                if (backtracking > 0) {
07867:                                    failed = true;
07868:                                    return;
07869:                                }
07870:                                NoViableAltException nvae = new NoViableAltException(
07871:                                        "667:7: ( catches 'finally' block | catches | 'finally' block )",
07872:                                        109, 1, input);
07873:
07874:                                throw nvae;
07875:                            }
07876:                        } else if ((LA109_0 == 81)) {
07877:                            alt109 = 3;
07878:                        } else {
07879:                            if (backtracking > 0) {
07880:                                failed = true;
07881:                                return;
07882:                            }
07883:                            NoViableAltException nvae = new NoViableAltException(
07884:                                    "667:7: ( catches 'finally' block | catches | 'finally' block )",
07885:                                    109, 0, input);
07886:
07887:                            throw nvae;
07888:                        }
07889:                        switch (alt109) {
07890:                        case 1:
07891:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:9: catches 'finally' block
07892:                        {
07893:                            pushFollow(FOLLOW_catches_in_statement2499);
07894:                            catches();
07895:                            _fsp--;
07896:                            if (failed)
07897:                                return;
07898:                            match(input, 81, FOLLOW_81_in_statement2501);
07899:                            if (failed)
07900:                                return;
07901:                            pushFollow(FOLLOW_block_in_statement2503);
07902:                            block();
07903:                            _fsp--;
07904:                            if (failed)
07905:                                return;
07906:
07907:                        }
07908:                            break;
07909:                        case 2:
07910:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:668:9: catches
07911:                        {
07912:                            pushFollow(FOLLOW_catches_in_statement2513);
07913:                            catches();
07914:                            _fsp--;
07915:                            if (failed)
07916:                                return;
07917:
07918:                        }
07919:                            break;
07920:                        case 3:
07921:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:9: 'finally' block
07922:                        {
07923:                            match(input, 81, FOLLOW_81_in_statement2523);
07924:                            if (failed)
07925:                                return;
07926:                            pushFollow(FOLLOW_block_in_statement2525);
07927:                            block();
07928:                            _fsp--;
07929:                            if (failed)
07930:                                return;
07931:
07932:                        }
07933:                            break;
07934:
07935:                        }
07936:
07937:                    }
07938:                        break;
07939:                    case 8:
07940:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:7: 'switch' parExpression '{' switchBlockStatementGroups '}'
07941:                    {
07942:                        match(input, 82, FOLLOW_82_in_statement2541);
07943:                        if (failed)
07944:                            return;
07945:                        pushFollow(FOLLOW_parExpression_in_statement2543);
07946:                        parExpression();
07947:                        _fsp--;
07948:                        if (failed)
07949:                            return;
07950:                        match(input, 37, FOLLOW_37_in_statement2545);
07951:                        if (failed)
07952:                            return;
07953:                        pushFollow(FOLLOW_switchBlockStatementGroups_in_statement2547);
07954:                        switchBlockStatementGroups();
07955:                        _fsp--;
07956:                        if (failed)
07957:                            return;
07958:                        match(input, 38, FOLLOW_38_in_statement2549);
07959:                        if (failed)
07960:                            return;
07961:
07962:                    }
07963:                        break;
07964:                    case 9:
07965:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:672:7: 'synchronized' parExpression block
07966:                    {
07967:                        match(input, 51, FOLLOW_51_in_statement2557);
07968:                        if (failed)
07969:                            return;
07970:                        pushFollow(FOLLOW_parExpression_in_statement2559);
07971:                        parExpression();
07972:                        _fsp--;
07973:                        if (failed)
07974:                            return;
07975:                        pushFollow(FOLLOW_block_in_statement2561);
07976:                        block();
07977:                        _fsp--;
07978:                        if (failed)
07979:                            return;
07980:
07981:                    }
07982:                        break;
07983:                    case 10:
07984:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:673:7: 'return' ( expression )? ';'
07985:                    {
07986:                        match(input, 83, FOLLOW_83_in_statement2569);
07987:                        if (failed)
07988:                            return;
07989:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:673:16: ( expression )?
07990:                        int alt110 = 2;
07991:                        int LA110_0 = input.LA(1);
07992:
07993:                        if ((LA110_0 == Identifier
07994:                                || (LA110_0 >= FloatingPointLiteral && LA110_0 <= DecimalLiteral)
07995:                                || LA110_0 == 33 || LA110_0 == 40
07996:                                || (LA110_0 >= 55 && LA110_0 <= 62)
07997:                                || (LA110_0 >= 64 && LA110_0 <= 65)
07998:                                || (LA110_0 >= 68 && LA110_0 <= 70)
07999:                                || (LA110_0 >= 104 && LA110_0 <= 105) || (LA110_0 >= 108 && LA110_0 <= 113))) {
08000:                            alt110 = 1;
08001:                        }
08002:                        switch (alt110) {
08003:                        case 1:
08004:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: expression
08005:                        {
08006:                            pushFollow(FOLLOW_expression_in_statement2571);
08007:                            expression();
08008:                            _fsp--;
08009:                            if (failed)
08010:                                return;
08011:
08012:                        }
08013:                            break;
08014:
08015:                        }
08016:
08017:                        match(input, 25, FOLLOW_25_in_statement2574);
08018:                        if (failed)
08019:                            return;
08020:
08021:                    }
08022:                        break;
08023:                    case 11:
08024:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:674:7: 'throw' expression ';'
08025:                    {
08026:                        match(input, 84, FOLLOW_84_in_statement2582);
08027:                        if (failed)
08028:                            return;
08029:                        pushFollow(FOLLOW_expression_in_statement2584);
08030:                        expression();
08031:                        _fsp--;
08032:                        if (failed)
08033:                            return;
08034:                        match(input, 25, FOLLOW_25_in_statement2586);
08035:                        if (failed)
08036:                            return;
08037:
08038:                    }
08039:                        break;
08040:                    case 12:
08041:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:675:7: 'break' ( Identifier )? ';'
08042:                    {
08043:                        match(input, 85, FOLLOW_85_in_statement2594);
08044:                        if (failed)
08045:                            return;
08046:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:675:15: ( Identifier )?
08047:                        int alt111 = 2;
08048:                        int LA111_0 = input.LA(1);
08049:
08050:                        if ((LA111_0 == Identifier)) {
08051:                            alt111 = 1;
08052:                        }
08053:                        switch (alt111) {
08054:                        case 1:
08055:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: Identifier
08056:                        {
08057:                            match(input, Identifier,
08058:                                    FOLLOW_Identifier_in_statement2596);
08059:                            if (failed)
08060:                                return;
08061:
08062:                        }
08063:                            break;
08064:
08065:                        }
08066:
08067:                        match(input, 25, FOLLOW_25_in_statement2599);
08068:                        if (failed)
08069:                            return;
08070:
08071:                    }
08072:                        break;
08073:                    case 13:
08074:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:676:7: 'continue' ( Identifier )? ';'
08075:                    {
08076:                        match(input, 86, FOLLOW_86_in_statement2607);
08077:                        if (failed)
08078:                            return;
08079:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:676:18: ( Identifier )?
08080:                        int alt112 = 2;
08081:                        int LA112_0 = input.LA(1);
08082:
08083:                        if ((LA112_0 == Identifier)) {
08084:                            alt112 = 1;
08085:                        }
08086:                        switch (alt112) {
08087:                        case 1:
08088:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: Identifier
08089:                        {
08090:                            match(input, Identifier,
08091:                                    FOLLOW_Identifier_in_statement2609);
08092:                            if (failed)
08093:                                return;
08094:
08095:                        }
08096:                            break;
08097:
08098:                        }
08099:
08100:                        match(input, 25, FOLLOW_25_in_statement2612);
08101:                        if (failed)
08102:                            return;
08103:
08104:                    }
08105:                        break;
08106:                    case 14:
08107:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:677:7: ';'
08108:                    {
08109:                        match(input, 25, FOLLOW_25_in_statement2620);
08110:                        if (failed)
08111:                            return;
08112:
08113:                    }
08114:                        break;
08115:                    case 15:
08116:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:678:7: statementExpression ';'
08117:                    {
08118:                        pushFollow(FOLLOW_statementExpression_in_statement2628);
08119:                        statementExpression();
08120:                        _fsp--;
08121:                        if (failed)
08122:                            return;
08123:                        match(input, 25, FOLLOW_25_in_statement2630);
08124:                        if (failed)
08125:                            return;
08126:
08127:                    }
08128:                        break;
08129:                    case 16:
08130:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:679:7: Identifier ':' statement
08131:                    {
08132:                        match(input, Identifier,
08133:                                FOLLOW_Identifier_in_statement2638);
08134:                        if (failed)
08135:                            return;
08136:                        match(input, 74, FOLLOW_74_in_statement2640);
08137:                        if (failed)
08138:                            return;
08139:                        pushFollow(FOLLOW_statement_in_statement2642);
08140:                        statement();
08141:                        _fsp--;
08142:                        if (failed)
08143:                            return;
08144:
08145:                    }
08146:                        break;
08147:
08148:                    }
08149:                } catch (RecognitionException re) {
08150:                    reportError(re);
08151:                    recover(input, re);
08152:                } finally {
08153:                    if (backtracking > 0) {
08154:                        memoize(input, 83, statement_StartIndex);
08155:                    }
08156:                }
08157:                return;
08158:            }
08159:
08160:            // $ANTLR end statement
08161:
08162:            // $ANTLR start catches
08163:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:682:1: catches : catchClause ( catchClause )* ;
08164:            public final void catches() throws RecognitionException {
08165:                int catches_StartIndex = input.index();
08166:                try {
08167:                    if (backtracking > 0 && alreadyParsedRule(input, 84)) {
08168:                        return;
08169:                    }
08170:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:683:4: ( catchClause ( catchClause )* )
08171:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:683:4: catchClause ( catchClause )*
08172:                    {
08173:                        pushFollow(FOLLOW_catchClause_in_catches2654);
08174:                        catchClause();
08175:                        _fsp--;
08176:                        if (failed)
08177:                            return;
08178:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:683:16: ( catchClause )*
08179:                        loop114: do {
08180:                            int alt114 = 2;
08181:                            int LA114_0 = input.LA(1);
08182:
08183:                            if ((LA114_0 == 87)) {
08184:                                alt114 = 1;
08185:                            }
08186:
08187:                            switch (alt114) {
08188:                            case 1:
08189:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:683:17: catchClause
08190:                            {
08191:                                pushFollow(FOLLOW_catchClause_in_catches2657);
08192:                                catchClause();
08193:                                _fsp--;
08194:                                if (failed)
08195:                                    return;
08196:
08197:                            }
08198:                                break;
08199:
08200:                            default:
08201:                                break loop114;
08202:                            }
08203:                        } while (true);
08204:
08205:                    }
08206:
08207:                } catch (RecognitionException re) {
08208:                    reportError(re);
08209:                    recover(input, re);
08210:                } finally {
08211:                    if (backtracking > 0) {
08212:                        memoize(input, 84, catches_StartIndex);
08213:                    }
08214:                }
08215:                return;
08216:            }
08217:
08218:            // $ANTLR end catches
08219:
08220:            // $ANTLR start catchClause
08221:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:686:1: catchClause : 'catch' '(' formalParameter ')' block ;
08222:            public final void catchClause() throws RecognitionException {
08223:                int catchClause_StartIndex = input.index();
08224:                try {
08225:                    if (backtracking > 0 && alreadyParsedRule(input, 85)) {
08226:                        return;
08227:                    }
08228:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:687:4: ( 'catch' '(' formalParameter ')' block )
08229:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:687:4: 'catch' '(' formalParameter ')' block
08230:                    {
08231:                        match(input, 87, FOLLOW_87_in_catchClause2671);
08232:                        if (failed)
08233:                            return;
08234:                        match(input, 65, FOLLOW_65_in_catchClause2673);
08235:                        if (failed)
08236:                            return;
08237:                        pushFollow(FOLLOW_formalParameter_in_catchClause2675);
08238:                        formalParameter();
08239:                        _fsp--;
08240:                        if (failed)
08241:                            return;
08242:                        match(input, 66, FOLLOW_66_in_catchClause2677);
08243:                        if (failed)
08244:                            return;
08245:                        pushFollow(FOLLOW_block_in_catchClause2679);
08246:                        block();
08247:                        _fsp--;
08248:                        if (failed)
08249:                            return;
08250:
08251:                    }
08252:
08253:                } catch (RecognitionException re) {
08254:                    reportError(re);
08255:                    recover(input, re);
08256:                } finally {
08257:                    if (backtracking > 0) {
08258:                        memoize(input, 85, catchClause_StartIndex);
08259:                    }
08260:                }
08261:                return;
08262:            }
08263:
08264:            // $ANTLR end catchClause
08265:
08266:            // $ANTLR start formalParameter
08267:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:690:1: formalParameter : ( variableModifier )* type variableDeclaratorId ;
08268:            public final void formalParameter() throws RecognitionException {
08269:                int formalParameter_StartIndex = input.index();
08270:                try {
08271:                    if (backtracking > 0 && alreadyParsedRule(input, 86)) {
08272:                        return;
08273:                    }
08274:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:691:4: ( ( variableModifier )* type variableDeclaratorId )
08275:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:691:4: ( variableModifier )* type variableDeclaratorId
08276:                    {
08277:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:691:4: ( variableModifier )*
08278:                        loop115: do {
08279:                            int alt115 = 2;
08280:                            int LA115_0 = input.LA(1);
08281:
08282:                            if ((LA115_0 == 49 || LA115_0 == 71)) {
08283:                                alt115 = 1;
08284:                            }
08285:
08286:                            switch (alt115) {
08287:                            case 1:
08288:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
08289:                            {
08290:                                pushFollow(FOLLOW_variableModifier_in_formalParameter2690);
08291:                                variableModifier();
08292:                                _fsp--;
08293:                                if (failed)
08294:                                    return;
08295:
08296:                            }
08297:                                break;
08298:
08299:                            default:
08300:                                break loop115;
08301:                            }
08302:                        } while (true);
08303:
08304:                        pushFollow(FOLLOW_type_in_formalParameter2693);
08305:                        type();
08306:                        _fsp--;
08307:                        if (failed)
08308:                            return;
08309:                        pushFollow(FOLLOW_variableDeclaratorId_in_formalParameter2695);
08310:                        variableDeclaratorId();
08311:                        _fsp--;
08312:                        if (failed)
08313:                            return;
08314:
08315:                    }
08316:
08317:                } catch (RecognitionException re) {
08318:                    reportError(re);
08319:                    recover(input, re);
08320:                } finally {
08321:                    if (backtracking > 0) {
08322:                        memoize(input, 86, formalParameter_StartIndex);
08323:                    }
08324:                }
08325:                return;
08326:            }
08327:
08328:            // $ANTLR end formalParameter
08329:
08330:            // $ANTLR start switchBlockStatementGroups
08331:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:694:1: switchBlockStatementGroups : ( switchBlockStatementGroup )* ;
08332:            public final void switchBlockStatementGroups()
08333:                    throws RecognitionException {
08334:                int switchBlockStatementGroups_StartIndex = input.index();
08335:                try {
08336:                    if (backtracking > 0 && alreadyParsedRule(input, 87)) {
08337:                        return;
08338:                    }
08339:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:695:4: ( ( switchBlockStatementGroup )* )
08340:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:695:4: ( switchBlockStatementGroup )*
08341:                    {
08342:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:695:4: ( switchBlockStatementGroup )*
08343:                        loop116: do {
08344:                            int alt116 = 2;
08345:                            int LA116_0 = input.LA(1);
08346:
08347:                            if ((LA116_0 == 72 || LA116_0 == 88)) {
08348:                                alt116 = 1;
08349:                            }
08350:
08351:                            switch (alt116) {
08352:                            case 1:
08353:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:695:5: switchBlockStatementGroup
08354:                            {
08355:                                pushFollow(FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2709);
08356:                                switchBlockStatementGroup();
08357:                                _fsp--;
08358:                                if (failed)
08359:                                    return;
08360:
08361:                            }
08362:                                break;
08363:
08364:                            default:
08365:                                break loop116;
08366:                            }
08367:                        } while (true);
08368:
08369:                    }
08370:
08371:                } catch (RecognitionException re) {
08372:                    reportError(re);
08373:                    recover(input, re);
08374:                } finally {
08375:                    if (backtracking > 0) {
08376:                        memoize(input, 87,
08377:                                switchBlockStatementGroups_StartIndex);
08378:                    }
08379:                }
08380:                return;
08381:            }
08382:
08383:            // $ANTLR end switchBlockStatementGroups
08384:
08385:            // $ANTLR start switchBlockStatementGroup
08386:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:698:1: switchBlockStatementGroup : switchLabel ( blockStatement )* ;
08387:            public final void switchBlockStatementGroup()
08388:                    throws RecognitionException {
08389:                int switchBlockStatementGroup_StartIndex = input.index();
08390:                try {
08391:                    if (backtracking > 0 && alreadyParsedRule(input, 88)) {
08392:                        return;
08393:                    }
08394:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:699:4: ( switchLabel ( blockStatement )* )
08395:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:699:4: switchLabel ( blockStatement )*
08396:                    {
08397:                        pushFollow(FOLLOW_switchLabel_in_switchBlockStatementGroup2723);
08398:                        switchLabel();
08399:                        _fsp--;
08400:                        if (failed)
08401:                            return;
08402:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:699:16: ( blockStatement )*
08403:                        loop117: do {
08404:                            int alt117 = 2;
08405:                            int LA117_0 = input.LA(1);
08406:
08407:                            if (((LA117_0 >= Identifier && LA117_0 <= DecimalLiteral)
08408:                                    || LA117_0 == 25
08409:                                    || LA117_0 == 27
08410:                                    || LA117_0 == 30
08411:                                    || LA117_0 == 33
08412:                                    || LA117_0 == 37
08413:                                    || (LA117_0 >= 39 && LA117_0 <= 40)
08414:                                    || (LA117_0 >= 45 && LA117_0 <= 62)
08415:                                    || (LA117_0 >= 64 && LA117_0 <= 65)
08416:                                    || (LA117_0 >= 68 && LA117_0 <= 71)
08417:                                    || LA117_0 == 73
08418:                                    || LA117_0 == 75
08419:                                    || (LA117_0 >= 77 && LA117_0 <= 80)
08420:                                    || (LA117_0 >= 82 && LA117_0 <= 86)
08421:                                    || (LA117_0 >= 104 && LA117_0 <= 105) || (LA117_0 >= 108 && LA117_0 <= 113))) {
08422:                                alt117 = 1;
08423:                            }
08424:
08425:                            switch (alt117) {
08426:                            case 1:
08427:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: blockStatement
08428:                            {
08429:                                pushFollow(FOLLOW_blockStatement_in_switchBlockStatementGroup2725);
08430:                                blockStatement();
08431:                                _fsp--;
08432:                                if (failed)
08433:                                    return;
08434:
08435:                            }
08436:                                break;
08437:
08438:                            default:
08439:                                break loop117;
08440:                            }
08441:                        } while (true);
08442:
08443:                    }
08444:
08445:                } catch (RecognitionException re) {
08446:                    reportError(re);
08447:                    recover(input, re);
08448:                } finally {
08449:                    if (backtracking > 0) {
08450:                        memoize(input, 88, switchBlockStatementGroup_StartIndex);
08451:                    }
08452:                }
08453:                return;
08454:            }
08455:
08456:            // $ANTLR end switchBlockStatementGroup
08457:
08458:            // $ANTLR start switchLabel
08459:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:702:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );
08460:            public final void switchLabel() throws RecognitionException {
08461:                int switchLabel_StartIndex = input.index();
08462:                try {
08463:                    if (backtracking > 0 && alreadyParsedRule(input, 89)) {
08464:                        return;
08465:                    }
08466:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:703:4: ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' )
08467:                    int alt118 = 3;
08468:                    int LA118_0 = input.LA(1);
08469:
08470:                    if ((LA118_0 == 88)) {
08471:                        int LA118_1 = input.LA(2);
08472:
08473:                        if ((LA118_1 == Identifier)) {
08474:                            int LA118_3 = input.LA(3);
08475:
08476:                            if ((synpred173())) {
08477:                                alt118 = 1;
08478:                            } else if ((synpred174())) {
08479:                                alt118 = 2;
08480:                            } else {
08481:                                if (backtracking > 0) {
08482:                                    failed = true;
08483:                                    return;
08484:                                }
08485:                                NoViableAltException nvae = new NoViableAltException(
08486:                                        "702:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );",
08487:                                        118, 3, input);
08488:
08489:                                throw nvae;
08490:                            }
08491:                        } else if (((LA118_1 >= FloatingPointLiteral && LA118_1 <= DecimalLiteral)
08492:                                || LA118_1 == 33
08493:                                || LA118_1 == 40
08494:                                || (LA118_1 >= 55 && LA118_1 <= 62)
08495:                                || (LA118_1 >= 64 && LA118_1 <= 65)
08496:                                || (LA118_1 >= 68 && LA118_1 <= 70)
08497:                                || (LA118_1 >= 104 && LA118_1 <= 105) || (LA118_1 >= 108 && LA118_1 <= 113))) {
08498:                            alt118 = 1;
08499:                        } else {
08500:                            if (backtracking > 0) {
08501:                                failed = true;
08502:                                return;
08503:                            }
08504:                            NoViableAltException nvae = new NoViableAltException(
08505:                                    "702:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );",
08506:                                    118, 1, input);
08507:
08508:                            throw nvae;
08509:                        }
08510:                    } else if ((LA118_0 == 72)) {
08511:                        alt118 = 3;
08512:                    } else {
08513:                        if (backtracking > 0) {
08514:                            failed = true;
08515:                            return;
08516:                        }
08517:                        NoViableAltException nvae = new NoViableAltException(
08518:                                "702:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );",
08519:                                118, 0, input);
08520:
08521:                        throw nvae;
08522:                    }
08523:                    switch (alt118) {
08524:                    case 1:
08525:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:703:4: 'case' constantExpression ':'
08526:                    {
08527:                        match(input, 88, FOLLOW_88_in_switchLabel2738);
08528:                        if (failed)
08529:                            return;
08530:                        pushFollow(FOLLOW_constantExpression_in_switchLabel2740);
08531:                        constantExpression();
08532:                        _fsp--;
08533:                        if (failed)
08534:                            return;
08535:                        match(input, 74, FOLLOW_74_in_switchLabel2742);
08536:                        if (failed)
08537:                            return;
08538:
08539:                    }
08540:                        break;
08541:                    case 2:
08542:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:704:6: 'case' enumConstantName ':'
08543:                    {
08544:                        match(input, 88, FOLLOW_88_in_switchLabel2749);
08545:                        if (failed)
08546:                            return;
08547:                        pushFollow(FOLLOW_enumConstantName_in_switchLabel2751);
08548:                        enumConstantName();
08549:                        _fsp--;
08550:                        if (failed)
08551:                            return;
08552:                        match(input, 74, FOLLOW_74_in_switchLabel2753);
08553:                        if (failed)
08554:                            return;
08555:
08556:                    }
08557:                        break;
08558:                    case 3:
08559:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:705:6: 'default' ':'
08560:                    {
08561:                        match(input, 72, FOLLOW_72_in_switchLabel2760);
08562:                        if (failed)
08563:                            return;
08564:                        match(input, 74, FOLLOW_74_in_switchLabel2762);
08565:                        if (failed)
08566:                            return;
08567:
08568:                    }
08569:                        break;
08570:
08571:                    }
08572:                } catch (RecognitionException re) {
08573:                    reportError(re);
08574:                    recover(input, re);
08575:                } finally {
08576:                    if (backtracking > 0) {
08577:                        memoize(input, 89, switchLabel_StartIndex);
08578:                    }
08579:                }
08580:                return;
08581:            }
08582:
08583:            // $ANTLR end switchLabel
08584:
08585:            // $ANTLR start moreStatementExpressions
08586:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:708:1: moreStatementExpressions : ( ',' statementExpression )* ;
08587:            public final void moreStatementExpressions()
08588:                    throws RecognitionException {
08589:                int moreStatementExpressions_StartIndex = input.index();
08590:                try {
08591:                    if (backtracking > 0 && alreadyParsedRule(input, 90)) {
08592:                        return;
08593:                    }
08594:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:4: ( ( ',' statementExpression )* )
08595:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:4: ( ',' statementExpression )*
08596:                    {
08597:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:4: ( ',' statementExpression )*
08598:                        loop119: do {
08599:                            int alt119 = 2;
08600:                            int LA119_0 = input.LA(1);
08601:
08602:                            if ((LA119_0 == 34)) {
08603:                                alt119 = 1;
08604:                            }
08605:
08606:                            switch (alt119) {
08607:                            case 1:
08608:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:5: ',' statementExpression
08609:                            {
08610:                                match(input, 34,
08611:                                        FOLLOW_34_in_moreStatementExpressions2775);
08612:                                if (failed)
08613:                                    return;
08614:                                pushFollow(FOLLOW_statementExpression_in_moreStatementExpressions2777);
08615:                                statementExpression();
08616:                                _fsp--;
08617:                                if (failed)
08618:                                    return;
08619:
08620:                            }
08621:                                break;
08622:
08623:                            default:
08624:                                break loop119;
08625:                            }
08626:                        } while (true);
08627:
08628:                    }
08629:
08630:                } catch (RecognitionException re) {
08631:                    reportError(re);
08632:                    recover(input, re);
08633:                } finally {
08634:                    if (backtracking > 0) {
08635:                        memoize(input, 90, moreStatementExpressions_StartIndex);
08636:                    }
08637:                }
08638:                return;
08639:            }
08640:
08641:            // $ANTLR end moreStatementExpressions
08642:
08643:            // $ANTLR start forControl
08644:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );
08645:            public final void forControl() throws RecognitionException {
08646:                int forControl_StartIndex = input.index();
08647:                try {
08648:                    if (backtracking > 0 && alreadyParsedRule(input, 91)) {
08649:                        return;
08650:                    }
08651:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:714:4: ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? )
08652:                    int alt123 = 2;
08653:                    switch (input.LA(1)) {
08654:                    case 49: {
08655:                        switch (input.LA(2)) {
08656:                        case Identifier: {
08657:                            switch (input.LA(3)) {
08658:                            case 33: {
08659:                                int LA123_60 = input.LA(4);
08660:
08661:                                if ((synpred176())) {
08662:                                    alt123 = 1;
08663:                                } else if ((true)) {
08664:                                    alt123 = 2;
08665:                                } else {
08666:                                    if (backtracking > 0) {
08667:                                        failed = true;
08668:                                        return;
08669:                                    }
08670:                                    NoViableAltException nvae = new NoViableAltException(
08671:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08672:                                            123, 60, input);
08673:
08674:                                    throw nvae;
08675:                                }
08676:                            }
08677:                                break;
08678:                            case 28: {
08679:                                int LA123_61 = input.LA(4);
08680:
08681:                                if ((synpred176())) {
08682:                                    alt123 = 1;
08683:                                } else if ((true)) {
08684:                                    alt123 = 2;
08685:                                } else {
08686:                                    if (backtracking > 0) {
08687:                                        failed = true;
08688:                                        return;
08689:                                    }
08690:                                    NoViableAltException nvae = new NoViableAltException(
08691:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08692:                                            123, 61, input);
08693:
08694:                                    throw nvae;
08695:                                }
08696:                            }
08697:                                break;
08698:                            case 41: {
08699:                                int LA123_62 = input.LA(4);
08700:
08701:                                if ((synpred176())) {
08702:                                    alt123 = 1;
08703:                                } else if ((true)) {
08704:                                    alt123 = 2;
08705:                                } else {
08706:                                    if (backtracking > 0) {
08707:                                        failed = true;
08708:                                        return;
08709:                                    }
08710:                                    NoViableAltException nvae = new NoViableAltException(
08711:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08712:                                            123, 62, input);
08713:
08714:                                    throw nvae;
08715:                                }
08716:                            }
08717:                                break;
08718:                            case Identifier: {
08719:                                int LA123_63 = input.LA(4);
08720:
08721:                                if ((synpred176())) {
08722:                                    alt123 = 1;
08723:                                } else if ((true)) {
08724:                                    alt123 = 2;
08725:                                } else {
08726:                                    if (backtracking > 0) {
08727:                                        failed = true;
08728:                                        return;
08729:                                    }
08730:                                    NoViableAltException nvae = new NoViableAltException(
08731:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08732:                                            123, 63, input);
08733:
08734:                                    throw nvae;
08735:                                }
08736:                            }
08737:                                break;
08738:                            default:
08739:                                if (backtracking > 0) {
08740:                                    failed = true;
08741:                                    return;
08742:                                }
08743:                                NoViableAltException nvae = new NoViableAltException(
08744:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08745:                                        123, 24, input);
08746:
08747:                                throw nvae;
08748:                            }
08749:
08750:                        }
08751:                            break;
08752:                        case 55:
08753:                        case 56:
08754:                        case 57:
08755:                        case 58:
08756:                        case 59:
08757:                        case 60:
08758:                        case 61:
08759:                        case 62: {
08760:                            int LA123_25 = input.LA(3);
08761:
08762:                            if ((LA123_25 == 41)) {
08763:                                int LA123_64 = input.LA(4);
08764:
08765:                                if ((synpred176())) {
08766:                                    alt123 = 1;
08767:                                } else if ((true)) {
08768:                                    alt123 = 2;
08769:                                } else {
08770:                                    if (backtracking > 0) {
08771:                                        failed = true;
08772:                                        return;
08773:                                    }
08774:                                    NoViableAltException nvae = new NoViableAltException(
08775:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08776:                                            123, 64, input);
08777:
08778:                                    throw nvae;
08779:                                }
08780:                            } else if ((LA123_25 == Identifier)) {
08781:                                int LA123_65 = input.LA(4);
08782:
08783:                                if ((synpred176())) {
08784:                                    alt123 = 1;
08785:                                } else if ((true)) {
08786:                                    alt123 = 2;
08787:                                } else {
08788:                                    if (backtracking > 0) {
08789:                                        failed = true;
08790:                                        return;
08791:                                    }
08792:                                    NoViableAltException nvae = new NoViableAltException(
08793:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08794:                                            123, 65, input);
08795:
08796:                                    throw nvae;
08797:                                }
08798:                            } else {
08799:                                if (backtracking > 0) {
08800:                                    failed = true;
08801:                                    return;
08802:                                }
08803:                                NoViableAltException nvae = new NoViableAltException(
08804:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08805:                                        123, 25, input);
08806:
08807:                                throw nvae;
08808:                            }
08809:                        }
08810:                            break;
08811:                        case 49: {
08812:                            switch (input.LA(3)) {
08813:                            case Identifier: {
08814:                                int LA123_66 = input.LA(4);
08815:
08816:                                if ((synpred176())) {
08817:                                    alt123 = 1;
08818:                                } else if ((true)) {
08819:                                    alt123 = 2;
08820:                                } else {
08821:                                    if (backtracking > 0) {
08822:                                        failed = true;
08823:                                        return;
08824:                                    }
08825:                                    NoViableAltException nvae = new NoViableAltException(
08826:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08827:                                            123, 66, input);
08828:
08829:                                    throw nvae;
08830:                                }
08831:                            }
08832:                                break;
08833:                            case 55:
08834:                            case 56:
08835:                            case 57:
08836:                            case 58:
08837:                            case 59:
08838:                            case 60:
08839:                            case 61:
08840:                            case 62: {
08841:                                int LA123_67 = input.LA(4);
08842:
08843:                                if ((synpred176())) {
08844:                                    alt123 = 1;
08845:                                } else if ((true)) {
08846:                                    alt123 = 2;
08847:                                } else {
08848:                                    if (backtracking > 0) {
08849:                                        failed = true;
08850:                                        return;
08851:                                    }
08852:                                    NoViableAltException nvae = new NoViableAltException(
08853:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08854:                                            123, 67, input);
08855:
08856:                                    throw nvae;
08857:                                }
08858:                            }
08859:                                break;
08860:                            case 49: {
08861:                                int LA123_68 = input.LA(4);
08862:
08863:                                if ((synpred176())) {
08864:                                    alt123 = 1;
08865:                                } else if ((true)) {
08866:                                    alt123 = 2;
08867:                                } else {
08868:                                    if (backtracking > 0) {
08869:                                        failed = true;
08870:                                        return;
08871:                                    }
08872:                                    NoViableAltException nvae = new NoViableAltException(
08873:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08874:                                            123, 68, input);
08875:
08876:                                    throw nvae;
08877:                                }
08878:                            }
08879:                                break;
08880:                            case 71: {
08881:                                int LA123_69 = input.LA(4);
08882:
08883:                                if ((synpred176())) {
08884:                                    alt123 = 1;
08885:                                } else if ((true)) {
08886:                                    alt123 = 2;
08887:                                } else {
08888:                                    if (backtracking > 0) {
08889:                                        failed = true;
08890:                                        return;
08891:                                    }
08892:                                    NoViableAltException nvae = new NoViableAltException(
08893:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08894:                                            123, 69, input);
08895:
08896:                                    throw nvae;
08897:                                }
08898:                            }
08899:                                break;
08900:                            default:
08901:                                if (backtracking > 0) {
08902:                                    failed = true;
08903:                                    return;
08904:                                }
08905:                                NoViableAltException nvae = new NoViableAltException(
08906:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08907:                                        123, 26, input);
08908:
08909:                                throw nvae;
08910:                            }
08911:
08912:                        }
08913:                            break;
08914:                        case 71: {
08915:                            int LA123_27 = input.LA(3);
08916:
08917:                            if ((LA123_27 == Identifier)) {
08918:                                int LA123_70 = input.LA(4);
08919:
08920:                                if ((synpred176())) {
08921:                                    alt123 = 1;
08922:                                } else if ((true)) {
08923:                                    alt123 = 2;
08924:                                } else {
08925:                                    if (backtracking > 0) {
08926:                                        failed = true;
08927:                                        return;
08928:                                    }
08929:                                    NoViableAltException nvae = new NoViableAltException(
08930:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08931:                                            123, 70, input);
08932:
08933:                                    throw nvae;
08934:                                }
08935:                            } else {
08936:                                if (backtracking > 0) {
08937:                                    failed = true;
08938:                                    return;
08939:                                }
08940:                                NoViableAltException nvae = new NoViableAltException(
08941:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08942:                                        123, 27, input);
08943:
08944:                                throw nvae;
08945:                            }
08946:                        }
08947:                            break;
08948:                        default:
08949:                            if (backtracking > 0) {
08950:                                failed = true;
08951:                                return;
08952:                            }
08953:                            NoViableAltException nvae = new NoViableAltException(
08954:                                    "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08955:                                    123, 1, input);
08956:
08957:                            throw nvae;
08958:                        }
08959:
08960:                    }
08961:                        break;
08962:                    case 71: {
08963:                        int LA123_2 = input.LA(2);
08964:
08965:                        if ((LA123_2 == Identifier)) {
08966:                            switch (input.LA(3)) {
08967:                            case 28: {
08968:                                int LA123_71 = input.LA(4);
08969:
08970:                                if ((synpred176())) {
08971:                                    alt123 = 1;
08972:                                } else if ((true)) {
08973:                                    alt123 = 2;
08974:                                } else {
08975:                                    if (backtracking > 0) {
08976:                                        failed = true;
08977:                                        return;
08978:                                    }
08979:                                    NoViableAltException nvae = new NoViableAltException(
08980:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
08981:                                            123, 71, input);
08982:
08983:                                    throw nvae;
08984:                                }
08985:                            }
08986:                                break;
08987:                            case 65: {
08988:                                int LA123_72 = input.LA(4);
08989:
08990:                                if ((synpred176())) {
08991:                                    alt123 = 1;
08992:                                } else if ((true)) {
08993:                                    alt123 = 2;
08994:                                } else {
08995:                                    if (backtracking > 0) {
08996:                                        failed = true;
08997:                                        return;
08998:                                    }
08999:                                    NoViableAltException nvae = new NoViableAltException(
09000:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09001:                                            123, 72, input);
09002:
09003:                                    throw nvae;
09004:                                }
09005:                            }
09006:                                break;
09007:                            case Identifier: {
09008:                                int LA123_73 = input.LA(4);
09009:
09010:                                if ((synpred176())) {
09011:                                    alt123 = 1;
09012:                                } else if ((true)) {
09013:                                    alt123 = 2;
09014:                                } else {
09015:                                    if (backtracking > 0) {
09016:                                        failed = true;
09017:                                        return;
09018:                                    }
09019:                                    NoViableAltException nvae = new NoViableAltException(
09020:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09021:                                            123, 73, input);
09022:
09023:                                    throw nvae;
09024:                                }
09025:                            }
09026:                                break;
09027:                            case 55:
09028:                            case 56:
09029:                            case 57:
09030:                            case 58:
09031:                            case 59:
09032:                            case 60:
09033:                            case 61:
09034:                            case 62: {
09035:                                int LA123_74 = input.LA(4);
09036:
09037:                                if ((synpred176())) {
09038:                                    alt123 = 1;
09039:                                } else if ((true)) {
09040:                                    alt123 = 2;
09041:                                } else {
09042:                                    if (backtracking > 0) {
09043:                                        failed = true;
09044:                                        return;
09045:                                    }
09046:                                    NoViableAltException nvae = new NoViableAltException(
09047:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09048:                                            123, 74, input);
09049:
09050:                                    throw nvae;
09051:                                }
09052:                            }
09053:                                break;
09054:                            case 49: {
09055:                                int LA123_75 = input.LA(4);
09056:
09057:                                if ((synpred176())) {
09058:                                    alt123 = 1;
09059:                                } else if ((true)) {
09060:                                    alt123 = 2;
09061:                                } else {
09062:                                    if (backtracking > 0) {
09063:                                        failed = true;
09064:                                        return;
09065:                                    }
09066:                                    NoViableAltException nvae = new NoViableAltException(
09067:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09068:                                            123, 75, input);
09069:
09070:                                    throw nvae;
09071:                                }
09072:                            }
09073:                                break;
09074:                            case 71: {
09075:                                int LA123_76 = input.LA(4);
09076:
09077:                                if ((synpred176())) {
09078:                                    alt123 = 1;
09079:                                } else if ((true)) {
09080:                                    alt123 = 2;
09081:                                } else {
09082:                                    if (backtracking > 0) {
09083:                                        failed = true;
09084:                                        return;
09085:                                    }
09086:                                    NoViableAltException nvae = new NoViableAltException(
09087:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09088:                                            123, 76, input);
09089:
09090:                                    throw nvae;
09091:                                }
09092:                            }
09093:                                break;
09094:                            default:
09095:                                if (backtracking > 0) {
09096:                                    failed = true;
09097:                                    return;
09098:                                }
09099:                                NoViableAltException nvae = new NoViableAltException(
09100:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09101:                                        123, 28, input);
09102:
09103:                                throw nvae;
09104:                            }
09105:
09106:                        } else {
09107:                            if (backtracking > 0) {
09108:                                failed = true;
09109:                                return;
09110:                            }
09111:                            NoViableAltException nvae = new NoViableAltException(
09112:                                    "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09113:                                    123, 2, input);
09114:
09115:                            throw nvae;
09116:                        }
09117:                    }
09118:                        break;
09119:                    case Identifier: {
09120:                        switch (input.LA(2)) {
09121:                        case 33: {
09122:                            switch (input.LA(3)) {
09123:                            case FloatingPointLiteral:
09124:                            case CharacterLiteral:
09125:                            case StringLiteral:
09126:                            case HexLiteral:
09127:                            case OctalLiteral:
09128:                            case DecimalLiteral:
09129:                            case 33:
09130:                            case 40:
09131:                            case 44:
09132:                            case 64:
09133:                            case 65:
09134:                            case 68:
09135:                            case 69:
09136:                            case 70:
09137:                            case 104:
09138:                            case 105:
09139:                            case 108:
09140:                            case 109:
09141:                            case 110:
09142:                            case 111:
09143:                            case 112:
09144:                            case 113: {
09145:                                alt123 = 2;
09146:                            }
09147:                                break;
09148:                            case Identifier: {
09149:                                int LA123_95 = input.LA(4);
09150:
09151:                                if ((synpred176())) {
09152:                                    alt123 = 1;
09153:                                } else if ((true)) {
09154:                                    alt123 = 2;
09155:                                } else {
09156:                                    if (backtracking > 0) {
09157:                                        failed = true;
09158:                                        return;
09159:                                    }
09160:                                    NoViableAltException nvae = new NoViableAltException(
09161:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09162:                                            123, 95, input);
09163:
09164:                                    throw nvae;
09165:                                }
09166:                            }
09167:                                break;
09168:                            case 55:
09169:                            case 56:
09170:                            case 57:
09171:                            case 58:
09172:                            case 59:
09173:                            case 60:
09174:                            case 61:
09175:                            case 62: {
09176:                                int LA123_96 = input.LA(4);
09177:
09178:                                if ((synpred176())) {
09179:                                    alt123 = 1;
09180:                                } else if ((true)) {
09181:                                    alt123 = 2;
09182:                                } else {
09183:                                    if (backtracking > 0) {
09184:                                        failed = true;
09185:                                        return;
09186:                                    }
09187:                                    NoViableAltException nvae = new NoViableAltException(
09188:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09189:                                            123, 96, input);
09190:
09191:                                    throw nvae;
09192:                                }
09193:                            }
09194:                                break;
09195:                            case 63: {
09196:                                int LA123_98 = input.LA(4);
09197:
09198:                                if ((synpred176())) {
09199:                                    alt123 = 1;
09200:                                } else if ((true)) {
09201:                                    alt123 = 2;
09202:                                } else {
09203:                                    if (backtracking > 0) {
09204:                                        failed = true;
09205:                                        return;
09206:                                    }
09207:                                    NoViableAltException nvae = new NoViableAltException(
09208:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09209:                                            123, 98, input);
09210:
09211:                                    throw nvae;
09212:                                }
09213:                            }
09214:                                break;
09215:                            default:
09216:                                if (backtracking > 0) {
09217:                                    failed = true;
09218:                                    return;
09219:                                }
09220:                                NoViableAltException nvae = new NoViableAltException(
09221:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09222:                                        123, 29, input);
09223:
09224:                                throw nvae;
09225:                            }
09226:
09227:                        }
09228:                            break;
09229:                        case 28: {
09230:                            int LA123_30 = input.LA(3);
09231:
09232:                            if ((LA123_30 == 30 || LA123_30 == 33
09233:                                    || LA123_30 == 64 || (LA123_30 >= 112 && LA123_30 <= 113))) {
09234:                                alt123 = 2;
09235:                            } else if ((LA123_30 == Identifier)) {
09236:                                int LA123_100 = input.LA(4);
09237:
09238:                                if ((synpred176())) {
09239:                                    alt123 = 1;
09240:                                } else if ((true)) {
09241:                                    alt123 = 2;
09242:                                } else {
09243:                                    if (backtracking > 0) {
09244:                                        failed = true;
09245:                                        return;
09246:                                    }
09247:                                    NoViableAltException nvae = new NoViableAltException(
09248:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09249:                                            123, 100, input);
09250:
09251:                                    throw nvae;
09252:                                }
09253:                            } else {
09254:                                if (backtracking > 0) {
09255:                                    failed = true;
09256:                                    return;
09257:                                }
09258:                                NoViableAltException nvae = new NoViableAltException(
09259:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09260:                                        123, 30, input);
09261:
09262:                                throw nvae;
09263:                            }
09264:                        }
09265:                            break;
09266:                        case 41: {
09267:                            int LA123_31 = input.LA(3);
09268:
09269:                            if ((LA123_31 == 42)) {
09270:                                int LA123_105 = input.LA(4);
09271:
09272:                                if ((synpred176())) {
09273:                                    alt123 = 1;
09274:                                } else if ((true)) {
09275:                                    alt123 = 2;
09276:                                } else {
09277:                                    if (backtracking > 0) {
09278:                                        failed = true;
09279:                                        return;
09280:                                    }
09281:                                    NoViableAltException nvae = new NoViableAltException(
09282:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09283:                                            123, 105, input);
09284:
09285:                                    throw nvae;
09286:                                }
09287:                            } else if ((LA123_31 == Identifier
09288:                                    || (LA123_31 >= FloatingPointLiteral && LA123_31 <= DecimalLiteral)
09289:                                    || LA123_31 == 33 || LA123_31 == 40
09290:                                    || (LA123_31 >= 55 && LA123_31 <= 62)
09291:                                    || (LA123_31 >= 64 && LA123_31 <= 65)
09292:                                    || (LA123_31 >= 68 && LA123_31 <= 70)
09293:                                    || (LA123_31 >= 104 && LA123_31 <= 105) || (LA123_31 >= 108 && LA123_31 <= 113))) {
09294:                                alt123 = 2;
09295:                            } else {
09296:                                if (backtracking > 0) {
09297:                                    failed = true;
09298:                                    return;
09299:                                }
09300:                                NoViableAltException nvae = new NoViableAltException(
09301:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09302:                                        123, 31, input);
09303:
09304:                                throw nvae;
09305:                            }
09306:                        }
09307:                            break;
09308:                        case Identifier: {
09309:                            int LA123_32 = input.LA(3);
09310:
09311:                            if ((LA123_32 == 74)) {
09312:                                alt123 = 1;
09313:                            } else if ((LA123_32 == 25 || LA123_32 == 34
09314:                                    || LA123_32 == 41 || LA123_32 == 44)) {
09315:                                alt123 = 2;
09316:                            } else {
09317:                                if (backtracking > 0) {
09318:                                    failed = true;
09319:                                    return;
09320:                                }
09321:                                NoViableAltException nvae = new NoViableAltException(
09322:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09323:                                        123, 32, input);
09324:
09325:                                throw nvae;
09326:                            }
09327:                        }
09328:                            break;
09329:                        case 25:
09330:                        case 29:
09331:                        case 34:
09332:                        case 35:
09333:                        case 36:
09334:                        case 44:
09335:                        case 63:
09336:                        case 65:
09337:                        case 89:
09338:                        case 90:
09339:                        case 91:
09340:                        case 92:
09341:                        case 93:
09342:                        case 94:
09343:                        case 95:
09344:                        case 96:
09345:                        case 97:
09346:                        case 98:
09347:                        case 99:
09348:                        case 100:
09349:                        case 101:
09350:                        case 102:
09351:                        case 103:
09352:                        case 104:
09353:                        case 105:
09354:                        case 106:
09355:                        case 107:
09356:                        case 108:
09357:                        case 109: {
09358:                            alt123 = 2;
09359:                        }
09360:                            break;
09361:                        default:
09362:                            if (backtracking > 0) {
09363:                                failed = true;
09364:                                return;
09365:                            }
09366:                            NoViableAltException nvae = new NoViableAltException(
09367:                                    "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09368:                                    123, 3, input);
09369:
09370:                            throw nvae;
09371:                        }
09372:
09373:                    }
09374:                        break;
09375:                    case 55:
09376:                    case 56:
09377:                    case 57:
09378:                    case 58:
09379:                    case 59:
09380:                    case 60:
09381:                    case 61:
09382:                    case 62: {
09383:                        switch (input.LA(2)) {
09384:                        case 41: {
09385:                            int LA123_57 = input.LA(3);
09386:
09387:                            if ((LA123_57 == 42)) {
09388:                                int LA123_131 = input.LA(4);
09389:
09390:                                if ((synpred176())) {
09391:                                    alt123 = 1;
09392:                                } else if ((true)) {
09393:                                    alt123 = 2;
09394:                                } else {
09395:                                    if (backtracking > 0) {
09396:                                        failed = true;
09397:                                        return;
09398:                                    }
09399:                                    NoViableAltException nvae = new NoViableAltException(
09400:                                            "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09401:                                            123, 131, input);
09402:
09403:                                    throw nvae;
09404:                                }
09405:                            } else {
09406:                                if (backtracking > 0) {
09407:                                    failed = true;
09408:                                    return;
09409:                                }
09410:                                NoViableAltException nvae = new NoViableAltException(
09411:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09412:                                        123, 57, input);
09413:
09414:                                throw nvae;
09415:                            }
09416:                        }
09417:                            break;
09418:                        case Identifier: {
09419:                            int LA123_58 = input.LA(3);
09420:
09421:                            if ((LA123_58 == 74)) {
09422:                                alt123 = 1;
09423:                            } else if ((LA123_58 == 25 || LA123_58 == 34
09424:                                    || LA123_58 == 41 || LA123_58 == 44)) {
09425:                                alt123 = 2;
09426:                            } else {
09427:                                if (backtracking > 0) {
09428:                                    failed = true;
09429:                                    return;
09430:                                }
09431:                                NoViableAltException nvae = new NoViableAltException(
09432:                                        "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09433:                                        123, 58, input);
09434:
09435:                                throw nvae;
09436:                            }
09437:                        }
09438:                            break;
09439:                        case 28: {
09440:                            alt123 = 2;
09441:                        }
09442:                            break;
09443:                        default:
09444:                            if (backtracking > 0) {
09445:                                failed = true;
09446:                                return;
09447:                            }
09448:                            NoViableAltException nvae = new NoViableAltException(
09449:                                    "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09450:                                    123, 4, input);
09451:
09452:                            throw nvae;
09453:                        }
09454:
09455:                    }
09456:                        break;
09457:                    case FloatingPointLiteral:
09458:                    case CharacterLiteral:
09459:                    case StringLiteral:
09460:                    case HexLiteral:
09461:                    case OctalLiteral:
09462:                    case DecimalLiteral:
09463:                    case 25:
09464:                    case 33:
09465:                    case 40:
09466:                    case 64:
09467:                    case 65:
09468:                    case 68:
09469:                    case 69:
09470:                    case 70:
09471:                    case 104:
09472:                    case 105:
09473:                    case 108:
09474:                    case 109:
09475:                    case 110:
09476:                    case 111:
09477:                    case 112:
09478:                    case 113: {
09479:                        alt123 = 2;
09480:                    }
09481:                        break;
09482:                    default:
09483:                        if (backtracking > 0) {
09484:                            failed = true;
09485:                            return;
09486:                        }
09487:                        NoViableAltException nvae = new NoViableAltException(
09488:                                "712:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );",
09489:                                123, 0, input);
09490:
09491:                        throw nvae;
09492:                    }
09493:
09494:                    switch (alt123) {
09495:                    case 1:
09496:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:714:4: forVarControl
09497:                    {
09498:                        pushFollow(FOLLOW_forVarControl_in_forControl2798);
09499:                        forVarControl();
09500:                        _fsp--;
09501:                        if (failed)
09502:                            return;
09503:
09504:                    }
09505:                        break;
09506:                    case 2:
09507:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:715:4: ( forInit )? ';' ( expression )? ';' ( forUpdate )?
09508:                    {
09509:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:715:4: ( forInit )?
09510:                        int alt120 = 2;
09511:                        int LA120_0 = input.LA(1);
09512:
09513:                        if ((LA120_0 == Identifier
09514:                                || (LA120_0 >= FloatingPointLiteral && LA120_0 <= DecimalLiteral)
09515:                                || LA120_0 == 33 || LA120_0 == 40
09516:                                || LA120_0 == 49
09517:                                || (LA120_0 >= 55 && LA120_0 <= 62)
09518:                                || (LA120_0 >= 64 && LA120_0 <= 65)
09519:                                || (LA120_0 >= 68 && LA120_0 <= 71)
09520:                                || (LA120_0 >= 104 && LA120_0 <= 105) || (LA120_0 >= 108 && LA120_0 <= 113))) {
09521:                            alt120 = 1;
09522:                        }
09523:                        switch (alt120) {
09524:                        case 1:
09525:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: forInit
09526:                        {
09527:                            pushFollow(FOLLOW_forInit_in_forControl2803);
09528:                            forInit();
09529:                            _fsp--;
09530:                            if (failed)
09531:                                return;
09532:
09533:                        }
09534:                            break;
09535:
09536:                        }
09537:
09538:                        match(input, 25, FOLLOW_25_in_forControl2806);
09539:                        if (failed)
09540:                            return;
09541:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:715:17: ( expression )?
09542:                        int alt121 = 2;
09543:                        int LA121_0 = input.LA(1);
09544:
09545:                        if ((LA121_0 == Identifier
09546:                                || (LA121_0 >= FloatingPointLiteral && LA121_0 <= DecimalLiteral)
09547:                                || LA121_0 == 33 || LA121_0 == 40
09548:                                || (LA121_0 >= 55 && LA121_0 <= 62)
09549:                                || (LA121_0 >= 64 && LA121_0 <= 65)
09550:                                || (LA121_0 >= 68 && LA121_0 <= 70)
09551:                                || (LA121_0 >= 104 && LA121_0 <= 105) || (LA121_0 >= 108 && LA121_0 <= 113))) {
09552:                            alt121 = 1;
09553:                        }
09554:                        switch (alt121) {
09555:                        case 1:
09556:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: expression
09557:                        {
09558:                            pushFollow(FOLLOW_expression_in_forControl2808);
09559:                            expression();
09560:                            _fsp--;
09561:                            if (failed)
09562:                                return;
09563:
09564:                        }
09565:                            break;
09566:
09567:                        }
09568:
09569:                        match(input, 25, FOLLOW_25_in_forControl2811);
09570:                        if (failed)
09571:                            return;
09572:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:715:33: ( forUpdate )?
09573:                        int alt122 = 2;
09574:                        int LA122_0 = input.LA(1);
09575:
09576:                        if ((LA122_0 == Identifier
09577:                                || (LA122_0 >= FloatingPointLiteral && LA122_0 <= DecimalLiteral)
09578:                                || LA122_0 == 33 || LA122_0 == 40
09579:                                || (LA122_0 >= 55 && LA122_0 <= 62)
09580:                                || (LA122_0 >= 64 && LA122_0 <= 65)
09581:                                || (LA122_0 >= 68 && LA122_0 <= 70)
09582:                                || (LA122_0 >= 104 && LA122_0 <= 105) || (LA122_0 >= 108 && LA122_0 <= 113))) {
09583:                            alt122 = 1;
09584:                        }
09585:                        switch (alt122) {
09586:                        case 1:
09587:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: forUpdate
09588:                        {
09589:                            pushFollow(FOLLOW_forUpdate_in_forControl2813);
09590:                            forUpdate();
09591:                            _fsp--;
09592:                            if (failed)
09593:                                return;
09594:
09595:                        }
09596:                            break;
09597:
09598:                        }
09599:
09600:                    }
09601:                        break;
09602:
09603:                    }
09604:                } catch (RecognitionException re) {
09605:                    reportError(re);
09606:                    recover(input, re);
09607:                } finally {
09608:                    if (backtracking > 0) {
09609:                        memoize(input, 91, forControl_StartIndex);
09610:                    }
09611:                }
09612:                return;
09613:            }
09614:
09615:            // $ANTLR end forControl
09616:
09617:            // $ANTLR start forInit
09618:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );
09619:            public final void forInit() throws RecognitionException {
09620:                int forInit_StartIndex = input.index();
09621:
09622:                this .localVariableLevel++;
09623:
09624:                try {
09625:                    if (backtracking > 0 && alreadyParsedRule(input, 92)) {
09626:                        return;
09627:                    }
09628:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( ( variableModifier )* type variableDeclarators | expressionList )
09629:                    int alt125 = 2;
09630:                    switch (input.LA(1)) {
09631:                    case 49:
09632:                    case 71: {
09633:                        alt125 = 1;
09634:                    }
09635:                        break;
09636:                    case Identifier: {
09637:                        switch (input.LA(2)) {
09638:                        case 28: {
09639:                            int LA125_23 = input.LA(3);
09640:
09641:                            if ((synpred181())) {
09642:                                alt125 = 1;
09643:                            } else if ((true)) {
09644:                                alt125 = 2;
09645:                            } else {
09646:                                if (backtracking > 0) {
09647:                                    failed = true;
09648:                                    return;
09649:                                }
09650:                                NoViableAltException nvae = new NoViableAltException(
09651:                                        "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09652:                                        125, 23, input);
09653:
09654:                                throw nvae;
09655:                            }
09656:                        }
09657:                            break;
09658:                        case 41: {
09659:                            int LA125_24 = input.LA(3);
09660:
09661:                            if ((synpred181())) {
09662:                                alt125 = 1;
09663:                            } else if ((true)) {
09664:                                alt125 = 2;
09665:                            } else {
09666:                                if (backtracking > 0) {
09667:                                    failed = true;
09668:                                    return;
09669:                                }
09670:                                NoViableAltException nvae = new NoViableAltException(
09671:                                        "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09672:                                        125, 24, input);
09673:
09674:                                throw nvae;
09675:                            }
09676:                        }
09677:                            break;
09678:                        case EOF:
09679:                        case 25:
09680:                        case 29:
09681:                        case 34:
09682:                        case 35:
09683:                        case 36:
09684:                        case 44:
09685:                        case 63:
09686:                        case 65:
09687:                        case 89:
09688:                        case 90:
09689:                        case 91:
09690:                        case 92:
09691:                        case 93:
09692:                        case 94:
09693:                        case 95:
09694:                        case 96:
09695:                        case 97:
09696:                        case 98:
09697:                        case 99:
09698:                        case 100:
09699:                        case 101:
09700:                        case 102:
09701:                        case 103:
09702:                        case 104:
09703:                        case 105:
09704:                        case 106:
09705:                        case 107:
09706:                        case 108:
09707:                        case 109: {
09708:                            alt125 = 2;
09709:                        }
09710:                            break;
09711:                        case 33: {
09712:                            int LA125_29 = input.LA(3);
09713:
09714:                            if ((synpred181())) {
09715:                                alt125 = 1;
09716:                            } else if ((true)) {
09717:                                alt125 = 2;
09718:                            } else {
09719:                                if (backtracking > 0) {
09720:                                    failed = true;
09721:                                    return;
09722:                                }
09723:                                NoViableAltException nvae = new NoViableAltException(
09724:                                        "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09725:                                        125, 29, input);
09726:
09727:                                throw nvae;
09728:                            }
09729:                        }
09730:                            break;
09731:                        case Identifier: {
09732:                            alt125 = 1;
09733:                        }
09734:                            break;
09735:                        default:
09736:                            if (backtracking > 0) {
09737:                                failed = true;
09738:                                return;
09739:                            }
09740:                            NoViableAltException nvae = new NoViableAltException(
09741:                                    "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09742:                                    125, 3, input);
09743:
09744:                            throw nvae;
09745:                        }
09746:
09747:                    }
09748:                        break;
09749:                    case 55:
09750:                    case 56:
09751:                    case 57:
09752:                    case 58:
09753:                    case 59:
09754:                    case 60:
09755:                    case 61:
09756:                    case 62: {
09757:                        switch (input.LA(2)) {
09758:                        case 41: {
09759:                            int LA125_52 = input.LA(3);
09760:
09761:                            if ((synpred181())) {
09762:                                alt125 = 1;
09763:                            } else if ((true)) {
09764:                                alt125 = 2;
09765:                            } else {
09766:                                if (backtracking > 0) {
09767:                                    failed = true;
09768:                                    return;
09769:                                }
09770:                                NoViableAltException nvae = new NoViableAltException(
09771:                                        "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09772:                                        125, 52, input);
09773:
09774:                                throw nvae;
09775:                            }
09776:                        }
09777:                            break;
09778:                        case Identifier: {
09779:                            alt125 = 1;
09780:                        }
09781:                            break;
09782:                        case 28: {
09783:                            alt125 = 2;
09784:                        }
09785:                            break;
09786:                        default:
09787:                            if (backtracking > 0) {
09788:                                failed = true;
09789:                                return;
09790:                            }
09791:                            NoViableAltException nvae = new NoViableAltException(
09792:                                    "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09793:                                    125, 4, input);
09794:
09795:                            throw nvae;
09796:                        }
09797:
09798:                    }
09799:                        break;
09800:                    case FloatingPointLiteral:
09801:                    case CharacterLiteral:
09802:                    case StringLiteral:
09803:                    case HexLiteral:
09804:                    case OctalLiteral:
09805:                    case DecimalLiteral:
09806:                    case 33:
09807:                    case 40:
09808:                    case 64:
09809:                    case 65:
09810:                    case 68:
09811:                    case 69:
09812:                    case 70:
09813:                    case 104:
09814:                    case 105:
09815:                    case 108:
09816:                    case 109:
09817:                    case 110:
09818:                    case 111:
09819:                    case 112:
09820:                    case 113: {
09821:                        alt125 = 2;
09822:                    }
09823:                        break;
09824:                    default:
09825:                        if (backtracking > 0) {
09826:                            failed = true;
09827:                            return;
09828:                        }
09829:                        NoViableAltException nvae = new NoViableAltException(
09830:                                "718:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );",
09831:                                125, 0, input);
09832:
09833:                        throw nvae;
09834:                    }
09835:
09836:                    switch (alt125) {
09837:                    case 1:
09838:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( variableModifier )* type variableDeclarators
09839:                    {
09840:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( variableModifier )*
09841:                        loop124: do {
09842:                            int alt124 = 2;
09843:                            int LA124_0 = input.LA(1);
09844:
09845:                            if ((LA124_0 == 49 || LA124_0 == 71)) {
09846:                                alt124 = 1;
09847:                            }
09848:
09849:                            switch (alt124) {
09850:                            case 1:
09851:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
09852:                            {
09853:                                pushFollow(FOLLOW_variableModifier_in_forInit2851);
09854:                                variableModifier();
09855:                                _fsp--;
09856:                                if (failed)
09857:                                    return;
09858:
09859:                            }
09860:                                break;
09861:
09862:                            default:
09863:                                break loop124;
09864:                            }
09865:                        } while (true);
09866:
09867:                        pushFollow(FOLLOW_type_in_forInit2854);
09868:                        type();
09869:                        _fsp--;
09870:                        if (failed)
09871:                            return;
09872:                        pushFollow(FOLLOW_variableDeclarators_in_forInit2856);
09873:                        variableDeclarators();
09874:                        _fsp--;
09875:                        if (failed)
09876:                            return;
09877:
09878:                    }
09879:                        break;
09880:                    case 2:
09881:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:726:4: expressionList
09882:                    {
09883:                        pushFollow(FOLLOW_expressionList_in_forInit2861);
09884:                        expressionList();
09885:                        _fsp--;
09886:                        if (failed)
09887:                            return;
09888:
09889:                    }
09890:                        break;
09891:
09892:                    }
09893:                    if (backtracking == 0) {
09894:
09895:                        this .localVariableLevel--;
09896:
09897:                    }
09898:                } catch (RecognitionException re) {
09899:                    reportError(re);
09900:                    recover(input, re);
09901:                } finally {
09902:                    if (backtracking > 0) {
09903:                        memoize(input, 92, forInit_StartIndex);
09904:                    }
09905:                }
09906:                return;
09907:            }
09908:
09909:            // $ANTLR end forInit
09910:
09911:            // $ANTLR start forVarControl
09912:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:729:1: forVarControl : ( variableModifier )* type Identifier ':' expression ;
09913:            public final void forVarControl() throws RecognitionException {
09914:                int forVarControl_StartIndex = input.index();
09915:                try {
09916:                    if (backtracking > 0 && alreadyParsedRule(input, 93)) {
09917:                        return;
09918:                    }
09919:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:4: ( ( variableModifier )* type Identifier ':' expression )
09920:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:4: ( variableModifier )* type Identifier ':' expression
09921:                    {
09922:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:4: ( variableModifier )*
09923:                        loop126: do {
09924:                            int alt126 = 2;
09925:                            int LA126_0 = input.LA(1);
09926:
09927:                            if ((LA126_0 == 49 || LA126_0 == 71)) {
09928:                                alt126 = 1;
09929:                            }
09930:
09931:                            switch (alt126) {
09932:                            case 1:
09933:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
09934:                            {
09935:                                pushFollow(FOLLOW_variableModifier_in_forVarControl2873);
09936:                                variableModifier();
09937:                                _fsp--;
09938:                                if (failed)
09939:                                    return;
09940:
09941:                            }
09942:                                break;
09943:
09944:                            default:
09945:                                break loop126;
09946:                            }
09947:                        } while (true);
09948:
09949:                        pushFollow(FOLLOW_type_in_forVarControl2876);
09950:                        type();
09951:                        _fsp--;
09952:                        if (failed)
09953:                            return;
09954:                        match(input, Identifier,
09955:                                FOLLOW_Identifier_in_forVarControl2878);
09956:                        if (failed)
09957:                            return;
09958:                        match(input, 74, FOLLOW_74_in_forVarControl2880);
09959:                        if (failed)
09960:                            return;
09961:                        pushFollow(FOLLOW_expression_in_forVarControl2882);
09962:                        expression();
09963:                        _fsp--;
09964:                        if (failed)
09965:                            return;
09966:
09967:                    }
09968:
09969:                } catch (RecognitionException re) {
09970:                    reportError(re);
09971:                    recover(input, re);
09972:                } finally {
09973:                    if (backtracking > 0) {
09974:                        memoize(input, 93, forVarControl_StartIndex);
09975:                    }
09976:                }
09977:                return;
09978:            }
09979:
09980:            // $ANTLR end forVarControl
09981:
09982:            // $ANTLR start forUpdate
09983:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:733:1: forUpdate : expressionList ;
09984:            public final void forUpdate() throws RecognitionException {
09985:                int forUpdate_StartIndex = input.index();
09986:                try {
09987:                    if (backtracking > 0 && alreadyParsedRule(input, 94)) {
09988:                        return;
09989:                    }
09990:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:734:4: ( expressionList )
09991:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:734:4: expressionList
09992:                    {
09993:                        pushFollow(FOLLOW_expressionList_in_forUpdate2893);
09994:                        expressionList();
09995:                        _fsp--;
09996:                        if (failed)
09997:                            return;
09998:
09999:                    }
10000:
10001:                } catch (RecognitionException re) {
10002:                    reportError(re);
10003:                    recover(input, re);
10004:                } finally {
10005:                    if (backtracking > 0) {
10006:                        memoize(input, 94, forUpdate_StartIndex);
10007:                    }
10008:                }
10009:                return;
10010:            }
10011:
10012:            // $ANTLR end forUpdate
10013:
10014:            // $ANTLR start parExpression
10015:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:739:1: parExpression : '(' expression ')' ;
10016:            public final void parExpression() throws RecognitionException {
10017:                int parExpression_StartIndex = input.index();
10018:                try {
10019:                    if (backtracking > 0 && alreadyParsedRule(input, 95)) {
10020:                        return;
10021:                    }
10022:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:4: ( '(' expression ')' )
10023:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:4: '(' expression ')'
10024:                    {
10025:                        match(input, 65, FOLLOW_65_in_parExpression2906);
10026:                        if (failed)
10027:                            return;
10028:                        pushFollow(FOLLOW_expression_in_parExpression2908);
10029:                        expression();
10030:                        _fsp--;
10031:                        if (failed)
10032:                            return;
10033:                        match(input, 66, FOLLOW_66_in_parExpression2910);
10034:                        if (failed)
10035:                            return;
10036:
10037:                    }
10038:
10039:                } catch (RecognitionException re) {
10040:                    reportError(re);
10041:                    recover(input, re);
10042:                } finally {
10043:                    if (backtracking > 0) {
10044:                        memoize(input, 95, parExpression_StartIndex);
10045:                    }
10046:                }
10047:                return;
10048:            }
10049:
10050:            // $ANTLR end parExpression
10051:
10052:            // $ANTLR start expressionList
10053:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:743:1: expressionList : expression ( ',' expression )* ;
10054:            public final void expressionList() throws RecognitionException {
10055:                int expressionList_StartIndex = input.index();
10056:                try {
10057:                    if (backtracking > 0 && alreadyParsedRule(input, 96)) {
10058:                        return;
10059:                    }
10060:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:744:9: ( expression ( ',' expression )* )
10061:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:744:9: expression ( ',' expression )*
10062:                    {
10063:                        pushFollow(FOLLOW_expression_in_expressionList2927);
10064:                        expression();
10065:                        _fsp--;
10066:                        if (failed)
10067:                            return;
10068:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:744:20: ( ',' expression )*
10069:                        loop127: do {
10070:                            int alt127 = 2;
10071:                            int LA127_0 = input.LA(1);
10072:
10073:                            if ((LA127_0 == 34)) {
10074:                                alt127 = 1;
10075:                            }
10076:
10077:                            switch (alt127) {
10078:                            case 1:
10079:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:744:21: ',' expression
10080:                            {
10081:                                match(input, 34,
10082:                                        FOLLOW_34_in_expressionList2930);
10083:                                if (failed)
10084:                                    return;
10085:                                pushFollow(FOLLOW_expression_in_expressionList2932);
10086:                                expression();
10087:                                _fsp--;
10088:                                if (failed)
10089:                                    return;
10090:
10091:                            }
10092:                                break;
10093:
10094:                            default:
10095:                                break loop127;
10096:                            }
10097:                        } while (true);
10098:
10099:                    }
10100:
10101:                } catch (RecognitionException re) {
10102:                    reportError(re);
10103:                    recover(input, re);
10104:                } finally {
10105:                    if (backtracking > 0) {
10106:                        memoize(input, 96, expressionList_StartIndex);
10107:                    }
10108:                }
10109:                return;
10110:            }
10111:
10112:            // $ANTLR end expressionList
10113:
10114:            // $ANTLR start statementExpression
10115:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:747:1: statementExpression : expression ;
10116:            public final void statementExpression() throws RecognitionException {
10117:                int statementExpression_StartIndex = input.index();
10118:                try {
10119:                    if (backtracking > 0 && alreadyParsedRule(input, 97)) {
10120:                        return;
10121:                    }
10122:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:748:4: ( expression )
10123:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:748:4: expression
10124:                    {
10125:                        pushFollow(FOLLOW_expression_in_statementExpression2948);
10126:                        expression();
10127:                        _fsp--;
10128:                        if (failed)
10129:                            return;
10130:
10131:                    }
10132:
10133:                } catch (RecognitionException re) {
10134:                    reportError(re);
10135:                    recover(input, re);
10136:                } finally {
10137:                    if (backtracking > 0) {
10138:                        memoize(input, 97, statementExpression_StartIndex);
10139:                    }
10140:                }
10141:                return;
10142:            }
10143:
10144:            // $ANTLR end statementExpression
10145:
10146:            // $ANTLR start constantExpression
10147:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:1: constantExpression : expression ;
10148:            public final void constantExpression() throws RecognitionException {
10149:                int constantExpression_StartIndex = input.index();
10150:                try {
10151:                    if (backtracking > 0 && alreadyParsedRule(input, 98)) {
10152:                        return;
10153:                    }
10154:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:752:4: ( expression )
10155:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:752:4: expression
10156:                    {
10157:                        pushFollow(FOLLOW_expression_in_constantExpression2960);
10158:                        expression();
10159:                        _fsp--;
10160:                        if (failed)
10161:                            return;
10162:
10163:                    }
10164:
10165:                } catch (RecognitionException re) {
10166:                    reportError(re);
10167:                    recover(input, re);
10168:                } finally {
10169:                    if (backtracking > 0) {
10170:                        memoize(input, 98, constantExpression_StartIndex);
10171:                    }
10172:                }
10173:                return;
10174:            }
10175:
10176:            // $ANTLR end constantExpression
10177:
10178:            // $ANTLR start expression
10179:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:755:1: expression : conditionalExpression ( assignmentOperator expression )? ;
10180:            public final void expression() throws RecognitionException {
10181:                int expression_StartIndex = input.index();
10182:                try {
10183:                    if (backtracking > 0 && alreadyParsedRule(input, 99)) {
10184:                        return;
10185:                    }
10186:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:4: ( conditionalExpression ( assignmentOperator expression )? )
10187:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:4: conditionalExpression ( assignmentOperator expression )?
10188:                    {
10189:                        pushFollow(FOLLOW_conditionalExpression_in_expression2972);
10190:                        conditionalExpression();
10191:                        _fsp--;
10192:                        if (failed)
10193:                            return;
10194:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:26: ( assignmentOperator expression )?
10195:                        int alt128 = 2;
10196:                        switch (input.LA(1)) {
10197:                        case 44: {
10198:                            int LA128_1 = input.LA(2);
10199:
10200:                            if ((synpred184())) {
10201:                                alt128 = 1;
10202:                            }
10203:                        }
10204:                            break;
10205:                        case 89: {
10206:                            int LA128_2 = input.LA(2);
10207:
10208:                            if ((synpred184())) {
10209:                                alt128 = 1;
10210:                            }
10211:                        }
10212:                            break;
10213:                        case 90: {
10214:                            int LA128_3 = input.LA(2);
10215:
10216:                            if ((synpred184())) {
10217:                                alt128 = 1;
10218:                            }
10219:                        }
10220:                            break;
10221:                        case 91: {
10222:                            int LA128_4 = input.LA(2);
10223:
10224:                            if ((synpred184())) {
10225:                                alt128 = 1;
10226:                            }
10227:                        }
10228:                            break;
10229:                        case 92: {
10230:                            int LA128_5 = input.LA(2);
10231:
10232:                            if ((synpred184())) {
10233:                                alt128 = 1;
10234:                            }
10235:                        }
10236:                            break;
10237:                        case 93: {
10238:                            int LA128_6 = input.LA(2);
10239:
10240:                            if ((synpred184())) {
10241:                                alt128 = 1;
10242:                            }
10243:                        }
10244:                            break;
10245:                        case 94: {
10246:                            int LA128_7 = input.LA(2);
10247:
10248:                            if ((synpred184())) {
10249:                                alt128 = 1;
10250:                            }
10251:                        }
10252:                            break;
10253:                        case 95: {
10254:                            int LA128_8 = input.LA(2);
10255:
10256:                            if ((synpred184())) {
10257:                                alt128 = 1;
10258:                            }
10259:                        }
10260:                            break;
10261:                        case 96: {
10262:                            int LA128_9 = input.LA(2);
10263:
10264:                            if ((synpred184())) {
10265:                                alt128 = 1;
10266:                            }
10267:                        }
10268:                            break;
10269:                        case 33: {
10270:                            int LA128_10 = input.LA(2);
10271:
10272:                            if ((synpred184())) {
10273:                                alt128 = 1;
10274:                            }
10275:                        }
10276:                            break;
10277:                        case 35: {
10278:                            int LA128_11 = input.LA(2);
10279:
10280:                            if ((synpred184())) {
10281:                                alt128 = 1;
10282:                            }
10283:                        }
10284:                            break;
10285:                        }
10286:
10287:                        switch (alt128) {
10288:                        case 1:
10289:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:27: assignmentOperator expression
10290:                        {
10291:                            pushFollow(FOLLOW_assignmentOperator_in_expression2975);
10292:                            assignmentOperator();
10293:                            _fsp--;
10294:                            if (failed)
10295:                                return;
10296:                            pushFollow(FOLLOW_expression_in_expression2977);
10297:                            expression();
10298:                            _fsp--;
10299:                            if (failed)
10300:                                return;
10301:
10302:                        }
10303:                            break;
10304:
10305:                        }
10306:
10307:                    }
10308:
10309:                } catch (RecognitionException re) {
10310:                    reportError(re);
10311:                    recover(input, re);
10312:                } finally {
10313:                    if (backtracking > 0) {
10314:                        memoize(input, 99, expression_StartIndex);
10315:                    }
10316:                }
10317:                return;
10318:            }
10319:
10320:            // $ANTLR end expression
10321:
10322:            // $ANTLR start assignmentOperator
10323:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:759:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );
10324:            public final void assignmentOperator() throws RecognitionException {
10325:                int assignmentOperator_StartIndex = input.index();
10326:                try {
10327:                    if (backtracking > 0 && alreadyParsedRule(input, 100)) {
10328:                        return;
10329:                    }
10330:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:760:4: ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' )
10331:                    int alt129 = 12;
10332:                    switch (input.LA(1)) {
10333:                    case 44: {
10334:                        alt129 = 1;
10335:                    }
10336:                        break;
10337:                    case 89: {
10338:                        alt129 = 2;
10339:                    }
10340:                        break;
10341:                    case 90: {
10342:                        alt129 = 3;
10343:                    }
10344:                        break;
10345:                    case 91: {
10346:                        alt129 = 4;
10347:                    }
10348:                        break;
10349:                    case 92: {
10350:                        alt129 = 5;
10351:                    }
10352:                        break;
10353:                    case 93: {
10354:                        alt129 = 6;
10355:                    }
10356:                        break;
10357:                    case 94: {
10358:                        alt129 = 7;
10359:                    }
10360:                        break;
10361:                    case 95: {
10362:                        alt129 = 8;
10363:                    }
10364:                        break;
10365:                    case 96: {
10366:                        alt129 = 9;
10367:                    }
10368:                        break;
10369:                    case 33: {
10370:                        alt129 = 10;
10371:                    }
10372:                        break;
10373:                    case 35: {
10374:                        int LA129_11 = input.LA(2);
10375:
10376:                        if ((LA129_11 == 35)) {
10377:                            int LA129_12 = input.LA(3);
10378:
10379:                            if ((synpred195())) {
10380:                                alt129 = 11;
10381:                            } else if ((true)) {
10382:                                alt129 = 12;
10383:                            } else {
10384:                                if (backtracking > 0) {
10385:                                    failed = true;
10386:                                    return;
10387:                                }
10388:                                NoViableAltException nvae = new NoViableAltException(
10389:                                        "759:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );",
10390:                                        129, 12, input);
10391:
10392:                                throw nvae;
10393:                            }
10394:                        } else {
10395:                            if (backtracking > 0) {
10396:                                failed = true;
10397:                                return;
10398:                            }
10399:                            NoViableAltException nvae = new NoViableAltException(
10400:                                    "759:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );",
10401:                                    129, 11, input);
10402:
10403:                            throw nvae;
10404:                        }
10405:                    }
10406:                        break;
10407:                    default:
10408:                        if (backtracking > 0) {
10409:                            failed = true;
10410:                            return;
10411:                        }
10412:                        NoViableAltException nvae = new NoViableAltException(
10413:                                "759:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );",
10414:                                129, 0, input);
10415:
10416:                        throw nvae;
10417:                    }
10418:
10419:                    switch (alt129) {
10420:                    case 1:
10421:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:760:4: '='
10422:                    {
10423:                        match(input, 44, FOLLOW_44_in_assignmentOperator2991);
10424:                        if (failed)
10425:                            return;
10426:
10427:                    }
10428:                        break;
10429:                    case 2:
10430:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:761:9: '+='
10431:                    {
10432:                        match(input, 89, FOLLOW_89_in_assignmentOperator3001);
10433:                        if (failed)
10434:                            return;
10435:
10436:                    }
10437:                        break;
10438:                    case 3:
10439:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:762:9: '-='
10440:                    {
10441:                        match(input, 90, FOLLOW_90_in_assignmentOperator3011);
10442:                        if (failed)
10443:                            return;
10444:
10445:                    }
10446:                        break;
10447:                    case 4:
10448:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:763:9: '*='
10449:                    {
10450:                        match(input, 91, FOLLOW_91_in_assignmentOperator3021);
10451:                        if (failed)
10452:                            return;
10453:
10454:                    }
10455:                        break;
10456:                    case 5:
10457:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:764:9: '/='
10458:                    {
10459:                        match(input, 92, FOLLOW_92_in_assignmentOperator3031);
10460:                        if (failed)
10461:                            return;
10462:
10463:                    }
10464:                        break;
10465:                    case 6:
10466:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:765:9: '&='
10467:                    {
10468:                        match(input, 93, FOLLOW_93_in_assignmentOperator3041);
10469:                        if (failed)
10470:                            return;
10471:
10472:                    }
10473:                        break;
10474:                    case 7:
10475:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:766:9: '|='
10476:                    {
10477:                        match(input, 94, FOLLOW_94_in_assignmentOperator3051);
10478:                        if (failed)
10479:                            return;
10480:
10481:                    }
10482:                        break;
10483:                    case 8:
10484:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:767:9: '^='
10485:                    {
10486:                        match(input, 95, FOLLOW_95_in_assignmentOperator3061);
10487:                        if (failed)
10488:                            return;
10489:
10490:                    }
10491:                        break;
10492:                    case 9:
10493:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:768:9: '%='
10494:                    {
10495:                        match(input, 96, FOLLOW_96_in_assignmentOperator3071);
10496:                        if (failed)
10497:                            return;
10498:
10499:                    }
10500:                        break;
10501:                    case 10:
10502:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:769:9: '<' '<' '='
10503:                    {
10504:                        match(input, 33, FOLLOW_33_in_assignmentOperator3081);
10505:                        if (failed)
10506:                            return;
10507:                        match(input, 33, FOLLOW_33_in_assignmentOperator3083);
10508:                        if (failed)
10509:                            return;
10510:                        match(input, 44, FOLLOW_44_in_assignmentOperator3085);
10511:                        if (failed)
10512:                            return;
10513:
10514:                    }
10515:                        break;
10516:                    case 11:
10517:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:9: '>' '>' '='
10518:                    {
10519:                        match(input, 35, FOLLOW_35_in_assignmentOperator3095);
10520:                        if (failed)
10521:                            return;
10522:                        match(input, 35, FOLLOW_35_in_assignmentOperator3097);
10523:                        if (failed)
10524:                            return;
10525:                        match(input, 44, FOLLOW_44_in_assignmentOperator3099);
10526:                        if (failed)
10527:                            return;
10528:
10529:                    }
10530:                        break;
10531:                    case 12:
10532:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:771:9: '>' '>' '>' '='
10533:                    {
10534:                        match(input, 35, FOLLOW_35_in_assignmentOperator3109);
10535:                        if (failed)
10536:                            return;
10537:                        match(input, 35, FOLLOW_35_in_assignmentOperator3111);
10538:                        if (failed)
10539:                            return;
10540:                        match(input, 35, FOLLOW_35_in_assignmentOperator3113);
10541:                        if (failed)
10542:                            return;
10543:                        match(input, 44, FOLLOW_44_in_assignmentOperator3115);
10544:                        if (failed)
10545:                            return;
10546:
10547:                    }
10548:                        break;
10549:
10550:                    }
10551:                } catch (RecognitionException re) {
10552:                    reportError(re);
10553:                    recover(input, re);
10554:                } finally {
10555:                    if (backtracking > 0) {
10556:                        memoize(input, 100, assignmentOperator_StartIndex);
10557:                    }
10558:                }
10559:                return;
10560:            }
10561:
10562:            // $ANTLR end assignmentOperator
10563:
10564:            // $ANTLR start conditionalExpression
10565:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:774:1: conditionalExpression : conditionalOrExpression ( '?' expression ':' expression )? ;
10566:            public final void conditionalExpression()
10567:                    throws RecognitionException {
10568:                int conditionalExpression_StartIndex = input.index();
10569:                try {
10570:                    if (backtracking > 0 && alreadyParsedRule(input, 101)) {
10571:                        return;
10572:                    }
10573:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:775:9: ( conditionalOrExpression ( '?' expression ':' expression )? )
10574:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:775:9: conditionalOrExpression ( '?' expression ':' expression )?
10575:                    {
10576:                        pushFollow(FOLLOW_conditionalOrExpression_in_conditionalExpression3131);
10577:                        conditionalOrExpression();
10578:                        _fsp--;
10579:                        if (failed)
10580:                            return;
10581:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:775:33: ( '?' expression ':' expression )?
10582:                        int alt130 = 2;
10583:                        int LA130_0 = input.LA(1);
10584:
10585:                        if ((LA130_0 == 63)) {
10586:                            alt130 = 1;
10587:                        }
10588:                        switch (alt130) {
10589:                        case 1:
10590:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:775:35: '?' expression ':' expression
10591:                        {
10592:                            match(input, 63,
10593:                                    FOLLOW_63_in_conditionalExpression3135);
10594:                            if (failed)
10595:                                return;
10596:                            pushFollow(FOLLOW_expression_in_conditionalExpression3137);
10597:                            expression();
10598:                            _fsp--;
10599:                            if (failed)
10600:                                return;
10601:                            match(input, 74,
10602:                                    FOLLOW_74_in_conditionalExpression3139);
10603:                            if (failed)
10604:                                return;
10605:                            pushFollow(FOLLOW_expression_in_conditionalExpression3141);
10606:                            expression();
10607:                            _fsp--;
10608:                            if (failed)
10609:                                return;
10610:
10611:                        }
10612:                            break;
10613:
10614:                        }
10615:
10616:                    }
10617:
10618:                } catch (RecognitionException re) {
10619:                    reportError(re);
10620:                    recover(input, re);
10621:                } finally {
10622:                    if (backtracking > 0) {
10623:                        memoize(input, 101, conditionalExpression_StartIndex);
10624:                    }
10625:                }
10626:                return;
10627:            }
10628:
10629:            // $ANTLR end conditionalExpression
10630:
10631:            // $ANTLR start conditionalOrExpression
10632:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:778:1: conditionalOrExpression : conditionalAndExpression ( '||' conditionalAndExpression )* ;
10633:            public final void conditionalOrExpression()
10634:                    throws RecognitionException {
10635:                int conditionalOrExpression_StartIndex = input.index();
10636:                try {
10637:                    if (backtracking > 0 && alreadyParsedRule(input, 102)) {
10638:                        return;
10639:                    }
10640:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:779:9: ( conditionalAndExpression ( '||' conditionalAndExpression )* )
10641:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:779:9: conditionalAndExpression ( '||' conditionalAndExpression )*
10642:                    {
10643:                        pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3160);
10644:                        conditionalAndExpression();
10645:                        _fsp--;
10646:                        if (failed)
10647:                            return;
10648:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:779:34: ( '||' conditionalAndExpression )*
10649:                        loop131: do {
10650:                            int alt131 = 2;
10651:                            int LA131_0 = input.LA(1);
10652:
10653:                            if ((LA131_0 == 97)) {
10654:                                alt131 = 1;
10655:                            }
10656:
10657:                            switch (alt131) {
10658:                            case 1:
10659:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:779:36: '||' conditionalAndExpression
10660:                            {
10661:                                match(input, 97,
10662:                                        FOLLOW_97_in_conditionalOrExpression3164);
10663:                                if (failed)
10664:                                    return;
10665:                                pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3166);
10666:                                conditionalAndExpression();
10667:                                _fsp--;
10668:                                if (failed)
10669:                                    return;
10670:
10671:                            }
10672:                                break;
10673:
10674:                            default:
10675:                                break loop131;
10676:                            }
10677:                        } while (true);
10678:
10679:                    }
10680:
10681:                } catch (RecognitionException re) {
10682:                    reportError(re);
10683:                    recover(input, re);
10684:                } finally {
10685:                    if (backtracking > 0) {
10686:                        memoize(input, 102, conditionalOrExpression_StartIndex);
10687:                    }
10688:                }
10689:                return;
10690:            }
10691:
10692:            // $ANTLR end conditionalOrExpression
10693:
10694:            // $ANTLR start conditionalAndExpression
10695:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:1: conditionalAndExpression : inclusiveOrExpression ( '&&' inclusiveOrExpression )* ;
10696:            public final void conditionalAndExpression()
10697:                    throws RecognitionException {
10698:                int conditionalAndExpression_StartIndex = input.index();
10699:                try {
10700:                    if (backtracking > 0 && alreadyParsedRule(input, 103)) {
10701:                        return;
10702:                    }
10703:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:783:9: ( inclusiveOrExpression ( '&&' inclusiveOrExpression )* )
10704:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:783:9: inclusiveOrExpression ( '&&' inclusiveOrExpression )*
10705:                    {
10706:                        pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3185);
10707:                        inclusiveOrExpression();
10708:                        _fsp--;
10709:                        if (failed)
10710:                            return;
10711:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:783:31: ( '&&' inclusiveOrExpression )*
10712:                        loop132: do {
10713:                            int alt132 = 2;
10714:                            int LA132_0 = input.LA(1);
10715:
10716:                            if ((LA132_0 == 98)) {
10717:                                alt132 = 1;
10718:                            }
10719:
10720:                            switch (alt132) {
10721:                            case 1:
10722:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:783:33: '&&' inclusiveOrExpression
10723:                            {
10724:                                match(input, 98,
10725:                                        FOLLOW_98_in_conditionalAndExpression3189);
10726:                                if (failed)
10727:                                    return;
10728:                                pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3191);
10729:                                inclusiveOrExpression();
10730:                                _fsp--;
10731:                                if (failed)
10732:                                    return;
10733:
10734:                            }
10735:                                break;
10736:
10737:                            default:
10738:                                break loop132;
10739:                            }
10740:                        } while (true);
10741:
10742:                    }
10743:
10744:                } catch (RecognitionException re) {
10745:                    reportError(re);
10746:                    recover(input, re);
10747:                } finally {
10748:                    if (backtracking > 0) {
10749:                        memoize(input, 103, conditionalAndExpression_StartIndex);
10750:                    }
10751:                }
10752:                return;
10753:            }
10754:
10755:            // $ANTLR end conditionalAndExpression
10756:
10757:            // $ANTLR start inclusiveOrExpression
10758:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:786:1: inclusiveOrExpression : exclusiveOrExpression ( '|' exclusiveOrExpression )* ;
10759:            public final void inclusiveOrExpression()
10760:                    throws RecognitionException {
10761:                int inclusiveOrExpression_StartIndex = input.index();
10762:                try {
10763:                    if (backtracking > 0 && alreadyParsedRule(input, 104)) {
10764:                        return;
10765:                    }
10766:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:787:9: ( exclusiveOrExpression ( '|' exclusiveOrExpression )* )
10767:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:787:9: exclusiveOrExpression ( '|' exclusiveOrExpression )*
10768:                    {
10769:                        pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3210);
10770:                        exclusiveOrExpression();
10771:                        _fsp--;
10772:                        if (failed)
10773:                            return;
10774:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:787:31: ( '|' exclusiveOrExpression )*
10775:                        loop133: do {
10776:                            int alt133 = 2;
10777:                            int LA133_0 = input.LA(1);
10778:
10779:                            if ((LA133_0 == 99)) {
10780:                                alt133 = 1;
10781:                            }
10782:
10783:                            switch (alt133) {
10784:                            case 1:
10785:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:787:33: '|' exclusiveOrExpression
10786:                            {
10787:                                match(input, 99,
10788:                                        FOLLOW_99_in_inclusiveOrExpression3214);
10789:                                if (failed)
10790:                                    return;
10791:                                pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3216);
10792:                                exclusiveOrExpression();
10793:                                _fsp--;
10794:                                if (failed)
10795:                                    return;
10796:
10797:                            }
10798:                                break;
10799:
10800:                            default:
10801:                                break loop133;
10802:                            }
10803:                        } while (true);
10804:
10805:                    }
10806:
10807:                } catch (RecognitionException re) {
10808:                    reportError(re);
10809:                    recover(input, re);
10810:                } finally {
10811:                    if (backtracking > 0) {
10812:                        memoize(input, 104, inclusiveOrExpression_StartIndex);
10813:                    }
10814:                }
10815:                return;
10816:            }
10817:
10818:            // $ANTLR end inclusiveOrExpression
10819:
10820:            // $ANTLR start exclusiveOrExpression
10821:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:790:1: exclusiveOrExpression : andExpression ( '^' andExpression )* ;
10822:            public final void exclusiveOrExpression()
10823:                    throws RecognitionException {
10824:                int exclusiveOrExpression_StartIndex = input.index();
10825:                try {
10826:                    if (backtracking > 0 && alreadyParsedRule(input, 105)) {
10827:                        return;
10828:                    }
10829:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:791:9: ( andExpression ( '^' andExpression )* )
10830:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:791:9: andExpression ( '^' andExpression )*
10831:                    {
10832:                        pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3235);
10833:                        andExpression();
10834:                        _fsp--;
10835:                        if (failed)
10836:                            return;
10837:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:791:23: ( '^' andExpression )*
10838:                        loop134: do {
10839:                            int alt134 = 2;
10840:                            int LA134_0 = input.LA(1);
10841:
10842:                            if ((LA134_0 == 100)) {
10843:                                alt134 = 1;
10844:                            }
10845:
10846:                            switch (alt134) {
10847:                            case 1:
10848:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:791:25: '^' andExpression
10849:                            {
10850:                                match(input, 100,
10851:                                        FOLLOW_100_in_exclusiveOrExpression3239);
10852:                                if (failed)
10853:                                    return;
10854:                                pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3241);
10855:                                andExpression();
10856:                                _fsp--;
10857:                                if (failed)
10858:                                    return;
10859:
10860:                            }
10861:                                break;
10862:
10863:                            default:
10864:                                break loop134;
10865:                            }
10866:                        } while (true);
10867:
10868:                    }
10869:
10870:                } catch (RecognitionException re) {
10871:                    reportError(re);
10872:                    recover(input, re);
10873:                } finally {
10874:                    if (backtracking > 0) {
10875:                        memoize(input, 105, exclusiveOrExpression_StartIndex);
10876:                    }
10877:                }
10878:                return;
10879:            }
10880:
10881:            // $ANTLR end exclusiveOrExpression
10882:
10883:            // $ANTLR start andExpression
10884:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:794:1: andExpression : equalityExpression ( '&' equalityExpression )* ;
10885:            public final void andExpression() throws RecognitionException {
10886:                int andExpression_StartIndex = input.index();
10887:                try {
10888:                    if (backtracking > 0 && alreadyParsedRule(input, 106)) {
10889:                        return;
10890:                    }
10891:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:795:9: ( equalityExpression ( '&' equalityExpression )* )
10892:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:795:9: equalityExpression ( '&' equalityExpression )*
10893:                    {
10894:                        pushFollow(FOLLOW_equalityExpression_in_andExpression3260);
10895:                        equalityExpression();
10896:                        _fsp--;
10897:                        if (failed)
10898:                            return;
10899:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:795:28: ( '&' equalityExpression )*
10900:                        loop135: do {
10901:                            int alt135 = 2;
10902:                            int LA135_0 = input.LA(1);
10903:
10904:                            if ((LA135_0 == 36)) {
10905:                                alt135 = 1;
10906:                            }
10907:
10908:                            switch (alt135) {
10909:                            case 1:
10910:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:795:30: '&' equalityExpression
10911:                            {
10912:                                match(input, 36, FOLLOW_36_in_andExpression3264);
10913:                                if (failed)
10914:                                    return;
10915:                                pushFollow(FOLLOW_equalityExpression_in_andExpression3266);
10916:                                equalityExpression();
10917:                                _fsp--;
10918:                                if (failed)
10919:                                    return;
10920:
10921:                            }
10922:                                break;
10923:
10924:                            default:
10925:                                break loop135;
10926:                            }
10927:                        } while (true);
10928:
10929:                    }
10930:
10931:                } catch (RecognitionException re) {
10932:                    reportError(re);
10933:                    recover(input, re);
10934:                } finally {
10935:                    if (backtracking > 0) {
10936:                        memoize(input, 106, andExpression_StartIndex);
10937:                    }
10938:                }
10939:                return;
10940:            }
10941:
10942:            // $ANTLR end andExpression
10943:
10944:            // $ANTLR start equalityExpression
10945:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:798:1: equalityExpression : instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* ;
10946:            public final void equalityExpression() throws RecognitionException {
10947:                int equalityExpression_StartIndex = input.index();
10948:                try {
10949:                    if (backtracking > 0 && alreadyParsedRule(input, 107)) {
10950:                        return;
10951:                    }
10952:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:799:9: ( instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* )
10953:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:799:9: instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )*
10954:                    {
10955:                        pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3285);
10956:                        instanceOfExpression();
10957:                        _fsp--;
10958:                        if (failed)
10959:                            return;
10960:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:799:30: ( ( '==' | '!=' ) instanceOfExpression )*
10961:                        loop136: do {
10962:                            int alt136 = 2;
10963:                            int LA136_0 = input.LA(1);
10964:
10965:                            if (((LA136_0 >= 101 && LA136_0 <= 102))) {
10966:                                alt136 = 1;
10967:                            }
10968:
10969:                            switch (alt136) {
10970:                            case 1:
10971:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:799:32: ( '==' | '!=' ) instanceOfExpression
10972:                            {
10973:                                if ((input.LA(1) >= 101 && input.LA(1) <= 102)) {
10974:                                    input.consume();
10975:                                    errorRecovery = false;
10976:                                    failed = false;
10977:                                } else {
10978:                                    if (backtracking > 0) {
10979:                                        failed = true;
10980:                                        return;
10981:                                    }
10982:                                    MismatchedSetException mse = new MismatchedSetException(
10983:                                            null, input);
10984:                                    recoverFromMismatchedSet(input, mse,
10985:                                            FOLLOW_set_in_equalityExpression3289);
10986:                                    throw mse;
10987:                                }
10988:
10989:                                pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3297);
10990:                                instanceOfExpression();
10991:                                _fsp--;
10992:                                if (failed)
10993:                                    return;
10994:
10995:                            }
10996:                                break;
10997:
10998:                            default:
10999:                                break loop136;
11000:                            }
11001:                        } while (true);
11002:
11003:                    }
11004:
11005:                } catch (RecognitionException re) {
11006:                    reportError(re);
11007:                    recover(input, re);
11008:                } finally {
11009:                    if (backtracking > 0) {
11010:                        memoize(input, 107, equalityExpression_StartIndex);
11011:                    }
11012:                }
11013:                return;
11014:            }
11015:
11016:            // $ANTLR end equalityExpression
11017:
11018:            // $ANTLR start instanceOfExpression
11019:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:802:1: instanceOfExpression : relationalExpression ( 'instanceof' type )? ;
11020:            public final void instanceOfExpression()
11021:                    throws RecognitionException {
11022:                int instanceOfExpression_StartIndex = input.index();
11023:                try {
11024:                    if (backtracking > 0 && alreadyParsedRule(input, 108)) {
11025:                        return;
11026:                    }
11027:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:803:9: ( relationalExpression ( 'instanceof' type )? )
11028:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:803:9: relationalExpression ( 'instanceof' type )?
11029:                    {
11030:                        pushFollow(FOLLOW_relationalExpression_in_instanceOfExpression3316);
11031:                        relationalExpression();
11032:                        _fsp--;
11033:                        if (failed)
11034:                            return;
11035:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:803:30: ( 'instanceof' type )?
11036:                        int alt137 = 2;
11037:                        int LA137_0 = input.LA(1);
11038:
11039:                        if ((LA137_0 == 103)) {
11040:                            alt137 = 1;
11041:                        }
11042:                        switch (alt137) {
11043:                        case 1:
11044:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:803:31: 'instanceof' type
11045:                        {
11046:                            match(input, 103,
11047:                                    FOLLOW_103_in_instanceOfExpression3319);
11048:                            if (failed)
11049:                                return;
11050:                            pushFollow(FOLLOW_type_in_instanceOfExpression3321);
11051:                            type();
11052:                            _fsp--;
11053:                            if (failed)
11054:                                return;
11055:
11056:                        }
11057:                            break;
11058:
11059:                        }
11060:
11061:                    }
11062:
11063:                } catch (RecognitionException re) {
11064:                    reportError(re);
11065:                    recover(input, re);
11066:                } finally {
11067:                    if (backtracking > 0) {
11068:                        memoize(input, 108, instanceOfExpression_StartIndex);
11069:                    }
11070:                }
11071:                return;
11072:            }
11073:
11074:            // $ANTLR end instanceOfExpression
11075:
11076:            // $ANTLR start relationalExpression
11077:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:806:1: relationalExpression : shiftExpression ( relationalOp shiftExpression )* ;
11078:            public final void relationalExpression()
11079:                    throws RecognitionException {
11080:                int relationalExpression_StartIndex = input.index();
11081:                try {
11082:                    if (backtracking > 0 && alreadyParsedRule(input, 109)) {
11083:                        return;
11084:                    }
11085:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:9: ( shiftExpression ( relationalOp shiftExpression )* )
11086:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:9: shiftExpression ( relationalOp shiftExpression )*
11087:                    {
11088:                        pushFollow(FOLLOW_shiftExpression_in_relationalExpression3339);
11089:                        shiftExpression();
11090:                        _fsp--;
11091:                        if (failed)
11092:                            return;
11093:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:25: ( relationalOp shiftExpression )*
11094:                        loop138: do {
11095:                            int alt138 = 2;
11096:                            int LA138_0 = input.LA(1);
11097:
11098:                            if ((LA138_0 == 33)) {
11099:                                int LA138_23 = input.LA(2);
11100:
11101:                                if ((LA138_23 == Identifier
11102:                                        || (LA138_23 >= FloatingPointLiteral && LA138_23 <= DecimalLiteral)
11103:                                        || LA138_23 == 40 || LA138_23 == 44
11104:                                        || (LA138_23 >= 55 && LA138_23 <= 62)
11105:                                        || (LA138_23 >= 64 && LA138_23 <= 65)
11106:                                        || (LA138_23 >= 68 && LA138_23 <= 70)
11107:                                        || (LA138_23 >= 104 && LA138_23 <= 105) || (LA138_23 >= 108 && LA138_23 <= 113))) {
11108:                                    alt138 = 1;
11109:                                } else if ((LA138_23 == 33)) {
11110:                                    int LA138_28 = input.LA(3);
11111:
11112:                                    if ((synpred205())) {
11113:                                        alt138 = 1;
11114:                                    }
11115:
11116:                                }
11117:
11118:                            } else if ((LA138_0 == 35)) {
11119:                                int LA138_24 = input.LA(2);
11120:
11121:                                if ((LA138_24 == Identifier
11122:                                        || (LA138_24 >= FloatingPointLiteral && LA138_24 <= DecimalLiteral)
11123:                                        || LA138_24 == 33 || LA138_24 == 40
11124:                                        || LA138_24 == 44
11125:                                        || (LA138_24 >= 55 && LA138_24 <= 62)
11126:                                        || (LA138_24 >= 64 && LA138_24 <= 65)
11127:                                        || (LA138_24 >= 68 && LA138_24 <= 70)
11128:                                        || (LA138_24 >= 104 && LA138_24 <= 105) || (LA138_24 >= 108 && LA138_24 <= 113))) {
11129:                                    alt138 = 1;
11130:                                }
11131:
11132:                            }
11133:
11134:                            switch (alt138) {
11135:                            case 1:
11136:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:27: relationalOp shiftExpression
11137:                            {
11138:                                pushFollow(FOLLOW_relationalOp_in_relationalExpression3343);
11139:                                relationalOp();
11140:                                _fsp--;
11141:                                if (failed)
11142:                                    return;
11143:                                pushFollow(FOLLOW_shiftExpression_in_relationalExpression3345);
11144:                                shiftExpression();
11145:                                _fsp--;
11146:                                if (failed)
11147:                                    return;
11148:
11149:                            }
11150:                                break;
11151:
11152:                            default:
11153:                                break loop138;
11154:                            }
11155:                        } while (true);
11156:
11157:                    }
11158:
11159:                } catch (RecognitionException re) {
11160:                    reportError(re);
11161:                    recover(input, re);
11162:                } finally {
11163:                    if (backtracking > 0) {
11164:                        memoize(input, 109, relationalExpression_StartIndex);
11165:                    }
11166:                }
11167:                return;
11168:            }
11169:
11170:            // $ANTLR end relationalExpression
11171:
11172:            // $ANTLR start relationalOp
11173:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:810:1: relationalOp : ( '<' '=' | '>' '=' | '<' | '>' ) ;
11174:            public final void relationalOp() throws RecognitionException {
11175:                int relationalOp_StartIndex = input.index();
11176:                try {
11177:                    if (backtracking > 0 && alreadyParsedRule(input, 110)) {
11178:                        return;
11179:                    }
11180:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:4: ( ( '<' '=' | '>' '=' | '<' | '>' ) )
11181:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:4: ( '<' '=' | '>' '=' | '<' | '>' )
11182:                    {
11183:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:4: ( '<' '=' | '>' '=' | '<' | '>' )
11184:                        int alt139 = 4;
11185:                        int LA139_0 = input.LA(1);
11186:
11187:                        if ((LA139_0 == 33)) {
11188:                            int LA139_1 = input.LA(2);
11189:
11190:                            if ((LA139_1 == 44)) {
11191:                                alt139 = 1;
11192:                            } else if ((LA139_1 == Identifier
11193:                                    || (LA139_1 >= FloatingPointLiteral && LA139_1 <= DecimalLiteral)
11194:                                    || LA139_1 == 33 || LA139_1 == 40
11195:                                    || (LA139_1 >= 55 && LA139_1 <= 62)
11196:                                    || (LA139_1 >= 64 && LA139_1 <= 65)
11197:                                    || (LA139_1 >= 68 && LA139_1 <= 70)
11198:                                    || (LA139_1 >= 104 && LA139_1 <= 105) || (LA139_1 >= 108 && LA139_1 <= 113))) {
11199:                                alt139 = 3;
11200:                            } else {
11201:                                if (backtracking > 0) {
11202:                                    failed = true;
11203:                                    return;
11204:                                }
11205:                                NoViableAltException nvae = new NoViableAltException(
11206:                                        "811:4: ( '<' '=' | '>' '=' | '<' | '>' )",
11207:                                        139, 1, input);
11208:
11209:                                throw nvae;
11210:                            }
11211:                        } else if ((LA139_0 == 35)) {
11212:                            int LA139_2 = input.LA(2);
11213:
11214:                            if ((LA139_2 == 44)) {
11215:                                alt139 = 2;
11216:                            } else if ((LA139_2 == Identifier
11217:                                    || (LA139_2 >= FloatingPointLiteral && LA139_2 <= DecimalLiteral)
11218:                                    || LA139_2 == 33 || LA139_2 == 40
11219:                                    || (LA139_2 >= 55 && LA139_2 <= 62)
11220:                                    || (LA139_2 >= 64 && LA139_2 <= 65)
11221:                                    || (LA139_2 >= 68 && LA139_2 <= 70)
11222:                                    || (LA139_2 >= 104 && LA139_2 <= 105) || (LA139_2 >= 108 && LA139_2 <= 113))) {
11223:                                alt139 = 4;
11224:                            } else {
11225:                                if (backtracking > 0) {
11226:                                    failed = true;
11227:                                    return;
11228:                                }
11229:                                NoViableAltException nvae = new NoViableAltException(
11230:                                        "811:4: ( '<' '=' | '>' '=' | '<' | '>' )",
11231:                                        139, 2, input);
11232:
11233:                                throw nvae;
11234:                            }
11235:                        } else {
11236:                            if (backtracking > 0) {
11237:                                failed = true;
11238:                                return;
11239:                            }
11240:                            NoViableAltException nvae = new NoViableAltException(
11241:                                    "811:4: ( '<' '=' | '>' '=' | '<' | '>' )",
11242:                                    139, 0, input);
11243:
11244:                            throw nvae;
11245:                        }
11246:                        switch (alt139) {
11247:                        case 1:
11248:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:5: '<' '='
11249:                        {
11250:                            match(input, 33, FOLLOW_33_in_relationalOp3361);
11251:                            if (failed)
11252:                                return;
11253:                            match(input, 44, FOLLOW_44_in_relationalOp3363);
11254:                            if (failed)
11255:                                return;
11256:
11257:                        }
11258:                            break;
11259:                        case 2:
11260:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:15: '>' '='
11261:                        {
11262:                            match(input, 35, FOLLOW_35_in_relationalOp3367);
11263:                            if (failed)
11264:                                return;
11265:                            match(input, 44, FOLLOW_44_in_relationalOp3369);
11266:                            if (failed)
11267:                                return;
11268:
11269:                        }
11270:                            break;
11271:                        case 3:
11272:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:25: '<'
11273:                        {
11274:                            match(input, 33, FOLLOW_33_in_relationalOp3373);
11275:                            if (failed)
11276:                                return;
11277:
11278:                        }
11279:                            break;
11280:                        case 4:
11281:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:811:31: '>'
11282:                        {
11283:                            match(input, 35, FOLLOW_35_in_relationalOp3377);
11284:                            if (failed)
11285:                                return;
11286:
11287:                        }
11288:                            break;
11289:
11290:                        }
11291:
11292:                    }
11293:
11294:                } catch (RecognitionException re) {
11295:                    reportError(re);
11296:                    recover(input, re);
11297:                } finally {
11298:                    if (backtracking > 0) {
11299:                        memoize(input, 110, relationalOp_StartIndex);
11300:                    }
11301:                }
11302:                return;
11303:            }
11304:
11305:            // $ANTLR end relationalOp
11306:
11307:            // $ANTLR start shiftExpression
11308:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:814:1: shiftExpression : additiveExpression ( shiftOp additiveExpression )* ;
11309:            public final void shiftExpression() throws RecognitionException {
11310:                int shiftExpression_StartIndex = input.index();
11311:                try {
11312:                    if (backtracking > 0 && alreadyParsedRule(input, 111)) {
11313:                        return;
11314:                    }
11315:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:9: ( additiveExpression ( shiftOp additiveExpression )* )
11316:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:9: additiveExpression ( shiftOp additiveExpression )*
11317:                    {
11318:                        pushFollow(FOLLOW_additiveExpression_in_shiftExpression3394);
11319:                        additiveExpression();
11320:                        _fsp--;
11321:                        if (failed)
11322:                            return;
11323:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:28: ( shiftOp additiveExpression )*
11324:                        loop140: do {
11325:                            int alt140 = 2;
11326:                            int LA140_0 = input.LA(1);
11327:
11328:                            if ((LA140_0 == 33)) {
11329:                                int LA140_1 = input.LA(2);
11330:
11331:                                if ((LA140_1 == 33)) {
11332:                                    int LA140_27 = input.LA(3);
11333:
11334:                                    if ((synpred209())) {
11335:                                        alt140 = 1;
11336:                                    }
11337:
11338:                                }
11339:
11340:                            } else if ((LA140_0 == 35)) {
11341:                                int LA140_2 = input.LA(2);
11342:
11343:                                if ((LA140_2 == 35)) {
11344:                                    int LA140_48 = input.LA(3);
11345:
11346:                                    if ((synpred209())) {
11347:                                        alt140 = 1;
11348:                                    }
11349:
11350:                                }
11351:
11352:                            }
11353:
11354:                            switch (alt140) {
11355:                            case 1:
11356:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:30: shiftOp additiveExpression
11357:                            {
11358:                                pushFollow(FOLLOW_shiftOp_in_shiftExpression3398);
11359:                                shiftOp();
11360:                                _fsp--;
11361:                                if (failed)
11362:                                    return;
11363:                                pushFollow(FOLLOW_additiveExpression_in_shiftExpression3400);
11364:                                additiveExpression();
11365:                                _fsp--;
11366:                                if (failed)
11367:                                    return;
11368:
11369:                            }
11370:                                break;
11371:
11372:                            default:
11373:                                break loop140;
11374:                            }
11375:                        } while (true);
11376:
11377:                    }
11378:
11379:                } catch (RecognitionException re) {
11380:                    reportError(re);
11381:                    recover(input, re);
11382:                } finally {
11383:                    if (backtracking > 0) {
11384:                        memoize(input, 111, shiftExpression_StartIndex);
11385:                    }
11386:                }
11387:                return;
11388:            }
11389:
11390:            // $ANTLR end shiftExpression
11391:
11392:            // $ANTLR start shiftOp
11393:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:819:1: shiftOp : ( '<' '<' | '>' '>' '>' | '>' '>' ) ;
11394:            public final void shiftOp() throws RecognitionException {
11395:                int shiftOp_StartIndex = input.index();
11396:                try {
11397:                    if (backtracking > 0 && alreadyParsedRule(input, 112)) {
11398:                        return;
11399:                    }
11400:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:4: ( ( '<' '<' | '>' '>' '>' | '>' '>' ) )
11401:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
11402:                    {
11403:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
11404:                        int alt141 = 3;
11405:                        int LA141_0 = input.LA(1);
11406:
11407:                        if ((LA141_0 == 33)) {
11408:                            alt141 = 1;
11409:                        } else if ((LA141_0 == 35)) {
11410:                            int LA141_2 = input.LA(2);
11411:
11412:                            if ((LA141_2 == 35)) {
11413:                                int LA141_3 = input.LA(3);
11414:
11415:                                if ((synpred211())) {
11416:                                    alt141 = 2;
11417:                                } else if ((true)) {
11418:                                    alt141 = 3;
11419:                                } else {
11420:                                    if (backtracking > 0) {
11421:                                        failed = true;
11422:                                        return;
11423:                                    }
11424:                                    NoViableAltException nvae = new NoViableAltException(
11425:                                            "820:4: ( '<' '<' | '>' '>' '>' | '>' '>' )",
11426:                                            141, 3, input);
11427:
11428:                                    throw nvae;
11429:                                }
11430:                            } else {
11431:                                if (backtracking > 0) {
11432:                                    failed = true;
11433:                                    return;
11434:                                }
11435:                                NoViableAltException nvae = new NoViableAltException(
11436:                                        "820:4: ( '<' '<' | '>' '>' '>' | '>' '>' )",
11437:                                        141, 2, input);
11438:
11439:                                throw nvae;
11440:                            }
11441:                        } else {
11442:                            if (backtracking > 0) {
11443:                                failed = true;
11444:                                return;
11445:                            }
11446:                            NoViableAltException nvae = new NoViableAltException(
11447:                                    "820:4: ( '<' '<' | '>' '>' '>' | '>' '>' )",
11448:                                    141, 0, input);
11449:
11450:                            throw nvae;
11451:                        }
11452:                        switch (alt141) {
11453:                        case 1:
11454:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:5: '<' '<'
11455:                        {
11456:                            match(input, 33, FOLLOW_33_in_shiftOp3424);
11457:                            if (failed)
11458:                                return;
11459:                            match(input, 33, FOLLOW_33_in_shiftOp3426);
11460:                            if (failed)
11461:                                return;
11462:
11463:                        }
11464:                            break;
11465:                        case 2:
11466:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:15: '>' '>' '>'
11467:                        {
11468:                            match(input, 35, FOLLOW_35_in_shiftOp3430);
11469:                            if (failed)
11470:                                return;
11471:                            match(input, 35, FOLLOW_35_in_shiftOp3432);
11472:                            if (failed)
11473:                                return;
11474:                            match(input, 35, FOLLOW_35_in_shiftOp3434);
11475:                            if (failed)
11476:                                return;
11477:
11478:                        }
11479:                            break;
11480:                        case 3:
11481:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:29: '>' '>'
11482:                        {
11483:                            match(input, 35, FOLLOW_35_in_shiftOp3438);
11484:                            if (failed)
11485:                                return;
11486:                            match(input, 35, FOLLOW_35_in_shiftOp3440);
11487:                            if (failed)
11488:                                return;
11489:
11490:                        }
11491:                            break;
11492:
11493:                        }
11494:
11495:                    }
11496:
11497:                } catch (RecognitionException re) {
11498:                    reportError(re);
11499:                    recover(input, re);
11500:                } finally {
11501:                    if (backtracking > 0) {
11502:                        memoize(input, 112, shiftOp_StartIndex);
11503:                    }
11504:                }
11505:                return;
11506:            }
11507:
11508:            // $ANTLR end shiftOp
11509:
11510:            // $ANTLR start additiveExpression
11511:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:824:1: additiveExpression : multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* ;
11512:            public final void additiveExpression() throws RecognitionException {
11513:                int additiveExpression_StartIndex = input.index();
11514:                try {
11515:                    if (backtracking > 0 && alreadyParsedRule(input, 113)) {
11516:                        return;
11517:                    }
11518:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:9: ( multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* )
11519:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:9: multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )*
11520:                    {
11521:                        pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3458);
11522:                        multiplicativeExpression();
11523:                        _fsp--;
11524:                        if (failed)
11525:                            return;
11526:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:34: ( ( '+' | '-' ) multiplicativeExpression )*
11527:                        loop142: do {
11528:                            int alt142 = 2;
11529:                            int LA142_0 = input.LA(1);
11530:
11531:                            if (((LA142_0 >= 104 && LA142_0 <= 105))) {
11532:                                alt142 = 1;
11533:                            }
11534:
11535:                            switch (alt142) {
11536:                            case 1:
11537:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:36: ( '+' | '-' ) multiplicativeExpression
11538:                            {
11539:                                if ((input.LA(1) >= 104 && input.LA(1) <= 105)) {
11540:                                    input.consume();
11541:                                    errorRecovery = false;
11542:                                    failed = false;
11543:                                } else {
11544:                                    if (backtracking > 0) {
11545:                                        failed = true;
11546:                                        return;
11547:                                    }
11548:                                    MismatchedSetException mse = new MismatchedSetException(
11549:                                            null, input);
11550:                                    recoverFromMismatchedSet(input, mse,
11551:                                            FOLLOW_set_in_additiveExpression3462);
11552:                                    throw mse;
11553:                                }
11554:
11555:                                pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3470);
11556:                                multiplicativeExpression();
11557:                                _fsp--;
11558:                                if (failed)
11559:                                    return;
11560:
11561:                            }
11562:                                break;
11563:
11564:                            default:
11565:                                break loop142;
11566:                            }
11567:                        } while (true);
11568:
11569:                    }
11570:
11571:                } catch (RecognitionException re) {
11572:                    reportError(re);
11573:                    recover(input, re);
11574:                } finally {
11575:                    if (backtracking > 0) {
11576:                        memoize(input, 113, additiveExpression_StartIndex);
11577:                    }
11578:                }
11579:                return;
11580:            }
11581:
11582:            // $ANTLR end additiveExpression
11583:
11584:            // $ANTLR start multiplicativeExpression
11585:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:828:1: multiplicativeExpression : unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* ;
11586:            public final void multiplicativeExpression()
11587:                    throws RecognitionException {
11588:                int multiplicativeExpression_StartIndex = input.index();
11589:                try {
11590:                    if (backtracking > 0 && alreadyParsedRule(input, 114)) {
11591:                        return;
11592:                    }
11593:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:9: ( unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* )
11594:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:9: unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )*
11595:                    {
11596:                        pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3489);
11597:                        unaryExpression();
11598:                        _fsp--;
11599:                        if (failed)
11600:                            return;
11601:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:25: ( ( '*' | '/' | '%' ) unaryExpression )*
11602:                        loop143: do {
11603:                            int alt143 = 2;
11604:                            int LA143_0 = input.LA(1);
11605:
11606:                            if ((LA143_0 == 29 || (LA143_0 >= 106 && LA143_0 <= 107))) {
11607:                                alt143 = 1;
11608:                            }
11609:
11610:                            switch (alt143) {
11611:                            case 1:
11612:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:27: ( '*' | '/' | '%' ) unaryExpression
11613:                            {
11614:                                if (input.LA(1) == 29
11615:                                        || (input.LA(1) >= 106 && input.LA(1) <= 107)) {
11616:                                    input.consume();
11617:                                    errorRecovery = false;
11618:                                    failed = false;
11619:                                } else {
11620:                                    if (backtracking > 0) {
11621:                                        failed = true;
11622:                                        return;
11623:                                    }
11624:                                    MismatchedSetException mse = new MismatchedSetException(
11625:                                            null, input);
11626:                                    recoverFromMismatchedSet(input, mse,
11627:                                            FOLLOW_set_in_multiplicativeExpression3493);
11628:                                    throw mse;
11629:                                }
11630:
11631:                                pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3507);
11632:                                unaryExpression();
11633:                                _fsp--;
11634:                                if (failed)
11635:                                    return;
11636:
11637:                            }
11638:                                break;
11639:
11640:                            default:
11641:                                break loop143;
11642:                            }
11643:                        } while (true);
11644:
11645:                    }
11646:
11647:                } catch (RecognitionException re) {
11648:                    reportError(re);
11649:                    recover(input, re);
11650:                } finally {
11651:                    if (backtracking > 0) {
11652:                        memoize(input, 114, multiplicativeExpression_StartIndex);
11653:                    }
11654:                }
11655:                return;
11656:            }
11657:
11658:            // $ANTLR end multiplicativeExpression
11659:
11660:            // $ANTLR start unaryExpression
11661:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:832:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );
11662:            public final void unaryExpression() throws RecognitionException {
11663:                int unaryExpression_StartIndex = input.index();
11664:                try {
11665:                    if (backtracking > 0 && alreadyParsedRule(input, 115)) {
11666:                        return;
11667:                    }
11668:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:9: ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus )
11669:                    int alt144 = 5;
11670:                    switch (input.LA(1)) {
11671:                    case 104: {
11672:                        alt144 = 1;
11673:                    }
11674:                        break;
11675:                    case 105: {
11676:                        alt144 = 2;
11677:                    }
11678:                        break;
11679:                    case 108: {
11680:                        alt144 = 3;
11681:                    }
11682:                        break;
11683:                    case 109: {
11684:                        alt144 = 4;
11685:                    }
11686:                        break;
11687:                    case Identifier:
11688:                    case FloatingPointLiteral:
11689:                    case CharacterLiteral:
11690:                    case StringLiteral:
11691:                    case HexLiteral:
11692:                    case OctalLiteral:
11693:                    case DecimalLiteral:
11694:                    case 33:
11695:                    case 40:
11696:                    case 55:
11697:                    case 56:
11698:                    case 57:
11699:                    case 58:
11700:                    case 59:
11701:                    case 60:
11702:                    case 61:
11703:                    case 62:
11704:                    case 64:
11705:                    case 65:
11706:                    case 68:
11707:                    case 69:
11708:                    case 70:
11709:                    case 110:
11710:                    case 111:
11711:                    case 112:
11712:                    case 113: {
11713:                        alt144 = 5;
11714:                    }
11715:                        break;
11716:                    default:
11717:                        if (backtracking > 0) {
11718:                            failed = true;
11719:                            return;
11720:                        }
11721:                        NoViableAltException nvae = new NoViableAltException(
11722:                                "832:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );",
11723:                                144, 0, input);
11724:
11725:                        throw nvae;
11726:                    }
11727:
11728:                    switch (alt144) {
11729:                    case 1:
11730:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:9: '+' unaryExpression
11731:                    {
11732:                        match(input, 104, FOLLOW_104_in_unaryExpression3527);
11733:                        if (failed)
11734:                            return;
11735:                        pushFollow(FOLLOW_unaryExpression_in_unaryExpression3529);
11736:                        unaryExpression();
11737:                        _fsp--;
11738:                        if (failed)
11739:                            return;
11740:
11741:                    }
11742:                        break;
11743:                    case 2:
11744:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:834:7: '-' unaryExpression
11745:                    {
11746:                        match(input, 105, FOLLOW_105_in_unaryExpression3537);
11747:                        if (failed)
11748:                            return;
11749:                        pushFollow(FOLLOW_unaryExpression_in_unaryExpression3539);
11750:                        unaryExpression();
11751:                        _fsp--;
11752:                        if (failed)
11753:                            return;
11754:
11755:                    }
11756:                        break;
11757:                    case 3:
11758:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:835:9: '++' primary
11759:                    {
11760:                        match(input, 108, FOLLOW_108_in_unaryExpression3549);
11761:                        if (failed)
11762:                            return;
11763:                        pushFollow(FOLLOW_primary_in_unaryExpression3551);
11764:                        primary();
11765:                        _fsp--;
11766:                        if (failed)
11767:                            return;
11768:
11769:                    }
11770:                        break;
11771:                    case 4:
11772:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:836:9: '--' primary
11773:                    {
11774:                        match(input, 109, FOLLOW_109_in_unaryExpression3561);
11775:                        if (failed)
11776:                            return;
11777:                        pushFollow(FOLLOW_primary_in_unaryExpression3563);
11778:                        primary();
11779:                        _fsp--;
11780:                        if (failed)
11781:                            return;
11782:
11783:                    }
11784:                        break;
11785:                    case 5:
11786:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:9: unaryExpressionNotPlusMinus
11787:                    {
11788:                        pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3573);
11789:                        unaryExpressionNotPlusMinus();
11790:                        _fsp--;
11791:                        if (failed)
11792:                            return;
11793:
11794:                    }
11795:                        break;
11796:
11797:                    }
11798:                } catch (RecognitionException re) {
11799:                    reportError(re);
11800:                    recover(input, re);
11801:                } finally {
11802:                    if (backtracking > 0) {
11803:                        memoize(input, 115, unaryExpression_StartIndex);
11804:                    }
11805:                }
11806:                return;
11807:            }
11808:
11809:            // $ANTLR end unaryExpression
11810:
11811:            // $ANTLR start unaryExpressionNotPlusMinus
11812:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );
11813:            public final void unaryExpressionNotPlusMinus()
11814:                    throws RecognitionException {
11815:                int unaryExpressionNotPlusMinus_StartIndex = input.index();
11816:                try {
11817:                    if (backtracking > 0 && alreadyParsedRule(input, 116)) {
11818:                        return;
11819:                    }
11820:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:9: ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? )
11821:                    int alt147 = 4;
11822:                    switch (input.LA(1)) {
11823:                    case 110: {
11824:                        alt147 = 1;
11825:                    }
11826:                        break;
11827:                    case 111: {
11828:                        alt147 = 2;
11829:                    }
11830:                        break;
11831:                    case 65: {
11832:                        switch (input.LA(2)) {
11833:                        case 55:
11834:                        case 56:
11835:                        case 57:
11836:                        case 58:
11837:                        case 59:
11838:                        case 60:
11839:                        case 61:
11840:                        case 62: {
11841:                            int LA147_17 = input.LA(3);
11842:
11843:                            if ((synpred223())) {
11844:                                alt147 = 3;
11845:                            } else if ((true)) {
11846:                                alt147 = 4;
11847:                            } else {
11848:                                if (backtracking > 0) {
11849:                                    failed = true;
11850:                                    return;
11851:                                }
11852:                                NoViableAltException nvae = new NoViableAltException(
11853:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11854:                                        147, 17, input);
11855:
11856:                                throw nvae;
11857:                            }
11858:                        }
11859:                            break;
11860:                        case Identifier: {
11861:                            int LA147_18 = input.LA(3);
11862:
11863:                            if ((synpred223())) {
11864:                                alt147 = 3;
11865:                            } else if ((true)) {
11866:                                alt147 = 4;
11867:                            } else {
11868:                                if (backtracking > 0) {
11869:                                    failed = true;
11870:                                    return;
11871:                                }
11872:                                NoViableAltException nvae = new NoViableAltException(
11873:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11874:                                        147, 18, input);
11875:
11876:                                throw nvae;
11877:                            }
11878:                        }
11879:                            break;
11880:                        case 104: {
11881:                            int LA147_19 = input.LA(3);
11882:
11883:                            if ((synpred223())) {
11884:                                alt147 = 3;
11885:                            } else if ((true)) {
11886:                                alt147 = 4;
11887:                            } else {
11888:                                if (backtracking > 0) {
11889:                                    failed = true;
11890:                                    return;
11891:                                }
11892:                                NoViableAltException nvae = new NoViableAltException(
11893:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11894:                                        147, 19, input);
11895:
11896:                                throw nvae;
11897:                            }
11898:                        }
11899:                            break;
11900:                        case 105: {
11901:                            int LA147_20 = input.LA(3);
11902:
11903:                            if ((synpred223())) {
11904:                                alt147 = 3;
11905:                            } else if ((true)) {
11906:                                alt147 = 4;
11907:                            } else {
11908:                                if (backtracking > 0) {
11909:                                    failed = true;
11910:                                    return;
11911:                                }
11912:                                NoViableAltException nvae = new NoViableAltException(
11913:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11914:                                        147, 20, input);
11915:
11916:                                throw nvae;
11917:                            }
11918:                        }
11919:                            break;
11920:                        case 108: {
11921:                            int LA147_21 = input.LA(3);
11922:
11923:                            if ((synpred223())) {
11924:                                alt147 = 3;
11925:                            } else if ((true)) {
11926:                                alt147 = 4;
11927:                            } else {
11928:                                if (backtracking > 0) {
11929:                                    failed = true;
11930:                                    return;
11931:                                }
11932:                                NoViableAltException nvae = new NoViableAltException(
11933:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11934:                                        147, 21, input);
11935:
11936:                                throw nvae;
11937:                            }
11938:                        }
11939:                            break;
11940:                        case 109: {
11941:                            int LA147_22 = input.LA(3);
11942:
11943:                            if ((synpred223())) {
11944:                                alt147 = 3;
11945:                            } else if ((true)) {
11946:                                alt147 = 4;
11947:                            } else {
11948:                                if (backtracking > 0) {
11949:                                    failed = true;
11950:                                    return;
11951:                                }
11952:                                NoViableAltException nvae = new NoViableAltException(
11953:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11954:                                        147, 22, input);
11955:
11956:                                throw nvae;
11957:                            }
11958:                        }
11959:                            break;
11960:                        case 110: {
11961:                            int LA147_23 = input.LA(3);
11962:
11963:                            if ((synpred223())) {
11964:                                alt147 = 3;
11965:                            } else if ((true)) {
11966:                                alt147 = 4;
11967:                            } else {
11968:                                if (backtracking > 0) {
11969:                                    failed = true;
11970:                                    return;
11971:                                }
11972:                                NoViableAltException nvae = new NoViableAltException(
11973:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11974:                                        147, 23, input);
11975:
11976:                                throw nvae;
11977:                            }
11978:                        }
11979:                            break;
11980:                        case 111: {
11981:                            int LA147_24 = input.LA(3);
11982:
11983:                            if ((synpred223())) {
11984:                                alt147 = 3;
11985:                            } else if ((true)) {
11986:                                alt147 = 4;
11987:                            } else {
11988:                                if (backtracking > 0) {
11989:                                    failed = true;
11990:                                    return;
11991:                                }
11992:                                NoViableAltException nvae = new NoViableAltException(
11993:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
11994:                                        147, 24, input);
11995:
11996:                                throw nvae;
11997:                            }
11998:                        }
11999:                            break;
12000:                        case 65: {
12001:                            int LA147_25 = input.LA(3);
12002:
12003:                            if ((synpred223())) {
12004:                                alt147 = 3;
12005:                            } else if ((true)) {
12006:                                alt147 = 4;
12007:                            } else {
12008:                                if (backtracking > 0) {
12009:                                    failed = true;
12010:                                    return;
12011:                                }
12012:                                NoViableAltException nvae = new NoViableAltException(
12013:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12014:                                        147, 25, input);
12015:
12016:                                throw nvae;
12017:                            }
12018:                        }
12019:                            break;
12020:                        case 33: {
12021:                            int LA147_26 = input.LA(3);
12022:
12023:                            if ((synpred223())) {
12024:                                alt147 = 3;
12025:                            } else if ((true)) {
12026:                                alt147 = 4;
12027:                            } else {
12028:                                if (backtracking > 0) {
12029:                                    failed = true;
12030:                                    return;
12031:                                }
12032:                                NoViableAltException nvae = new NoViableAltException(
12033:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12034:                                        147, 26, input);
12035:
12036:                                throw nvae;
12037:                            }
12038:                        }
12039:                            break;
12040:                        case 112: {
12041:                            int LA147_27 = input.LA(3);
12042:
12043:                            if ((synpred223())) {
12044:                                alt147 = 3;
12045:                            } else if ((true)) {
12046:                                alt147 = 4;
12047:                            } else {
12048:                                if (backtracking > 0) {
12049:                                    failed = true;
12050:                                    return;
12051:                                }
12052:                                NoViableAltException nvae = new NoViableAltException(
12053:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12054:                                        147, 27, input);
12055:
12056:                                throw nvae;
12057:                            }
12058:                        }
12059:                            break;
12060:                        case 64: {
12061:                            int LA147_28 = input.LA(3);
12062:
12063:                            if ((synpred223())) {
12064:                                alt147 = 3;
12065:                            } else if ((true)) {
12066:                                alt147 = 4;
12067:                            } else {
12068:                                if (backtracking > 0) {
12069:                                    failed = true;
12070:                                    return;
12071:                                }
12072:                                NoViableAltException nvae = new NoViableAltException(
12073:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12074:                                        147, 28, input);
12075:
12076:                                throw nvae;
12077:                            }
12078:                        }
12079:                            break;
12080:                        case HexLiteral:
12081:                        case OctalLiteral:
12082:                        case DecimalLiteral: {
12083:                            int LA147_29 = input.LA(3);
12084:
12085:                            if ((synpred223())) {
12086:                                alt147 = 3;
12087:                            } else if ((true)) {
12088:                                alt147 = 4;
12089:                            } else {
12090:                                if (backtracking > 0) {
12091:                                    failed = true;
12092:                                    return;
12093:                                }
12094:                                NoViableAltException nvae = new NoViableAltException(
12095:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12096:                                        147, 29, input);
12097:
12098:                                throw nvae;
12099:                            }
12100:                        }
12101:                            break;
12102:                        case FloatingPointLiteral: {
12103:                            int LA147_30 = input.LA(3);
12104:
12105:                            if ((synpred223())) {
12106:                                alt147 = 3;
12107:                            } else if ((true)) {
12108:                                alt147 = 4;
12109:                            } else {
12110:                                if (backtracking > 0) {
12111:                                    failed = true;
12112:                                    return;
12113:                                }
12114:                                NoViableAltException nvae = new NoViableAltException(
12115:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12116:                                        147, 30, input);
12117:
12118:                                throw nvae;
12119:                            }
12120:                        }
12121:                            break;
12122:                        case CharacterLiteral: {
12123:                            int LA147_31 = input.LA(3);
12124:
12125:                            if ((synpred223())) {
12126:                                alt147 = 3;
12127:                            } else if ((true)) {
12128:                                alt147 = 4;
12129:                            } else {
12130:                                if (backtracking > 0) {
12131:                                    failed = true;
12132:                                    return;
12133:                                }
12134:                                NoViableAltException nvae = new NoViableAltException(
12135:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12136:                                        147, 31, input);
12137:
12138:                                throw nvae;
12139:                            }
12140:                        }
12141:                            break;
12142:                        case StringLiteral: {
12143:                            int LA147_32 = input.LA(3);
12144:
12145:                            if ((synpred223())) {
12146:                                alt147 = 3;
12147:                            } else if ((true)) {
12148:                                alt147 = 4;
12149:                            } else {
12150:                                if (backtracking > 0) {
12151:                                    failed = true;
12152:                                    return;
12153:                                }
12154:                                NoViableAltException nvae = new NoViableAltException(
12155:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12156:                                        147, 32, input);
12157:
12158:                                throw nvae;
12159:                            }
12160:                        }
12161:                            break;
12162:                        case 69:
12163:                        case 70: {
12164:                            int LA147_33 = input.LA(3);
12165:
12166:                            if ((synpred223())) {
12167:                                alt147 = 3;
12168:                            } else if ((true)) {
12169:                                alt147 = 4;
12170:                            } else {
12171:                                if (backtracking > 0) {
12172:                                    failed = true;
12173:                                    return;
12174:                                }
12175:                                NoViableAltException nvae = new NoViableAltException(
12176:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12177:                                        147, 33, input);
12178:
12179:                                throw nvae;
12180:                            }
12181:                        }
12182:                            break;
12183:                        case 68: {
12184:                            int LA147_34 = input.LA(3);
12185:
12186:                            if ((synpred223())) {
12187:                                alt147 = 3;
12188:                            } else if ((true)) {
12189:                                alt147 = 4;
12190:                            } else {
12191:                                if (backtracking > 0) {
12192:                                    failed = true;
12193:                                    return;
12194:                                }
12195:                                NoViableAltException nvae = new NoViableAltException(
12196:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12197:                                        147, 34, input);
12198:
12199:                                throw nvae;
12200:                            }
12201:                        }
12202:                            break;
12203:                        case 113: {
12204:                            int LA147_35 = input.LA(3);
12205:
12206:                            if ((synpred223())) {
12207:                                alt147 = 3;
12208:                            } else if ((true)) {
12209:                                alt147 = 4;
12210:                            } else {
12211:                                if (backtracking > 0) {
12212:                                    failed = true;
12213:                                    return;
12214:                                }
12215:                                NoViableAltException nvae = new NoViableAltException(
12216:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12217:                                        147, 35, input);
12218:
12219:                                throw nvae;
12220:                            }
12221:                        }
12222:                            break;
12223:                        case 40: {
12224:                            int LA147_36 = input.LA(3);
12225:
12226:                            if ((synpred223())) {
12227:                                alt147 = 3;
12228:                            } else if ((true)) {
12229:                                alt147 = 4;
12230:                            } else {
12231:                                if (backtracking > 0) {
12232:                                    failed = true;
12233:                                    return;
12234:                                }
12235:                                NoViableAltException nvae = new NoViableAltException(
12236:                                        "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12237:                                        147, 36, input);
12238:
12239:                                throw nvae;
12240:                            }
12241:                        }
12242:                            break;
12243:                        default:
12244:                            if (backtracking > 0) {
12245:                                failed = true;
12246:                                return;
12247:                            }
12248:                            NoViableAltException nvae = new NoViableAltException(
12249:                                    "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12250:                                    147, 3, input);
12251:
12252:                            throw nvae;
12253:                        }
12254:
12255:                    }
12256:                        break;
12257:                    case Identifier:
12258:                    case FloatingPointLiteral:
12259:                    case CharacterLiteral:
12260:                    case StringLiteral:
12261:                    case HexLiteral:
12262:                    case OctalLiteral:
12263:                    case DecimalLiteral:
12264:                    case 33:
12265:                    case 40:
12266:                    case 55:
12267:                    case 56:
12268:                    case 57:
12269:                    case 58:
12270:                    case 59:
12271:                    case 60:
12272:                    case 61:
12273:                    case 62:
12274:                    case 64:
12275:                    case 68:
12276:                    case 69:
12277:                    case 70:
12278:                    case 112:
12279:                    case 113: {
12280:                        alt147 = 4;
12281:                    }
12282:                        break;
12283:                    default:
12284:                        if (backtracking > 0) {
12285:                            failed = true;
12286:                            return;
12287:                        }
12288:                        NoViableAltException nvae = new NoViableAltException(
12289:                                "840:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );",
12290:                                147, 0, input);
12291:
12292:                        throw nvae;
12293:                    }
12294:
12295:                    switch (alt147) {
12296:                    case 1:
12297:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:9: '~' unaryExpression
12298:                    {
12299:                        match(input, 110,
12300:                                FOLLOW_110_in_unaryExpressionNotPlusMinus3592);
12301:                        if (failed)
12302:                            return;
12303:                        pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3594);
12304:                        unaryExpression();
12305:                        _fsp--;
12306:                        if (failed)
12307:                            return;
12308:
12309:                    }
12310:                        break;
12311:                    case 2:
12312:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:842:8: '!' unaryExpression
12313:                    {
12314:                        match(input, 111,
12315:                                FOLLOW_111_in_unaryExpressionNotPlusMinus3603);
12316:                        if (failed)
12317:                            return;
12318:                        pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3605);
12319:                        unaryExpression();
12320:                        _fsp--;
12321:                        if (failed)
12322:                            return;
12323:
12324:                    }
12325:                        break;
12326:                    case 3:
12327:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:843:9: castExpression
12328:                    {
12329:                        pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3615);
12330:                        castExpression();
12331:                        _fsp--;
12332:                        if (failed)
12333:                            return;
12334:
12335:                    }
12336:                        break;
12337:                    case 4:
12338:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:844:9: primary ( selector )* ( '++' | '--' )?
12339:                    {
12340:                        pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus3625);
12341:                        primary();
12342:                        _fsp--;
12343:                        if (failed)
12344:                            return;
12345:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:844:17: ( selector )*
12346:                        loop145: do {
12347:                            int alt145 = 2;
12348:                            int LA145_0 = input.LA(1);
12349:
12350:                            if ((LA145_0 == 28 || LA145_0 == 41)) {
12351:                                alt145 = 1;
12352:                            }
12353:
12354:                            switch (alt145) {
12355:                            case 1:
12356:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: selector
12357:                            {
12358:                                pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus3627);
12359:                                selector();
12360:                                _fsp--;
12361:                                if (failed)
12362:                                    return;
12363:
12364:                            }
12365:                                break;
12366:
12367:                            default:
12368:                                break loop145;
12369:                            }
12370:                        } while (true);
12371:
12372:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:844:27: ( '++' | '--' )?
12373:                        int alt146 = 2;
12374:                        int LA146_0 = input.LA(1);
12375:
12376:                        if (((LA146_0 >= 108 && LA146_0 <= 109))) {
12377:                            alt146 = 1;
12378:                        }
12379:                        switch (alt146) {
12380:                        case 1:
12381:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
12382:                        {
12383:                            if ((input.LA(1) >= 108 && input.LA(1) <= 109)) {
12384:                                input.consume();
12385:                                errorRecovery = false;
12386:                                failed = false;
12387:                            } else {
12388:                                if (backtracking > 0) {
12389:                                    failed = true;
12390:                                    return;
12391:                                }
12392:                                MismatchedSetException mse = new MismatchedSetException(
12393:                                        null, input);
12394:                                recoverFromMismatchedSet(input, mse,
12395:                                        FOLLOW_set_in_unaryExpressionNotPlusMinus3630);
12396:                                throw mse;
12397:                            }
12398:
12399:                        }
12400:                            break;
12401:
12402:                        }
12403:
12404:                    }
12405:                        break;
12406:
12407:                    }
12408:                } catch (RecognitionException re) {
12409:                    reportError(re);
12410:                    recover(input, re);
12411:                } finally {
12412:                    if (backtracking > 0) {
12413:                        memoize(input, 116,
12414:                                unaryExpressionNotPlusMinus_StartIndex);
12415:                    }
12416:                }
12417:                return;
12418:            }
12419:
12420:            // $ANTLR end unaryExpressionNotPlusMinus
12421:
12422:            // $ANTLR start castExpression
12423:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:847:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );
12424:            public final void castExpression() throws RecognitionException {
12425:                int castExpression_StartIndex = input.index();
12426:                try {
12427:                    if (backtracking > 0 && alreadyParsedRule(input, 117)) {
12428:                        return;
12429:                    }
12430:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:848:8: ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus )
12431:                    int alt149 = 2;
12432:                    int LA149_0 = input.LA(1);
12433:
12434:                    if ((LA149_0 == 65)) {
12435:                        int LA149_1 = input.LA(2);
12436:
12437:                        if (((LA149_1 >= 55 && LA149_1 <= 62))) {
12438:                            int LA149_2 = input.LA(3);
12439:
12440:                            if ((synpred227())) {
12441:                                alt149 = 1;
12442:                            } else if ((true)) {
12443:                                alt149 = 2;
12444:                            } else {
12445:                                if (backtracking > 0) {
12446:                                    failed = true;
12447:                                    return;
12448:                                }
12449:                                NoViableAltException nvae = new NoViableAltException(
12450:                                        "847:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );",
12451:                                        149, 2, input);
12452:
12453:                                throw nvae;
12454:                            }
12455:                        } else if ((LA149_1 == Identifier
12456:                                || (LA149_1 >= FloatingPointLiteral && LA149_1 <= DecimalLiteral)
12457:                                || LA149_1 == 33 || LA149_1 == 40
12458:                                || (LA149_1 >= 64 && LA149_1 <= 65)
12459:                                || (LA149_1 >= 68 && LA149_1 <= 70)
12460:                                || (LA149_1 >= 104 && LA149_1 <= 105) || (LA149_1 >= 108 && LA149_1 <= 113))) {
12461:                            alt149 = 2;
12462:                        } else {
12463:                            if (backtracking > 0) {
12464:                                failed = true;
12465:                                return;
12466:                            }
12467:                            NoViableAltException nvae = new NoViableAltException(
12468:                                    "847:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );",
12469:                                    149, 1, input);
12470:
12471:                            throw nvae;
12472:                        }
12473:                    } else {
12474:                        if (backtracking > 0) {
12475:                            failed = true;
12476:                            return;
12477:                        }
12478:                        NoViableAltException nvae = new NoViableAltException(
12479:                                "847:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );",
12480:                                149, 0, input);
12481:
12482:                        throw nvae;
12483:                    }
12484:                    switch (alt149) {
12485:                    case 1:
12486:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:848:8: '(' primitiveType ')' unaryExpression
12487:                    {
12488:                        match(input, 65, FOLLOW_65_in_castExpression3653);
12489:                        if (failed)
12490:                            return;
12491:                        pushFollow(FOLLOW_primitiveType_in_castExpression3655);
12492:                        primitiveType();
12493:                        _fsp--;
12494:                        if (failed)
12495:                            return;
12496:                        match(input, 66, FOLLOW_66_in_castExpression3657);
12497:                        if (failed)
12498:                            return;
12499:                        pushFollow(FOLLOW_unaryExpression_in_castExpression3659);
12500:                        unaryExpression();
12501:                        _fsp--;
12502:                        if (failed)
12503:                            return;
12504:
12505:                    }
12506:                        break;
12507:                    case 2:
12508:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:8: '(' ( type | expression ) ')' unaryExpressionNotPlusMinus
12509:                    {
12510:                        match(input, 65, FOLLOW_65_in_castExpression3668);
12511:                        if (failed)
12512:                            return;
12513:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:12: ( type | expression )
12514:                        int alt148 = 2;
12515:                        switch (input.LA(1)) {
12516:                        case Identifier: {
12517:                            int LA148_1 = input.LA(2);
12518:
12519:                            if ((synpred228())) {
12520:                                alt148 = 1;
12521:                            } else if ((true)) {
12522:                                alt148 = 2;
12523:                            } else {
12524:                                if (backtracking > 0) {
12525:                                    failed = true;
12526:                                    return;
12527:                                }
12528:                                NoViableAltException nvae = new NoViableAltException(
12529:                                        "849:12: ( type | expression )", 148,
12530:                                        1, input);
12531:
12532:                                throw nvae;
12533:                            }
12534:                        }
12535:                            break;
12536:                        case 55:
12537:                        case 56:
12538:                        case 57:
12539:                        case 58:
12540:                        case 59:
12541:                        case 60:
12542:                        case 61:
12543:                        case 62: {
12544:                            switch (input.LA(2)) {
12545:                            case 41: {
12546:                                int LA148_48 = input.LA(3);
12547:
12548:                                if ((synpred228())) {
12549:                                    alt148 = 1;
12550:                                } else if ((true)) {
12551:                                    alt148 = 2;
12552:                                } else {
12553:                                    if (backtracking > 0) {
12554:                                        failed = true;
12555:                                        return;
12556:                                    }
12557:                                    NoViableAltException nvae = new NoViableAltException(
12558:                                            "849:12: ( type | expression )",
12559:                                            148, 48, input);
12560:
12561:                                    throw nvae;
12562:                                }
12563:                            }
12564:                                break;
12565:                            case 28: {
12566:                                alt148 = 2;
12567:                            }
12568:                                break;
12569:                            case 66: {
12570:                                alt148 = 1;
12571:                            }
12572:                                break;
12573:                            default:
12574:                                if (backtracking > 0) {
12575:                                    failed = true;
12576:                                    return;
12577:                                }
12578:                                NoViableAltException nvae = new NoViableAltException(
12579:                                        "849:12: ( type | expression )", 148,
12580:                                        2, input);
12581:
12582:                                throw nvae;
12583:                            }
12584:
12585:                        }
12586:                            break;
12587:                        case FloatingPointLiteral:
12588:                        case CharacterLiteral:
12589:                        case StringLiteral:
12590:                        case HexLiteral:
12591:                        case OctalLiteral:
12592:                        case DecimalLiteral:
12593:                        case 33:
12594:                        case 40:
12595:                        case 64:
12596:                        case 65:
12597:                        case 68:
12598:                        case 69:
12599:                        case 70:
12600:                        case 104:
12601:                        case 105:
12602:                        case 108:
12603:                        case 109:
12604:                        case 110:
12605:                        case 111:
12606:                        case 112:
12607:                        case 113: {
12608:                            alt148 = 2;
12609:                        }
12610:                            break;
12611:                        default:
12612:                            if (backtracking > 0) {
12613:                                failed = true;
12614:                                return;
12615:                            }
12616:                            NoViableAltException nvae = new NoViableAltException(
12617:                                    "849:12: ( type | expression )", 148, 0,
12618:                                    input);
12619:
12620:                            throw nvae;
12621:                        }
12622:
12623:                        switch (alt148) {
12624:                        case 1:
12625:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:13: type
12626:                        {
12627:                            pushFollow(FOLLOW_type_in_castExpression3671);
12628:                            type();
12629:                            _fsp--;
12630:                            if (failed)
12631:                                return;
12632:
12633:                        }
12634:                            break;
12635:                        case 2:
12636:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:20: expression
12637:                        {
12638:                            pushFollow(FOLLOW_expression_in_castExpression3675);
12639:                            expression();
12640:                            _fsp--;
12641:                            if (failed)
12642:                                return;
12643:
12644:                        }
12645:                            break;
12646:
12647:                        }
12648:
12649:                        match(input, 66, FOLLOW_66_in_castExpression3678);
12650:                        if (failed)
12651:                            return;
12652:                        pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3680);
12653:                        unaryExpressionNotPlusMinus();
12654:                        _fsp--;
12655:                        if (failed)
12656:                            return;
12657:
12658:                    }
12659:                        break;
12660:
12661:                    }
12662:                } catch (RecognitionException re) {
12663:                    reportError(re);
12664:                    recover(input, re);
12665:                } finally {
12666:                    if (backtracking > 0) {
12667:                        memoize(input, 117, castExpression_StartIndex);
12668:                    }
12669:                }
12670:                return;
12671:            }
12672:
12673:            // $ANTLR end castExpression
12674:
12675:            // $ANTLR start primary
12676:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:852:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );
12677:            public final void primary() throws RecognitionException {
12678:                int primary_StartIndex = input.index();
12679:                Token i = null;
12680:
12681:                try {
12682:                    if (backtracking > 0 && alreadyParsedRule(input, 118)) {
12683:                        return;
12684:                    }
12685:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:853:7: ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' )
12686:                    int alt156 = 9;
12687:                    switch (input.LA(1)) {
12688:                    case 65: {
12689:                        alt156 = 1;
12690:                    }
12691:                        break;
12692:                    case 33: {
12693:                        alt156 = 2;
12694:                    }
12695:                        break;
12696:                    case 112: {
12697:                        alt156 = 3;
12698:                    }
12699:                        break;
12700:                    case 64: {
12701:                        alt156 = 4;
12702:                    }
12703:                        break;
12704:                    case FloatingPointLiteral:
12705:                    case CharacterLiteral:
12706:                    case StringLiteral:
12707:                    case HexLiteral:
12708:                    case OctalLiteral:
12709:                    case DecimalLiteral:
12710:                    case 68:
12711:                    case 69:
12712:                    case 70: {
12713:                        alt156 = 5;
12714:                    }
12715:                        break;
12716:                    case 113: {
12717:                        alt156 = 6;
12718:                    }
12719:                        break;
12720:                    case Identifier: {
12721:                        alt156 = 7;
12722:                    }
12723:                        break;
12724:                    case 55:
12725:                    case 56:
12726:                    case 57:
12727:                    case 58:
12728:                    case 59:
12729:                    case 60:
12730:                    case 61:
12731:                    case 62: {
12732:                        alt156 = 8;
12733:                    }
12734:                        break;
12735:                    case 40: {
12736:                        alt156 = 9;
12737:                    }
12738:                        break;
12739:                    default:
12740:                        if (backtracking > 0) {
12741:                            failed = true;
12742:                            return;
12743:                        }
12744:                        NoViableAltException nvae = new NoViableAltException(
12745:                                "852:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );",
12746:                                156, 0, input);
12747:
12748:                        throw nvae;
12749:                    }
12750:
12751:                    switch (alt156) {
12752:                    case 1:
12753:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:853:7: parExpression
12754:                    {
12755:                        pushFollow(FOLLOW_parExpression_in_primary3697);
12756:                        parExpression();
12757:                        _fsp--;
12758:                        if (failed)
12759:                            return;
12760:
12761:                    }
12762:                        break;
12763:                    case 2:
12764:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:854:9: nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments )
12765:                    {
12766:                        pushFollow(FOLLOW_nonWildcardTypeArguments_in_primary3707);
12767:                        nonWildcardTypeArguments();
12768:                        _fsp--;
12769:                        if (failed)
12770:                            return;
12771:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:9: ( explicitGenericInvocationSuffix | 'this' arguments )
12772:                        int alt150 = 2;
12773:                        int LA150_0 = input.LA(1);
12774:
12775:                        if ((LA150_0 == Identifier || LA150_0 == 64)) {
12776:                            alt150 = 1;
12777:                        } else if ((LA150_0 == 112)) {
12778:                            alt150 = 2;
12779:                        } else {
12780:                            if (backtracking > 0) {
12781:                                failed = true;
12782:                                return;
12783:                            }
12784:                            NoViableAltException nvae = new NoViableAltException(
12785:                                    "855:9: ( explicitGenericInvocationSuffix | 'this' arguments )",
12786:                                    150, 0, input);
12787:
12788:                            throw nvae;
12789:                        }
12790:                        switch (alt150) {
12791:                        case 1:
12792:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:10: explicitGenericInvocationSuffix
12793:                        {
12794:                            pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_primary3718);
12795:                            explicitGenericInvocationSuffix();
12796:                            _fsp--;
12797:                            if (failed)
12798:                                return;
12799:
12800:                        }
12801:                            break;
12802:                        case 2:
12803:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:44: 'this' arguments
12804:                        {
12805:                            match(input, 112, FOLLOW_112_in_primary3722);
12806:                            if (failed)
12807:                                return;
12808:                            pushFollow(FOLLOW_arguments_in_primary3724);
12809:                            arguments();
12810:                            _fsp--;
12811:                            if (failed)
12812:                                return;
12813:
12814:                        }
12815:                            break;
12816:
12817:                        }
12818:
12819:                    }
12820:                        break;
12821:                    case 3:
12822:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:9: 'this' ( '.' Identifier )* ( identifierSuffix )?
12823:                    {
12824:                        match(input, 112, FOLLOW_112_in_primary3735);
12825:                        if (failed)
12826:                            return;
12827:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:16: ( '.' Identifier )*
12828:                        loop151: do {
12829:                            int alt151 = 2;
12830:                            int LA151_0 = input.LA(1);
12831:
12832:                            if ((LA151_0 == 28)) {
12833:                                int LA151_3 = input.LA(2);
12834:
12835:                                if ((LA151_3 == Identifier)) {
12836:                                    int LA151_35 = input.LA(3);
12837:
12838:                                    if ((synpred232())) {
12839:                                        alt151 = 1;
12840:                                    }
12841:
12842:                                }
12843:
12844:                            }
12845:
12846:                            switch (alt151) {
12847:                            case 1:
12848:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:17: '.' Identifier
12849:                            {
12850:                                match(input, 28, FOLLOW_28_in_primary3738);
12851:                                if (failed)
12852:                                    return;
12853:                                match(input, Identifier,
12854:                                        FOLLOW_Identifier_in_primary3740);
12855:                                if (failed)
12856:                                    return;
12857:
12858:                            }
12859:                                break;
12860:
12861:                            default:
12862:                                break loop151;
12863:                            }
12864:                        } while (true);
12865:
12866:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:34: ( identifierSuffix )?
12867:                        int alt152 = 2;
12868:                        switch (input.LA(1)) {
12869:                        case 41: {
12870:                            switch (input.LA(2)) {
12871:                            case 42: {
12872:                                alt152 = 1;
12873:                            }
12874:                                break;
12875:                            case 104: {
12876:                                int LA152_34 = input.LA(3);
12877:
12878:                                if ((synpred233())) {
12879:                                    alt152 = 1;
12880:                                }
12881:                            }
12882:                                break;
12883:                            case 105: {
12884:                                int LA152_35 = input.LA(3);
12885:
12886:                                if ((synpred233())) {
12887:                                    alt152 = 1;
12888:                                }
12889:                            }
12890:                                break;
12891:                            case 108: {
12892:                                int LA152_36 = input.LA(3);
12893:
12894:                                if ((synpred233())) {
12895:                                    alt152 = 1;
12896:                                }
12897:                            }
12898:                                break;
12899:                            case 109: {
12900:                                int LA152_37 = input.LA(3);
12901:
12902:                                if ((synpred233())) {
12903:                                    alt152 = 1;
12904:                                }
12905:                            }
12906:                                break;
12907:                            case 110: {
12908:                                int LA152_38 = input.LA(3);
12909:
12910:                                if ((synpred233())) {
12911:                                    alt152 = 1;
12912:                                }
12913:                            }
12914:                                break;
12915:                            case 111: {
12916:                                int LA152_39 = input.LA(3);
12917:
12918:                                if ((synpred233())) {
12919:                                    alt152 = 1;
12920:                                }
12921:                            }
12922:                                break;
12923:                            case 65: {
12924:                                int LA152_40 = input.LA(3);
12925:
12926:                                if ((synpred233())) {
12927:                                    alt152 = 1;
12928:                                }
12929:                            }
12930:                                break;
12931:                            case 33: {
12932:                                int LA152_41 = input.LA(3);
12933:
12934:                                if ((synpred233())) {
12935:                                    alt152 = 1;
12936:                                }
12937:                            }
12938:                                break;
12939:                            case 112: {
12940:                                int LA152_42 = input.LA(3);
12941:
12942:                                if ((synpred233())) {
12943:                                    alt152 = 1;
12944:                                }
12945:                            }
12946:                                break;
12947:                            case 64: {
12948:                                int LA152_43 = input.LA(3);
12949:
12950:                                if ((synpred233())) {
12951:                                    alt152 = 1;
12952:                                }
12953:                            }
12954:                                break;
12955:                            case HexLiteral:
12956:                            case OctalLiteral:
12957:                            case DecimalLiteral: {
12958:                                int LA152_44 = input.LA(3);
12959:
12960:                                if ((synpred233())) {
12961:                                    alt152 = 1;
12962:                                }
12963:                            }
12964:                                break;
12965:                            case FloatingPointLiteral: {
12966:                                int LA152_45 = input.LA(3);
12967:
12968:                                if ((synpred233())) {
12969:                                    alt152 = 1;
12970:                                }
12971:                            }
12972:                                break;
12973:                            case CharacterLiteral: {
12974:                                int LA152_46 = input.LA(3);
12975:
12976:                                if ((synpred233())) {
12977:                                    alt152 = 1;
12978:                                }
12979:                            }
12980:                                break;
12981:                            case StringLiteral: {
12982:                                int LA152_47 = input.LA(3);
12983:
12984:                                if ((synpred233())) {
12985:                                    alt152 = 1;
12986:                                }
12987:                            }
12988:                                break;
12989:                            case 69:
12990:                            case 70: {
12991:                                int LA152_48 = input.LA(3);
12992:
12993:                                if ((synpred233())) {
12994:                                    alt152 = 1;
12995:                                }
12996:                            }
12997:                                break;
12998:                            case 68: {
12999:                                int LA152_49 = input.LA(3);
13000:
13001:                                if ((synpred233())) {
13002:                                    alt152 = 1;
13003:                                }
13004:                            }
13005:                                break;
13006:                            case 113: {
13007:                                int LA152_50 = input.LA(3);
13008:
13009:                                if ((synpred233())) {
13010:                                    alt152 = 1;
13011:                                }
13012:                            }
13013:                                break;
13014:                            case Identifier: {
13015:                                int LA152_51 = input.LA(3);
13016:
13017:                                if ((synpred233())) {
13018:                                    alt152 = 1;
13019:                                }
13020:                            }
13021:                                break;
13022:                            case 55:
13023:                            case 56:
13024:                            case 57:
13025:                            case 58:
13026:                            case 59:
13027:                            case 60:
13028:                            case 61:
13029:                            case 62: {
13030:                                int LA152_52 = input.LA(3);
13031:
13032:                                if ((synpred233())) {
13033:                                    alt152 = 1;
13034:                                }
13035:                            }
13036:                                break;
13037:                            case 40: {
13038:                                int LA152_53 = input.LA(3);
13039:
13040:                                if ((synpred233())) {
13041:                                    alt152 = 1;
13042:                                }
13043:                            }
13044:                                break;
13045:                            }
13046:
13047:                        }
13048:                            break;
13049:                        case 65: {
13050:                            alt152 = 1;
13051:                        }
13052:                            break;
13053:                        case 28: {
13054:                            switch (input.LA(2)) {
13055:                            case 112: {
13056:                                int LA152_54 = input.LA(3);
13057:
13058:                                if ((synpred233())) {
13059:                                    alt152 = 1;
13060:                                }
13061:                            }
13062:                                break;
13063:                            case 30:
13064:                            case 33: {
13065:                                alt152 = 1;
13066:                            }
13067:                                break;
13068:                            case 64: {
13069:                                int LA152_56 = input.LA(3);
13070:
13071:                                if ((synpred233())) {
13072:                                    alt152 = 1;
13073:                                }
13074:                            }
13075:                                break;
13076:                            case 113: {
13077:                                int LA152_57 = input.LA(3);
13078:
13079:                                if ((synpred233())) {
13080:                                    alt152 = 1;
13081:                                }
13082:                            }
13083:                                break;
13084:                            }
13085:
13086:                        }
13087:                            break;
13088:                        }
13089:
13090:                        switch (alt152) {
13091:                        case 1:
13092:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:35: identifierSuffix
13093:                        {
13094:                            pushFollow(FOLLOW_identifierSuffix_in_primary3745);
13095:                            identifierSuffix();
13096:                            _fsp--;
13097:                            if (failed)
13098:                                return;
13099:
13100:                        }
13101:                            break;
13102:
13103:                        }
13104:
13105:                    }
13106:                        break;
13107:                    case 4:
13108:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:857:9: 'super' superSuffix
13109:                    {
13110:                        match(input, 64, FOLLOW_64_in_primary3757);
13111:                        if (failed)
13112:                            return;
13113:                        pushFollow(FOLLOW_super Suffix_in_primary3759);
13114:                        super Suffix();
13115:                        _fsp--;
13116:                        if (failed)
13117:                            return;
13118:
13119:                    }
13120:                        break;
13121:                    case 5:
13122:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:9: literal
13123:                    {
13124:                        pushFollow(FOLLOW_literal_in_primary3769);
13125:                        literal();
13126:                        _fsp--;
13127:                        if (failed)
13128:                            return;
13129:
13130:                    }
13131:                        break;
13132:                    case 6:
13133:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:859:9: 'new' creator
13134:                    {
13135:                        match(input, 113, FOLLOW_113_in_primary3779);
13136:                        if (failed)
13137:                            return;
13138:                        pushFollow(FOLLOW_creator_in_primary3781);
13139:                        creator();
13140:                        _fsp--;
13141:                        if (failed)
13142:                            return;
13143:
13144:                    }
13145:                        break;
13146:                    case 7:
13147:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:9: i= Identifier ( '.' Identifier )* ( identifierSuffix )?
13148:                    {
13149:                        i = (Token) input.LT(1);
13150:                        match(input, Identifier,
13151:                                FOLLOW_Identifier_in_primary3793);
13152:                        if (failed)
13153:                            return;
13154:                        if (backtracking == 0) {
13155:                            if (!"(".equals(input.LT(1) == null ? "" : input
13156:                                    .LT(1).getText()))
13157:                                identifiers.add(i.getText());
13158:                        }
13159:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:126: ( '.' Identifier )*
13160:                        loop153: do {
13161:                            int alt153 = 2;
13162:                            int LA153_0 = input.LA(1);
13163:
13164:                            if ((LA153_0 == 28)) {
13165:                                int LA153_3 = input.LA(2);
13166:
13167:                                if ((LA153_3 == Identifier)) {
13168:                                    int LA153_36 = input.LA(3);
13169:
13170:                                    if ((synpred238())) {
13171:                                        alt153 = 1;
13172:                                    }
13173:
13174:                                }
13175:
13176:                            }
13177:
13178:                            switch (alt153) {
13179:                            case 1:
13180:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:127: '.' Identifier
13181:                            {
13182:                                match(input, 28, FOLLOW_28_in_primary3798);
13183:                                if (failed)
13184:                                    return;
13185:                                match(input, Identifier,
13186:                                        FOLLOW_Identifier_in_primary3800);
13187:                                if (failed)
13188:                                    return;
13189:
13190:                            }
13191:                                break;
13192:
13193:                            default:
13194:                                break loop153;
13195:                            }
13196:                        } while (true);
13197:
13198:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:144: ( identifierSuffix )?
13199:                        int alt154 = 2;
13200:                        switch (input.LA(1)) {
13201:                        case 41: {
13202:                            switch (input.LA(2)) {
13203:                            case 42: {
13204:                                alt154 = 1;
13205:                            }
13206:                                break;
13207:                            case 104: {
13208:                                int LA154_34 = input.LA(3);
13209:
13210:                                if ((synpred239())) {
13211:                                    alt154 = 1;
13212:                                }
13213:                            }
13214:                                break;
13215:                            case 105: {
13216:                                int LA154_35 = input.LA(3);
13217:
13218:                                if ((synpred239())) {
13219:                                    alt154 = 1;
13220:                                }
13221:                            }
13222:                                break;
13223:                            case 108: {
13224:                                int LA154_36 = input.LA(3);
13225:
13226:                                if ((synpred239())) {
13227:                                    alt154 = 1;
13228:                                }
13229:                            }
13230:                                break;
13231:                            case 109: {
13232:                                int LA154_37 = input.LA(3);
13233:
13234:                                if ((synpred239())) {
13235:                                    alt154 = 1;
13236:                                }
13237:                            }
13238:                                break;
13239:                            case 110: {
13240:                                int LA154_38 = input.LA(3);
13241:
13242:                                if ((synpred239())) {
13243:                                    alt154 = 1;
13244:                                }
13245:                            }
13246:                                break;
13247:                            case 111: {
13248:                                int LA154_39 = input.LA(3);
13249:
13250:                                if ((synpred239())) {
13251:                                    alt154 = 1;
13252:                                }
13253:                            }
13254:                                break;
13255:                            case 65: {
13256:                                int LA154_40 = input.LA(3);
13257:
13258:                                if ((synpred239())) {
13259:                                    alt154 = 1;
13260:                                }
13261:                            }
13262:                                break;
13263:                            case 33: {
13264:                                int LA154_41 = input.LA(3);
13265:
13266:                                if ((synpred239())) {
13267:                                    alt154 = 1;
13268:                                }
13269:                            }
13270:                                break;
13271:                            case 112: {
13272:                                int LA154_42 = input.LA(3);
13273:
13274:                                if ((synpred239())) {
13275:                                    alt154 = 1;
13276:                                }
13277:                            }
13278:                                break;
13279:                            case 64: {
13280:                                int LA154_43 = input.LA(3);
13281:
13282:                                if ((synpred239())) {
13283:                                    alt154 = 1;
13284:                                }
13285:                            }
13286:                                break;
13287:                            case HexLiteral:
13288:                            case OctalLiteral:
13289:                            case DecimalLiteral: {
13290:                                int LA154_44 = input.LA(3);
13291:
13292:                                if ((synpred239())) {
13293:                                    alt154 = 1;
13294:                                }
13295:                            }
13296:                                break;
13297:                            case FloatingPointLiteral: {
13298:                                int LA154_45 = input.LA(3);
13299:
13300:                                if ((synpred239())) {
13301:                                    alt154 = 1;
13302:                                }
13303:                            }
13304:                                break;
13305:                            case CharacterLiteral: {
13306:                                int LA154_46 = input.LA(3);
13307:
13308:                                if ((synpred239())) {
13309:                                    alt154 = 1;
13310:                                }
13311:                            }
13312:                                break;
13313:                            case StringLiteral: {
13314:                                int LA154_47 = input.LA(3);
13315:
13316:                                if ((synpred239())) {
13317:                                    alt154 = 1;
13318:                                }
13319:                            }
13320:                                break;
13321:                            case 69:
13322:                            case 70: {
13323:                                int LA154_48 = input.LA(3);
13324:
13325:                                if ((synpred239())) {
13326:                                    alt154 = 1;
13327:                                }
13328:                            }
13329:                                break;
13330:                            case 68: {
13331:                                int LA154_49 = input.LA(3);
13332:
13333:                                if ((synpred239())) {
13334:                                    alt154 = 1;
13335:                                }
13336:                            }
13337:                                break;
13338:                            case 113: {
13339:                                int LA154_50 = input.LA(3);
13340:
13341:                                if ((synpred239())) {
13342:                                    alt154 = 1;
13343:                                }
13344:                            }
13345:                                break;
13346:                            case Identifier: {
13347:                                int LA154_51 = input.LA(3);
13348:
13349:                                if ((synpred239())) {
13350:                                    alt154 = 1;
13351:                                }
13352:                            }
13353:                                break;
13354:                            case 55:
13355:                            case 56:
13356:                            case 57:
13357:                            case 58:
13358:                            case 59:
13359:                            case 60:
13360:                            case 61:
13361:                            case 62: {
13362:                                int LA154_52 = input.LA(3);
13363:
13364:                                if ((synpred239())) {
13365:                                    alt154 = 1;
13366:                                }
13367:                            }
13368:                                break;
13369:                            case 40: {
13370:                                int LA154_53 = input.LA(3);
13371:
13372:                                if ((synpred239())) {
13373:                                    alt154 = 1;
13374:                                }
13375:                            }
13376:                                break;
13377:                            }
13378:
13379:                        }
13380:                            break;
13381:                        case 65: {
13382:                            alt154 = 1;
13383:                        }
13384:                            break;
13385:                        case 28: {
13386:                            switch (input.LA(2)) {
13387:                            case 64: {
13388:                                int LA154_54 = input.LA(3);
13389:
13390:                                if ((synpred239())) {
13391:                                    alt154 = 1;
13392:                                }
13393:                            }
13394:                                break;
13395:                            case 113: {
13396:                                int LA154_55 = input.LA(3);
13397:
13398:                                if ((synpred239())) {
13399:                                    alt154 = 1;
13400:                                }
13401:                            }
13402:                                break;
13403:                            case 112: {
13404:                                int LA154_56 = input.LA(3);
13405:
13406:                                if ((synpred239())) {
13407:                                    alt154 = 1;
13408:                                }
13409:                            }
13410:                                break;
13411:                            case 30:
13412:                            case 33: {
13413:                                alt154 = 1;
13414:                            }
13415:                                break;
13416:                            }
13417:
13418:                        }
13419:                            break;
13420:                        }
13421:
13422:                        switch (alt154) {
13423:                        case 1:
13424:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:145: identifierSuffix
13425:                        {
13426:                            pushFollow(FOLLOW_identifierSuffix_in_primary3805);
13427:                            identifierSuffix();
13428:                            _fsp--;
13429:                            if (failed)
13430:                                return;
13431:
13432:                        }
13433:                            break;
13434:
13435:                        }
13436:
13437:                    }
13438:                        break;
13439:                    case 8:
13440:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:861:9: primitiveType ( '[' ']' )* '.' 'class'
13441:                    {
13442:                        pushFollow(FOLLOW_primitiveType_in_primary3817);
13443:                        primitiveType();
13444:                        _fsp--;
13445:                        if (failed)
13446:                            return;
13447:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:861:23: ( '[' ']' )*
13448:                        loop155: do {
13449:                            int alt155 = 2;
13450:                            int LA155_0 = input.LA(1);
13451:
13452:                            if ((LA155_0 == 41)) {
13453:                                alt155 = 1;
13454:                            }
13455:
13456:                            switch (alt155) {
13457:                            case 1:
13458:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:861:24: '[' ']'
13459:                            {
13460:                                match(input, 41, FOLLOW_41_in_primary3820);
13461:                                if (failed)
13462:                                    return;
13463:                                match(input, 42, FOLLOW_42_in_primary3822);
13464:                                if (failed)
13465:                                    return;
13466:
13467:                            }
13468:                                break;
13469:
13470:                            default:
13471:                                break loop155;
13472:                            }
13473:                        } while (true);
13474:
13475:                        match(input, 28, FOLLOW_28_in_primary3826);
13476:                        if (failed)
13477:                            return;
13478:                        match(input, 30, FOLLOW_30_in_primary3828);
13479:                        if (failed)
13480:                            return;
13481:
13482:                    }
13483:                        break;
13484:                    case 9:
13485:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:9: 'void' '.' 'class'
13486:                    {
13487:                        match(input, 40, FOLLOW_40_in_primary3838);
13488:                        if (failed)
13489:                            return;
13490:                        match(input, 28, FOLLOW_28_in_primary3840);
13491:                        if (failed)
13492:                            return;
13493:                        match(input, 30, FOLLOW_30_in_primary3842);
13494:                        if (failed)
13495:                            return;
13496:
13497:                    }
13498:                        break;
13499:
13500:                    }
13501:                } catch (RecognitionException re) {
13502:                    reportError(re);
13503:                    recover(input, re);
13504:                } finally {
13505:                    if (backtracking > 0) {
13506:                        memoize(input, 118, primary_StartIndex);
13507:                    }
13508:                }
13509:                return;
13510:            }
13511:
13512:            // $ANTLR end primary
13513:
13514:            // $ANTLR start identifierSuffix
13515:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:865:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );
13516:            public final void identifierSuffix() throws RecognitionException {
13517:                int identifierSuffix_StartIndex = input.index();
13518:                try {
13519:                    if (backtracking > 0 && alreadyParsedRule(input, 119)) {
13520:                        return;
13521:                    }
13522:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:866:4: ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator )
13523:                    int alt160 = 8;
13524:                    switch (input.LA(1)) {
13525:                    case 41: {
13526:                        int LA160_1 = input.LA(2);
13527:
13528:                        if ((LA160_1 == 42)) {
13529:                            alt160 = 1;
13530:                        } else if ((LA160_1 == Identifier
13531:                                || (LA160_1 >= FloatingPointLiteral && LA160_1 <= DecimalLiteral)
13532:                                || LA160_1 == 33 || LA160_1 == 40
13533:                                || (LA160_1 >= 55 && LA160_1 <= 62)
13534:                                || (LA160_1 >= 64 && LA160_1 <= 65)
13535:                                || (LA160_1 >= 68 && LA160_1 <= 70)
13536:                                || (LA160_1 >= 104 && LA160_1 <= 105) || (LA160_1 >= 108 && LA160_1 <= 113))) {
13537:                            alt160 = 2;
13538:                        } else {
13539:                            if (backtracking > 0) {
13540:                                failed = true;
13541:                                return;
13542:                            }
13543:                            NoViableAltException nvae = new NoViableAltException(
13544:                                    "865:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );",
13545:                                    160, 1, input);
13546:
13547:                            throw nvae;
13548:                        }
13549:                    }
13550:                        break;
13551:                    case 65: {
13552:                        alt160 = 3;
13553:                    }
13554:                        break;
13555:                    case 28: {
13556:                        switch (input.LA(2)) {
13557:                        case 113: {
13558:                            alt160 = 8;
13559:                        }
13560:                            break;
13561:                        case 64: {
13562:                            alt160 = 7;
13563:                        }
13564:                            break;
13565:                        case 30: {
13566:                            alt160 = 4;
13567:                        }
13568:                            break;
13569:                        case 112: {
13570:                            alt160 = 6;
13571:                        }
13572:                            break;
13573:                        case 33: {
13574:                            alt160 = 5;
13575:                        }
13576:                            break;
13577:                        default:
13578:                            if (backtracking > 0) {
13579:                                failed = true;
13580:                                return;
13581:                            }
13582:                            NoViableAltException nvae = new NoViableAltException(
13583:                                    "865:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );",
13584:                                    160, 3, input);
13585:
13586:                            throw nvae;
13587:                        }
13588:
13589:                    }
13590:                        break;
13591:                    default:
13592:                        if (backtracking > 0) {
13593:                            failed = true;
13594:                            return;
13595:                        }
13596:                        NoViableAltException nvae = new NoViableAltException(
13597:                                "865:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );",
13598:                                160, 0, input);
13599:
13600:                        throw nvae;
13601:                    }
13602:
13603:                    switch (alt160) {
13604:                    case 1:
13605:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:866:4: ( '[' ']' )+ '.' 'class'
13606:                    {
13607:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:866:4: ( '[' ']' )+
13608:                        int cnt157 = 0;
13609:                        loop157: do {
13610:                            int alt157 = 2;
13611:                            int LA157_0 = input.LA(1);
13612:
13613:                            if ((LA157_0 == 41)) {
13614:                                alt157 = 1;
13615:                            }
13616:
13617:                            switch (alt157) {
13618:                            case 1:
13619:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:866:5: '[' ']'
13620:                            {
13621:                                match(input, 41,
13622:                                        FOLLOW_41_in_identifierSuffix3854);
13623:                                if (failed)
13624:                                    return;
13625:                                match(input, 42,
13626:                                        FOLLOW_42_in_identifierSuffix3856);
13627:                                if (failed)
13628:                                    return;
13629:
13630:                            }
13631:                                break;
13632:
13633:                            default:
13634:                                if (cnt157 >= 1)
13635:                                    break loop157;
13636:                                if (backtracking > 0) {
13637:                                    failed = true;
13638:                                    return;
13639:                                }
13640:                                EarlyExitException eee = new EarlyExitException(
13641:                                        157, input);
13642:                                throw eee;
13643:                            }
13644:                            cnt157++;
13645:                        } while (true);
13646:
13647:                        match(input, 28, FOLLOW_28_in_identifierSuffix3860);
13648:                        if (failed)
13649:                            return;
13650:                        match(input, 30, FOLLOW_30_in_identifierSuffix3862);
13651:                        if (failed)
13652:                            return;
13653:
13654:                    }
13655:                        break;
13656:                    case 2:
13657:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:4: ( '[' expression ']' )+
13658:                    {
13659:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:4: ( '[' expression ']' )+
13660:                        int cnt158 = 0;
13661:                        loop158: do {
13662:                            int alt158 = 2;
13663:                            int LA158_0 = input.LA(1);
13664:
13665:                            if ((LA158_0 == 41)) {
13666:                                switch (input.LA(2)) {
13667:                                case 104: {
13668:                                    int LA158_32 = input.LA(3);
13669:
13670:                                    if ((synpred245())) {
13671:                                        alt158 = 1;
13672:                                    }
13673:
13674:                                }
13675:                                    break;
13676:                                case 105: {
13677:                                    int LA158_33 = input.LA(3);
13678:
13679:                                    if ((synpred245())) {
13680:                                        alt158 = 1;
13681:                                    }
13682:
13683:                                }
13684:                                    break;
13685:                                case 108: {
13686:                                    int LA158_34 = input.LA(3);
13687:
13688:                                    if ((synpred245())) {
13689:                                        alt158 = 1;
13690:                                    }
13691:
13692:                                }
13693:                                    break;
13694:                                case 109: {
13695:                                    int LA158_35 = input.LA(3);
13696:
13697:                                    if ((synpred245())) {
13698:                                        alt158 = 1;
13699:                                    }
13700:
13701:                                }
13702:                                    break;
13703:                                case 110: {
13704:                                    int LA158_36 = input.LA(3);
13705:
13706:                                    if ((synpred245())) {
13707:                                        alt158 = 1;
13708:                                    }
13709:
13710:                                }
13711:                                    break;
13712:                                case 111: {
13713:                                    int LA158_37 = input.LA(3);
13714:
13715:                                    if ((synpred245())) {
13716:                                        alt158 = 1;
13717:                                    }
13718:
13719:                                }
13720:                                    break;
13721:                                case 65: {
13722:                                    int LA158_38 = input.LA(3);
13723:
13724:                                    if ((synpred245())) {
13725:                                        alt158 = 1;
13726:                                    }
13727:
13728:                                }
13729:                                    break;
13730:                                case 33: {
13731:                                    int LA158_39 = input.LA(3);
13732:
13733:                                    if ((synpred245())) {
13734:                                        alt158 = 1;
13735:                                    }
13736:
13737:                                }
13738:                                    break;
13739:                                case 112: {
13740:                                    int LA158_40 = input.LA(3);
13741:
13742:                                    if ((synpred245())) {
13743:                                        alt158 = 1;
13744:                                    }
13745:
13746:                                }
13747:                                    break;
13748:                                case 64: {
13749:                                    int LA158_41 = input.LA(3);
13750:
13751:                                    if ((synpred245())) {
13752:                                        alt158 = 1;
13753:                                    }
13754:
13755:                                }
13756:                                    break;
13757:                                case HexLiteral:
13758:                                case OctalLiteral:
13759:                                case DecimalLiteral: {
13760:                                    int LA158_42 = input.LA(3);
13761:
13762:                                    if ((synpred245())) {
13763:                                        alt158 = 1;
13764:                                    }
13765:
13766:                                }
13767:                                    break;
13768:                                case FloatingPointLiteral: {
13769:                                    int LA158_43 = input.LA(3);
13770:
13771:                                    if ((synpred245())) {
13772:                                        alt158 = 1;
13773:                                    }
13774:
13775:                                }
13776:                                    break;
13777:                                case CharacterLiteral: {
13778:                                    int LA158_44 = input.LA(3);
13779:
13780:                                    if ((synpred245())) {
13781:                                        alt158 = 1;
13782:                                    }
13783:
13784:                                }
13785:                                    break;
13786:                                case StringLiteral: {
13787:                                    int LA158_45 = input.LA(3);
13788:
13789:                                    if ((synpred245())) {
13790:                                        alt158 = 1;
13791:                                    }
13792:
13793:                                }
13794:                                    break;
13795:                                case 69:
13796:                                case 70: {
13797:                                    int LA158_46 = input.LA(3);
13798:
13799:                                    if ((synpred245())) {
13800:                                        alt158 = 1;
13801:                                    }
13802:
13803:                                }
13804:                                    break;
13805:                                case 68: {
13806:                                    int LA158_47 = input.LA(3);
13807:
13808:                                    if ((synpred245())) {
13809:                                        alt158 = 1;
13810:                                    }
13811:
13812:                                }
13813:                                    break;
13814:                                case 113: {
13815:                                    int LA158_48 = input.LA(3);
13816:
13817:                                    if ((synpred245())) {
13818:                                        alt158 = 1;
13819:                                    }
13820:
13821:                                }
13822:                                    break;
13823:                                case Identifier: {
13824:                                    int LA158_49 = input.LA(3);
13825:
13826:                                    if ((synpred245())) {
13827:                                        alt158 = 1;
13828:                                    }
13829:
13830:                                }
13831:                                    break;
13832:                                case 55:
13833:                                case 56:
13834:                                case 57:
13835:                                case 58:
13836:                                case 59:
13837:                                case 60:
13838:                                case 61:
13839:                                case 62: {
13840:                                    int LA158_50 = input.LA(3);
13841:
13842:                                    if ((synpred245())) {
13843:                                        alt158 = 1;
13844:                                    }
13845:
13846:                                }
13847:                                    break;
13848:                                case 40: {
13849:                                    int LA158_51 = input.LA(3);
13850:
13851:                                    if ((synpred245())) {
13852:                                        alt158 = 1;
13853:                                    }
13854:
13855:                                }
13856:                                    break;
13857:
13858:                                }
13859:
13860:                            }
13861:
13862:                            switch (alt158) {
13863:                            case 1:
13864:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:5: '[' expression ']'
13865:                            {
13866:                                match(input, 41,
13867:                                        FOLLOW_41_in_identifierSuffix3868);
13868:                                if (failed)
13869:                                    return;
13870:                                pushFollow(FOLLOW_expression_in_identifierSuffix3870);
13871:                                expression();
13872:                                _fsp--;
13873:                                if (failed)
13874:                                    return;
13875:                                match(input, 42,
13876:                                        FOLLOW_42_in_identifierSuffix3872);
13877:                                if (failed)
13878:                                    return;
13879:
13880:                            }
13881:                                break;
13882:
13883:                            default:
13884:                                if (cnt158 >= 1)
13885:                                    break loop158;
13886:                                if (backtracking > 0) {
13887:                                    failed = true;
13888:                                    return;
13889:                                }
13890:                                EarlyExitException eee = new EarlyExitException(
13891:                                        158, input);
13892:                                throw eee;
13893:                            }
13894:                            cnt158++;
13895:                        } while (true);
13896:
13897:                    }
13898:                        break;
13899:                    case 3:
13900:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:9: arguments
13901:                    {
13902:                        pushFollow(FOLLOW_arguments_in_identifierSuffix3885);
13903:                        arguments();
13904:                        _fsp--;
13905:                        if (failed)
13906:                            return;
13907:
13908:                    }
13909:                        break;
13910:                    case 4:
13911:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:9: '.' 'class'
13912:                    {
13913:                        match(input, 28, FOLLOW_28_in_identifierSuffix3895);
13914:                        if (failed)
13915:                            return;
13916:                        match(input, 30, FOLLOW_30_in_identifierSuffix3897);
13917:                        if (failed)
13918:                            return;
13919:
13920:                    }
13921:                        break;
13922:                    case 5:
13923:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:870:9: '.' explicitGenericInvocation
13924:                    {
13925:                        match(input, 28, FOLLOW_28_in_identifierSuffix3907);
13926:                        if (failed)
13927:                            return;
13928:                        pushFollow(FOLLOW_explicitGenericInvocation_in_identifierSuffix3909);
13929:                        explicitGenericInvocation();
13930:                        _fsp--;
13931:                        if (failed)
13932:                            return;
13933:
13934:                    }
13935:                        break;
13936:                    case 6:
13937:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:871:9: '.' 'this'
13938:                    {
13939:                        match(input, 28, FOLLOW_28_in_identifierSuffix3919);
13940:                        if (failed)
13941:                            return;
13942:                        match(input, 112, FOLLOW_112_in_identifierSuffix3921);
13943:                        if (failed)
13944:                            return;
13945:
13946:                    }
13947:                        break;
13948:                    case 7:
13949:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:872:9: '.' 'super' arguments
13950:                    {
13951:                        match(input, 28, FOLLOW_28_in_identifierSuffix3931);
13952:                        if (failed)
13953:                            return;
13954:                        match(input, 64, FOLLOW_64_in_identifierSuffix3933);
13955:                        if (failed)
13956:                            return;
13957:                        pushFollow(FOLLOW_arguments_in_identifierSuffix3935);
13958:                        arguments();
13959:                        _fsp--;
13960:                        if (failed)
13961:                            return;
13962:
13963:                    }
13964:                        break;
13965:                    case 8:
13966:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:873:9: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
13967:                    {
13968:                        match(input, 28, FOLLOW_28_in_identifierSuffix3945);
13969:                        if (failed)
13970:                            return;
13971:                        match(input, 113, FOLLOW_113_in_identifierSuffix3947);
13972:                        if (failed)
13973:                            return;
13974:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:873:19: ( nonWildcardTypeArguments )?
13975:                        int alt159 = 2;
13976:                        int LA159_0 = input.LA(1);
13977:
13978:                        if ((LA159_0 == 33)) {
13979:                            alt159 = 1;
13980:                        }
13981:                        switch (alt159) {
13982:                        case 1:
13983:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:873:20: nonWildcardTypeArguments
13984:                        {
13985:                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_identifierSuffix3950);
13986:                            nonWildcardTypeArguments();
13987:                            _fsp--;
13988:                            if (failed)
13989:                                return;
13990:
13991:                        }
13992:                            break;
13993:
13994:                        }
13995:
13996:                        pushFollow(FOLLOW_innerCreator_in_identifierSuffix3954);
13997:                        innerCreator();
13998:                        _fsp--;
13999:                        if (failed)
14000:                            return;
14001:
14002:                    }
14003:                        break;
14004:
14005:                    }
14006:                } catch (RecognitionException re) {
14007:                    reportError(re);
14008:                    recover(input, re);
14009:                } finally {
14010:                    if (backtracking > 0) {
14011:                        memoize(input, 119, identifierSuffix_StartIndex);
14012:                    }
14013:                }
14014:                return;
14015:            }
14016:
14017:            // $ANTLR end identifierSuffix
14018:
14019:            // $ANTLR start creator
14020:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:876:1: creator : ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) ;
14021:            public final void creator() throws RecognitionException {
14022:                int creator_StartIndex = input.index();
14023:                try {
14024:                    if (backtracking > 0 && alreadyParsedRule(input, 120)) {
14025:                        return;
14026:                    }
14027:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:877:4: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
14028:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:877:4: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
14029:                    {
14030:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:877:4: ( nonWildcardTypeArguments )?
14031:                        int alt161 = 2;
14032:                        int LA161_0 = input.LA(1);
14033:
14034:                        if ((LA161_0 == 33)) {
14035:                            alt161 = 1;
14036:                        }
14037:                        switch (alt161) {
14038:                        case 1:
14039:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: nonWildcardTypeArguments
14040:                        {
14041:                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator3966);
14042:                            nonWildcardTypeArguments();
14043:                            _fsp--;
14044:                            if (failed)
14045:                                return;
14046:
14047:                        }
14048:                            break;
14049:
14050:                        }
14051:
14052:                        pushFollow(FOLLOW_createdName_in_creator3969);
14053:                        createdName();
14054:                        _fsp--;
14055:                        if (failed)
14056:                            return;
14057:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:878:9: ( arrayCreatorRest | classCreatorRest )
14058:                        int alt162 = 2;
14059:                        int LA162_0 = input.LA(1);
14060:
14061:                        if ((LA162_0 == 41)) {
14062:                            alt162 = 1;
14063:                        } else if ((LA162_0 == 65)) {
14064:                            alt162 = 2;
14065:                        } else {
14066:                            if (backtracking > 0) {
14067:                                failed = true;
14068:                                return;
14069:                            }
14070:                            NoViableAltException nvae = new NoViableAltException(
14071:                                    "878:9: ( arrayCreatorRest | classCreatorRest )",
14072:                                    162, 0, input);
14073:
14074:                            throw nvae;
14075:                        }
14076:                        switch (alt162) {
14077:                        case 1:
14078:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:878:10: arrayCreatorRest
14079:                        {
14080:                            pushFollow(FOLLOW_arrayCreatorRest_in_creator3980);
14081:                            arrayCreatorRest();
14082:                            _fsp--;
14083:                            if (failed)
14084:                                return;
14085:
14086:                        }
14087:                            break;
14088:                        case 2:
14089:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:878:29: classCreatorRest
14090:                        {
14091:                            pushFollow(FOLLOW_classCreatorRest_in_creator3984);
14092:                            classCreatorRest();
14093:                            _fsp--;
14094:                            if (failed)
14095:                                return;
14096:
14097:                        }
14098:                            break;
14099:
14100:                        }
14101:
14102:                    }
14103:
14104:                } catch (RecognitionException re) {
14105:                    reportError(re);
14106:                    recover(input, re);
14107:                } finally {
14108:                    if (backtracking > 0) {
14109:                        memoize(input, 120, creator_StartIndex);
14110:                    }
14111:                }
14112:                return;
14113:            }
14114:
14115:            // $ANTLR end creator
14116:
14117:            // $ANTLR start createdName
14118:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:881:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );
14119:            public final void createdName() throws RecognitionException {
14120:                int createdName_StartIndex = input.index();
14121:                try {
14122:                    if (backtracking > 0 && alreadyParsedRule(input, 121)) {
14123:                        return;
14124:                    }
14125:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:4: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType )
14126:                    int alt166 = 2;
14127:                    int LA166_0 = input.LA(1);
14128:
14129:                    if ((LA166_0 == Identifier)) {
14130:                        alt166 = 1;
14131:                    } else if (((LA166_0 >= 55 && LA166_0 <= 62))) {
14132:                        alt166 = 2;
14133:                    } else {
14134:                        if (backtracking > 0) {
14135:                            failed = true;
14136:                            return;
14137:                        }
14138:                        NoViableAltException nvae = new NoViableAltException(
14139:                                "881:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );",
14140:                                166, 0, input);
14141:
14142:                        throw nvae;
14143:                    }
14144:                    switch (alt166) {
14145:                    case 1:
14146:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )*
14147:                    {
14148:                        match(input, Identifier,
14149:                                FOLLOW_Identifier_in_createdName3996);
14150:                        if (failed)
14151:                            return;
14152:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:15: ( typeArguments )?
14153:                        int alt163 = 2;
14154:                        int LA163_0 = input.LA(1);
14155:
14156:                        if ((LA163_0 == 33)) {
14157:                            alt163 = 1;
14158:                        }
14159:                        switch (alt163) {
14160:                        case 1:
14161:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeArguments
14162:                        {
14163:                            pushFollow(FOLLOW_typeArguments_in_createdName3998);
14164:                            typeArguments();
14165:                            _fsp--;
14166:                            if (failed)
14167:                                return;
14168:
14169:                        }
14170:                            break;
14171:
14172:                        }
14173:
14174:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:883:9: ( '.' Identifier ( typeArguments )? )*
14175:                        loop165: do {
14176:                            int alt165 = 2;
14177:                            int LA165_0 = input.LA(1);
14178:
14179:                            if ((LA165_0 == 28)) {
14180:                                alt165 = 1;
14181:                            }
14182:
14183:                            switch (alt165) {
14184:                            case 1:
14185:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:883:10: '.' Identifier ( typeArguments )?
14186:                            {
14187:                                match(input, 28, FOLLOW_28_in_createdName4010);
14188:                                if (failed)
14189:                                    return;
14190:                                match(input, Identifier,
14191:                                        FOLLOW_Identifier_in_createdName4012);
14192:                                if (failed)
14193:                                    return;
14194:                                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:883:25: ( typeArguments )?
14195:                                int alt164 = 2;
14196:                                int LA164_0 = input.LA(1);
14197:
14198:                                if ((LA164_0 == 33)) {
14199:                                    alt164 = 1;
14200:                                }
14201:                                switch (alt164) {
14202:                                case 1:
14203:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeArguments
14204:                                {
14205:                                    pushFollow(FOLLOW_typeArguments_in_createdName4014);
14206:                                    typeArguments();
14207:                                    _fsp--;
14208:                                    if (failed)
14209:                                        return;
14210:
14211:                                }
14212:                                    break;
14213:
14214:                                }
14215:
14216:                            }
14217:                                break;
14218:
14219:                            default:
14220:                                break loop165;
14221:                            }
14222:                        } while (true);
14223:
14224:                    }
14225:                        break;
14226:                    case 2:
14227:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:884:7: primitiveType
14228:                    {
14229:                        pushFollow(FOLLOW_primitiveType_in_createdName4025);
14230:                        primitiveType();
14231:                        _fsp--;
14232:                        if (failed)
14233:                            return;
14234:
14235:                    }
14236:                        break;
14237:
14238:                    }
14239:                } catch (RecognitionException re) {
14240:                    reportError(re);
14241:                    recover(input, re);
14242:                } finally {
14243:                    if (backtracking > 0) {
14244:                        memoize(input, 121, createdName_StartIndex);
14245:                    }
14246:                }
14247:                return;
14248:            }
14249:
14250:            // $ANTLR end createdName
14251:
14252:            // $ANTLR start innerCreator
14253:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:887:1: innerCreator : Identifier classCreatorRest ;
14254:            public final void innerCreator() throws RecognitionException {
14255:                int innerCreator_StartIndex = input.index();
14256:                try {
14257:                    if (backtracking > 0 && alreadyParsedRule(input, 122)) {
14258:                        return;
14259:                    }
14260:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:888:4: ( Identifier classCreatorRest )
14261:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:888:4: Identifier classCreatorRest
14262:                    {
14263:                        match(input, Identifier,
14264:                                FOLLOW_Identifier_in_innerCreator4037);
14265:                        if (failed)
14266:                            return;
14267:                        pushFollow(FOLLOW_classCreatorRest_in_innerCreator4039);
14268:                        classCreatorRest();
14269:                        _fsp--;
14270:                        if (failed)
14271:                            return;
14272:
14273:                    }
14274:
14275:                } catch (RecognitionException re) {
14276:                    reportError(re);
14277:                    recover(input, re);
14278:                } finally {
14279:                    if (backtracking > 0) {
14280:                        memoize(input, 122, innerCreator_StartIndex);
14281:                    }
14282:                }
14283:                return;
14284:            }
14285:
14286:            // $ANTLR end innerCreator
14287:
14288:            // $ANTLR start arrayCreatorRest
14289:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:891:1: arrayCreatorRest : '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) ;
14290:            public final void arrayCreatorRest() throws RecognitionException {
14291:                int arrayCreatorRest_StartIndex = input.index();
14292:                try {
14293:                    if (backtracking > 0 && alreadyParsedRule(input, 123)) {
14294:                        return;
14295:                    }
14296:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:4: ( '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) )
14297:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:4: '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
14298:                    {
14299:                        match(input, 41, FOLLOW_41_in_arrayCreatorRest4050);
14300:                        if (failed)
14301:                            return;
14302:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
14303:                        int alt170 = 2;
14304:                        int LA170_0 = input.LA(1);
14305:
14306:                        if ((LA170_0 == 42)) {
14307:                            alt170 = 1;
14308:                        } else if ((LA170_0 == Identifier
14309:                                || (LA170_0 >= FloatingPointLiteral && LA170_0 <= DecimalLiteral)
14310:                                || LA170_0 == 33 || LA170_0 == 40
14311:                                || (LA170_0 >= 55 && LA170_0 <= 62)
14312:                                || (LA170_0 >= 64 && LA170_0 <= 65)
14313:                                || (LA170_0 >= 68 && LA170_0 <= 70)
14314:                                || (LA170_0 >= 104 && LA170_0 <= 105) || (LA170_0 >= 108 && LA170_0 <= 113))) {
14315:                            alt170 = 2;
14316:                        } else {
14317:                            if (backtracking > 0) {
14318:                                failed = true;
14319:                                return;
14320:                            }
14321:                            NoViableAltException nvae = new NoViableAltException(
14322:                                    "893:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )",
14323:                                    170, 0, input);
14324:
14325:                            throw nvae;
14326:                        }
14327:                        switch (alt170) {
14328:                        case 1:
14329:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:13: ']' ( '[' ']' )* arrayInitializer
14330:                        {
14331:                            match(input, 42, FOLLOW_42_in_arrayCreatorRest4064);
14332:                            if (failed)
14333:                                return;
14334:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:17: ( '[' ']' )*
14335:                            loop167: do {
14336:                                int alt167 = 2;
14337:                                int LA167_0 = input.LA(1);
14338:
14339:                                if ((LA167_0 == 41)) {
14340:                                    alt167 = 1;
14341:                                }
14342:
14343:                                switch (alt167) {
14344:                                case 1:
14345:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:18: '[' ']'
14346:                                {
14347:                                    match(input, 41,
14348:                                            FOLLOW_41_in_arrayCreatorRest4067);
14349:                                    if (failed)
14350:                                        return;
14351:                                    match(input, 42,
14352:                                            FOLLOW_42_in_arrayCreatorRest4069);
14353:                                    if (failed)
14354:                                        return;
14355:
14356:                                }
14357:                                    break;
14358:
14359:                                default:
14360:                                    break loop167;
14361:                                }
14362:                            } while (true);
14363:
14364:                            pushFollow(FOLLOW_arrayInitializer_in_arrayCreatorRest4073);
14365:                            arrayInitializer();
14366:                            _fsp--;
14367:                            if (failed)
14368:                                return;
14369:
14370:                        }
14371:                            break;
14372:                        case 2:
14373:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:13: expression ']' ( '[' expression ']' )* ( '[' ']' )*
14374:                        {
14375:                            pushFollow(FOLLOW_expression_in_arrayCreatorRest4087);
14376:                            expression();
14377:                            _fsp--;
14378:                            if (failed)
14379:                                return;
14380:                            match(input, 42, FOLLOW_42_in_arrayCreatorRest4089);
14381:                            if (failed)
14382:                                return;
14383:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:28: ( '[' expression ']' )*
14384:                            loop168: do {
14385:                                int alt168 = 2;
14386:                                int LA168_0 = input.LA(1);
14387:
14388:                                if ((LA168_0 == 41)) {
14389:                                    switch (input.LA(2)) {
14390:                                    case 104: {
14391:                                        int LA168_33 = input.LA(3);
14392:
14393:                                        if ((synpred261())) {
14394:                                            alt168 = 1;
14395:                                        }
14396:
14397:                                    }
14398:                                        break;
14399:                                    case 105: {
14400:                                        int LA168_34 = input.LA(3);
14401:
14402:                                        if ((synpred261())) {
14403:                                            alt168 = 1;
14404:                                        }
14405:
14406:                                    }
14407:                                        break;
14408:                                    case 108: {
14409:                                        int LA168_35 = input.LA(3);
14410:
14411:                                        if ((synpred261())) {
14412:                                            alt168 = 1;
14413:                                        }
14414:
14415:                                    }
14416:                                        break;
14417:                                    case 109: {
14418:                                        int LA168_36 = input.LA(3);
14419:
14420:                                        if ((synpred261())) {
14421:                                            alt168 = 1;
14422:                                        }
14423:
14424:                                    }
14425:                                        break;
14426:                                    case 110: {
14427:                                        int LA168_37 = input.LA(3);
14428:
14429:                                        if ((synpred261())) {
14430:                                            alt168 = 1;
14431:                                        }
14432:
14433:                                    }
14434:                                        break;
14435:                                    case 111: {
14436:                                        int LA168_38 = input.LA(3);
14437:
14438:                                        if ((synpred261())) {
14439:                                            alt168 = 1;
14440:                                        }
14441:
14442:                                    }
14443:                                        break;
14444:                                    case 65: {
14445:                                        int LA168_39 = input.LA(3);
14446:
14447:                                        if ((synpred261())) {
14448:                                            alt168 = 1;
14449:                                        }
14450:
14451:                                    }
14452:                                        break;
14453:                                    case 33: {
14454:                                        int LA168_40 = input.LA(3);
14455:
14456:                                        if ((synpred261())) {
14457:                                            alt168 = 1;
14458:                                        }
14459:
14460:                                    }
14461:                                        break;
14462:                                    case 112: {
14463:                                        int LA168_41 = input.LA(3);
14464:
14465:                                        if ((synpred261())) {
14466:                                            alt168 = 1;
14467:                                        }
14468:
14469:                                    }
14470:                                        break;
14471:                                    case 64: {
14472:                                        int LA168_42 = input.LA(3);
14473:
14474:                                        if ((synpred261())) {
14475:                                            alt168 = 1;
14476:                                        }
14477:
14478:                                    }
14479:                                        break;
14480:                                    case HexLiteral:
14481:                                    case OctalLiteral:
14482:                                    case DecimalLiteral: {
14483:                                        int LA168_43 = input.LA(3);
14484:
14485:                                        if ((synpred261())) {
14486:                                            alt168 = 1;
14487:                                        }
14488:
14489:                                    }
14490:                                        break;
14491:                                    case FloatingPointLiteral: {
14492:                                        int LA168_44 = input.LA(3);
14493:
14494:                                        if ((synpred261())) {
14495:                                            alt168 = 1;
14496:                                        }
14497:
14498:                                    }
14499:                                        break;
14500:                                    case CharacterLiteral: {
14501:                                        int LA168_45 = input.LA(3);
14502:
14503:                                        if ((synpred261())) {
14504:                                            alt168 = 1;
14505:                                        }
14506:
14507:                                    }
14508:                                        break;
14509:                                    case StringLiteral: {
14510:                                        int LA168_46 = input.LA(3);
14511:
14512:                                        if ((synpred261())) {
14513:                                            alt168 = 1;
14514:                                        }
14515:
14516:                                    }
14517:                                        break;
14518:                                    case 69:
14519:                                    case 70: {
14520:                                        int LA168_47 = input.LA(3);
14521:
14522:                                        if ((synpred261())) {
14523:                                            alt168 = 1;
14524:                                        }
14525:
14526:                                    }
14527:                                        break;
14528:                                    case 68: {
14529:                                        int LA168_48 = input.LA(3);
14530:
14531:                                        if ((synpred261())) {
14532:                                            alt168 = 1;
14533:                                        }
14534:
14535:                                    }
14536:                                        break;
14537:                                    case 113: {
14538:                                        int LA168_49 = input.LA(3);
14539:
14540:                                        if ((synpred261())) {
14541:                                            alt168 = 1;
14542:                                        }
14543:
14544:                                    }
14545:                                        break;
14546:                                    case Identifier: {
14547:                                        int LA168_50 = input.LA(3);
14548:
14549:                                        if ((synpred261())) {
14550:                                            alt168 = 1;
14551:                                        }
14552:
14553:                                    }
14554:                                        break;
14555:                                    case 55:
14556:                                    case 56:
14557:                                    case 57:
14558:                                    case 58:
14559:                                    case 59:
14560:                                    case 60:
14561:                                    case 61:
14562:                                    case 62: {
14563:                                        int LA168_51 = input.LA(3);
14564:
14565:                                        if ((synpred261())) {
14566:                                            alt168 = 1;
14567:                                        }
14568:
14569:                                    }
14570:                                        break;
14571:                                    case 40: {
14572:                                        int LA168_52 = input.LA(3);
14573:
14574:                                        if ((synpred261())) {
14575:                                            alt168 = 1;
14576:                                        }
14577:
14578:                                    }
14579:                                        break;
14580:
14581:                                    }
14582:
14583:                                }
14584:
14585:                                switch (alt168) {
14586:                                case 1:
14587:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:29: '[' expression ']'
14588:                                {
14589:                                    match(input, 41,
14590:                                            FOLLOW_41_in_arrayCreatorRest4092);
14591:                                    if (failed)
14592:                                        return;
14593:                                    pushFollow(FOLLOW_expression_in_arrayCreatorRest4094);
14594:                                    expression();
14595:                                    _fsp--;
14596:                                    if (failed)
14597:                                        return;
14598:                                    match(input, 42,
14599:                                            FOLLOW_42_in_arrayCreatorRest4096);
14600:                                    if (failed)
14601:                                        return;
14602:
14603:                                }
14604:                                    break;
14605:
14606:                                default:
14607:                                    break loop168;
14608:                                }
14609:                            } while (true);
14610:
14611:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:50: ( '[' ']' )*
14612:                            loop169: do {
14613:                                int alt169 = 2;
14614:                                int LA169_0 = input.LA(1);
14615:
14616:                                if ((LA169_0 == 41)) {
14617:                                    int LA169_30 = input.LA(2);
14618:
14619:                                    if ((LA169_30 == 42)) {
14620:                                        alt169 = 1;
14621:                                    }
14622:
14623:                                }
14624:
14625:                                switch (alt169) {
14626:                                case 1:
14627:                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:51: '[' ']'
14628:                                {
14629:                                    match(input, 41,
14630:                                            FOLLOW_41_in_arrayCreatorRest4101);
14631:                                    if (failed)
14632:                                        return;
14633:                                    match(input, 42,
14634:                                            FOLLOW_42_in_arrayCreatorRest4103);
14635:                                    if (failed)
14636:                                        return;
14637:
14638:                                }
14639:                                    break;
14640:
14641:                                default:
14642:                                    break loop169;
14643:                                }
14644:                            } while (true);
14645:
14646:                        }
14647:                            break;
14648:
14649:                        }
14650:
14651:                    }
14652:
14653:                } catch (RecognitionException re) {
14654:                    reportError(re);
14655:                    recover(input, re);
14656:                } finally {
14657:                    if (backtracking > 0) {
14658:                        memoize(input, 123, arrayCreatorRest_StartIndex);
14659:                    }
14660:                }
14661:                return;
14662:            }
14663:
14664:            // $ANTLR end arrayCreatorRest
14665:
14666:            // $ANTLR start classCreatorRest
14667:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:898:1: classCreatorRest : arguments ( classBody )? ;
14668:            public final void classCreatorRest() throws RecognitionException {
14669:                int classCreatorRest_StartIndex = input.index();
14670:                try {
14671:                    if (backtracking > 0 && alreadyParsedRule(input, 124)) {
14672:                        return;
14673:                    }
14674:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:4: ( arguments ( classBody )? )
14675:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:4: arguments ( classBody )?
14676:                    {
14677:                        pushFollow(FOLLOW_arguments_in_classCreatorRest4126);
14678:                        arguments();
14679:                        _fsp--;
14680:                        if (failed)
14681:                            return;
14682:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:14: ( classBody )?
14683:                        int alt171 = 2;
14684:                        int LA171_0 = input.LA(1);
14685:
14686:                        if ((LA171_0 == 37)) {
14687:                            alt171 = 1;
14688:                        }
14689:                        switch (alt171) {
14690:                        case 1:
14691:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: classBody
14692:                        {
14693:                            pushFollow(FOLLOW_classBody_in_classCreatorRest4128);
14694:                            classBody();
14695:                            _fsp--;
14696:                            if (failed)
14697:                                return;
14698:
14699:                        }
14700:                            break;
14701:
14702:                        }
14703:
14704:                    }
14705:
14706:                } catch (RecognitionException re) {
14707:                    reportError(re);
14708:                    recover(input, re);
14709:                } finally {
14710:                    if (backtracking > 0) {
14711:                        memoize(input, 124, classCreatorRest_StartIndex);
14712:                    }
14713:                }
14714:                return;
14715:            }
14716:
14717:            // $ANTLR end classCreatorRest
14718:
14719:            // $ANTLR start explicitGenericInvocation
14720:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:902:1: explicitGenericInvocation : nonWildcardTypeArguments explicitGenericInvocationSuffix ;
14721:            public final void explicitGenericInvocation()
14722:                    throws RecognitionException {
14723:                int explicitGenericInvocation_StartIndex = input.index();
14724:                try {
14725:                    if (backtracking > 0 && alreadyParsedRule(input, 125)) {
14726:                        return;
14727:                    }
14728:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:903:4: ( nonWildcardTypeArguments explicitGenericInvocationSuffix )
14729:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:903:4: nonWildcardTypeArguments explicitGenericInvocationSuffix
14730:                    {
14731:                        pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4141);
14732:                        nonWildcardTypeArguments();
14733:                        _fsp--;
14734:                        if (failed)
14735:                            return;
14736:                        pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4143);
14737:                        explicitGenericInvocationSuffix();
14738:                        _fsp--;
14739:                        if (failed)
14740:                            return;
14741:
14742:                    }
14743:
14744:                } catch (RecognitionException re) {
14745:                    reportError(re);
14746:                    recover(input, re);
14747:                } finally {
14748:                    if (backtracking > 0) {
14749:                        memoize(input, 125,
14750:                                explicitGenericInvocation_StartIndex);
14751:                    }
14752:                }
14753:                return;
14754:            }
14755:
14756:            // $ANTLR end explicitGenericInvocation
14757:
14758:            // $ANTLR start nonWildcardTypeArguments
14759:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:906:1: nonWildcardTypeArguments : '<' typeList '>' ;
14760:            public final void nonWildcardTypeArguments()
14761:                    throws RecognitionException {
14762:                int nonWildcardTypeArguments_StartIndex = input.index();
14763:                try {
14764:                    if (backtracking > 0 && alreadyParsedRule(input, 126)) {
14765:                        return;
14766:                    }
14767:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:907:4: ( '<' typeList '>' )
14768:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:907:4: '<' typeList '>'
14769:                    {
14770:                        match(input, 33,
14771:                                FOLLOW_33_in_nonWildcardTypeArguments4155);
14772:                        if (failed)
14773:                            return;
14774:                        pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments4157);
14775:                        typeList();
14776:                        _fsp--;
14777:                        if (failed)
14778:                            return;
14779:                        match(input, 35,
14780:                                FOLLOW_35_in_nonWildcardTypeArguments4159);
14781:                        if (failed)
14782:                            return;
14783:
14784:                    }
14785:
14786:                } catch (RecognitionException re) {
14787:                    reportError(re);
14788:                    recover(input, re);
14789:                } finally {
14790:                    if (backtracking > 0) {
14791:                        memoize(input, 126, nonWildcardTypeArguments_StartIndex);
14792:                    }
14793:                }
14794:                return;
14795:            }
14796:
14797:            // $ANTLR end nonWildcardTypeArguments
14798:
14799:            // $ANTLR start explicitGenericInvocationSuffix
14800:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:910:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );
14801:            public final void explicitGenericInvocationSuffix()
14802:                    throws RecognitionException {
14803:                int explicitGenericInvocationSuffix_StartIndex = input.index();
14804:                try {
14805:                    if (backtracking > 0 && alreadyParsedRule(input, 127)) {
14806:                        return;
14807:                    }
14808:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:911:4: ( 'super' superSuffix | Identifier arguments )
14809:                    int alt172 = 2;
14810:                    int LA172_0 = input.LA(1);
14811:
14812:                    if ((LA172_0 == 64)) {
14813:                        alt172 = 1;
14814:                    } else if ((LA172_0 == Identifier)) {
14815:                        alt172 = 2;
14816:                    } else {
14817:                        if (backtracking > 0) {
14818:                            failed = true;
14819:                            return;
14820:                        }
14821:                        NoViableAltException nvae = new NoViableAltException(
14822:                                "910:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );",
14823:                                172, 0, input);
14824:
14825:                        throw nvae;
14826:                    }
14827:                    switch (alt172) {
14828:                    case 1:
14829:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:911:4: 'super' superSuffix
14830:                    {
14831:                        match(input, 64,
14832:                                FOLLOW_64_in_explicitGenericInvocationSuffix4171);
14833:                        if (failed)
14834:                            return;
14835:                        pushFollow(FOLLOW_super Suffix_in_explicitGenericInvocationSuffix4173);
14836:                        super Suffix();
14837:                        _fsp--;
14838:                        if (failed)
14839:                            return;
14840:
14841:                    }
14842:                        break;
14843:                    case 2:
14844:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:912:6: Identifier arguments
14845:                    {
14846:                        match(input, Identifier,
14847:                                FOLLOW_Identifier_in_explicitGenericInvocationSuffix4180);
14848:                        if (failed)
14849:                            return;
14850:                        pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix4182);
14851:                        arguments();
14852:                        _fsp--;
14853:                        if (failed)
14854:                            return;
14855:
14856:                    }
14857:                        break;
14858:
14859:                    }
14860:                } catch (RecognitionException re) {
14861:                    reportError(re);
14862:                    recover(input, re);
14863:                } finally {
14864:                    if (backtracking > 0) {
14865:                        memoize(input, 127,
14866:                                explicitGenericInvocationSuffix_StartIndex);
14867:                    }
14868:                }
14869:                return;
14870:            }
14871:
14872:            // $ANTLR end explicitGenericInvocationSuffix
14873:
14874:            // $ANTLR start selector
14875:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:915:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );
14876:            public final void selector() throws RecognitionException {
14877:                int selector_StartIndex = input.index();
14878:                try {
14879:                    if (backtracking > 0 && alreadyParsedRule(input, 128)) {
14880:                        return;
14881:                    }
14882:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:916:4: ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' )
14883:                    int alt175 = 5;
14884:                    int LA175_0 = input.LA(1);
14885:
14886:                    if ((LA175_0 == 28)) {
14887:                        switch (input.LA(2)) {
14888:                        case 64: {
14889:                            alt175 = 3;
14890:                        }
14891:                            break;
14892:                        case 113: {
14893:                            alt175 = 4;
14894:                        }
14895:                            break;
14896:                        case Identifier: {
14897:                            alt175 = 1;
14898:                        }
14899:                            break;
14900:                        case 112: {
14901:                            alt175 = 2;
14902:                        }
14903:                            break;
14904:                        default:
14905:                            if (backtracking > 0) {
14906:                                failed = true;
14907:                                return;
14908:                            }
14909:                            NoViableAltException nvae = new NoViableAltException(
14910:                                    "915:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );",
14911:                                    175, 1, input);
14912:
14913:                            throw nvae;
14914:                        }
14915:
14916:                    } else if ((LA175_0 == 41)) {
14917:                        alt175 = 5;
14918:                    } else {
14919:                        if (backtracking > 0) {
14920:                            failed = true;
14921:                            return;
14922:                        }
14923:                        NoViableAltException nvae = new NoViableAltException(
14924:                                "915:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );",
14925:                                175, 0, input);
14926:
14927:                        throw nvae;
14928:                    }
14929:                    switch (alt175) {
14930:                    case 1:
14931:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:916:4: '.' Identifier ( arguments )?
14932:                    {
14933:                        match(input, 28, FOLLOW_28_in_selector4194);
14934:                        if (failed)
14935:                            return;
14936:                        match(input, Identifier,
14937:                                FOLLOW_Identifier_in_selector4196);
14938:                        if (failed)
14939:                            return;
14940:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:916:19: ( arguments )?
14941:                        int alt173 = 2;
14942:                        int LA173_0 = input.LA(1);
14943:
14944:                        if ((LA173_0 == 65)) {
14945:                            alt173 = 1;
14946:                        }
14947:                        switch (alt173) {
14948:                        case 1:
14949:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:916:20: arguments
14950:                        {
14951:                            pushFollow(FOLLOW_arguments_in_selector4199);
14952:                            arguments();
14953:                            _fsp--;
14954:                            if (failed)
14955:                                return;
14956:
14957:                        }
14958:                            break;
14959:
14960:                        }
14961:
14962:                    }
14963:                        break;
14964:                    case 2:
14965:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:917:6: '.' 'this'
14966:                    {
14967:                        match(input, 28, FOLLOW_28_in_selector4208);
14968:                        if (failed)
14969:                            return;
14970:                        match(input, 112, FOLLOW_112_in_selector4210);
14971:                        if (failed)
14972:                            return;
14973:
14974:                    }
14975:                        break;
14976:                    case 3:
14977:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:6: '.' 'super' superSuffix
14978:                    {
14979:                        match(input, 28, FOLLOW_28_in_selector4217);
14980:                        if (failed)
14981:                            return;
14982:                        match(input, 64, FOLLOW_64_in_selector4219);
14983:                        if (failed)
14984:                            return;
14985:                        pushFollow(FOLLOW_super Suffix_in_selector4221);
14986:                        super Suffix();
14987:                        _fsp--;
14988:                        if (failed)
14989:                            return;
14990:
14991:                    }
14992:                        break;
14993:                    case 4:
14994:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:6: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
14995:                    {
14996:                        match(input, 28, FOLLOW_28_in_selector4228);
14997:                        if (failed)
14998:                            return;
14999:                        match(input, 113, FOLLOW_113_in_selector4230);
15000:                        if (failed)
15001:                            return;
15002:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:16: ( nonWildcardTypeArguments )?
15003:                        int alt174 = 2;
15004:                        int LA174_0 = input.LA(1);
15005:
15006:                        if ((LA174_0 == 33)) {
15007:                            alt174 = 1;
15008:                        }
15009:                        switch (alt174) {
15010:                        case 1:
15011:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:17: nonWildcardTypeArguments
15012:                        {
15013:                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4233);
15014:                            nonWildcardTypeArguments();
15015:                            _fsp--;
15016:                            if (failed)
15017:                                return;
15018:
15019:                        }
15020:                            break;
15021:
15022:                        }
15023:
15024:                        pushFollow(FOLLOW_innerCreator_in_selector4237);
15025:                        innerCreator();
15026:                        _fsp--;
15027:                        if (failed)
15028:                            return;
15029:
15030:                    }
15031:                        break;
15032:                    case 5:
15033:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:6: '[' expression ']'
15034:                    {
15035:                        match(input, 41, FOLLOW_41_in_selector4244);
15036:                        if (failed)
15037:                            return;
15038:                        pushFollow(FOLLOW_expression_in_selector4246);
15039:                        expression();
15040:                        _fsp--;
15041:                        if (failed)
15042:                            return;
15043:                        match(input, 42, FOLLOW_42_in_selector4248);
15044:                        if (failed)
15045:                            return;
15046:
15047:                    }
15048:                        break;
15049:
15050:                    }
15051:                } catch (RecognitionException re) {
15052:                    reportError(re);
15053:                    recover(input, re);
15054:                } finally {
15055:                    if (backtracking > 0) {
15056:                        memoize(input, 128, selector_StartIndex);
15057:                    }
15058:                }
15059:                return;
15060:            }
15061:
15062:            // $ANTLR end selector
15063:
15064:            // $ANTLR start superSuffix
15065:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:923:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );
15066:            public final void super Suffix() throws RecognitionException {
15067:                int super Suffix_StartIndex = input.index();
15068:                try {
15069:                    if (backtracking > 0 && alreadyParsedRule(input, 129)) {
15070:                        return;
15071:                    }
15072:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:924:4: ( arguments | '.' Identifier ( arguments )? )
15073:                    int alt177 = 2;
15074:                    int LA177_0 = input.LA(1);
15075:
15076:                    if ((LA177_0 == 65)) {
15077:                        alt177 = 1;
15078:                    } else if ((LA177_0 == 28)) {
15079:                        alt177 = 2;
15080:                    } else {
15081:                        if (backtracking > 0) {
15082:                            failed = true;
15083:                            return;
15084:                        }
15085:                        NoViableAltException nvae = new NoViableAltException(
15086:                                "923:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );",
15087:                                177, 0, input);
15088:
15089:                        throw nvae;
15090:                    }
15091:                    switch (alt177) {
15092:                    case 1:
15093:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:924:4: arguments
15094:                    {
15095:                        pushFollow(FOLLOW_arguments_in_super Suffix4260);
15096:                        arguments();
15097:                        _fsp--;
15098:                        if (failed)
15099:                            return;
15100:
15101:                    }
15102:                        break;
15103:                    case 2:
15104:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:6: '.' Identifier ( arguments )?
15105:                    {
15106:                        match(input, 28, FOLLOW_28_in_super Suffix4267);
15107:                        if (failed)
15108:                            return;
15109:                        match(input, Identifier,
15110:                                FOLLOW_Identifier_in_super Suffix4269);
15111:                        if (failed)
15112:                            return;
15113:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:21: ( arguments )?
15114:                        int alt176 = 2;
15115:                        int LA176_0 = input.LA(1);
15116:
15117:                        if ((LA176_0 == 65)) {
15118:                            alt176 = 1;
15119:                        }
15120:                        switch (alt176) {
15121:                        case 1:
15122:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:22: arguments
15123:                        {
15124:                            pushFollow(FOLLOW_arguments_in_super Suffix4272);
15125:                            arguments();
15126:                            _fsp--;
15127:                            if (failed)
15128:                                return;
15129:
15130:                        }
15131:                            break;
15132:
15133:                        }
15134:
15135:                    }
15136:                        break;
15137:
15138:                    }
15139:                } catch (RecognitionException re) {
15140:                    reportError(re);
15141:                    recover(input, re);
15142:                } finally {
15143:                    if (backtracking > 0) {
15144:                        memoize(input, 129, super Suffix_StartIndex);
15145:                    }
15146:                }
15147:                return;
15148:            }
15149:
15150:            // $ANTLR end superSuffix
15151:
15152:            // $ANTLR start arguments
15153:            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:928:1: arguments : '(' ( expressionList )? ')' ;
15154:            public final void arguments() throws RecognitionException {
15155:                int arguments_StartIndex = input.index();
15156:                try {
15157:                    if (backtracking > 0 && alreadyParsedRule(input, 130)) {
15158:                        return;
15159:                    }
15160:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:929:4: ( '(' ( expressionList )? ')' )
15161:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:929:4: '(' ( expressionList )? ')'
15162:                    {
15163:                        match(input, 65, FOLLOW_65_in_arguments4288);
15164:                        if (failed)
15165:                            return;
15166:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:929:8: ( expressionList )?
15167:                        int alt178 = 2;
15168:                        int LA178_0 = input.LA(1);
15169:
15170:                        if ((LA178_0 == Identifier
15171:                                || (LA178_0 >= FloatingPointLiteral && LA178_0 <= DecimalLiteral)
15172:                                || LA178_0 == 33 || LA178_0 == 40
15173:                                || (LA178_0 >= 55 && LA178_0 <= 62)
15174:                                || (LA178_0 >= 64 && LA178_0 <= 65)
15175:                                || (LA178_0 >= 68 && LA178_0 <= 70)
15176:                                || (LA178_0 >= 104 && LA178_0 <= 105) || (LA178_0 >= 108 && LA178_0 <= 113))) {
15177:                            alt178 = 1;
15178:                        }
15179:                        switch (alt178) {
15180:                        case 1:
15181:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: expressionList
15182:                        {
15183:                            pushFollow(FOLLOW_expressionList_in_arguments4290);
15184:                            expressionList();
15185:                            _fsp--;
15186:                            if (failed)
15187:                                return;
15188:
15189:                        }
15190:                            break;
15191:
15192:                        }
15193:
15194:                        match(input, 66, FOLLOW_66_in_arguments4293);
15195:                        if (failed)
15196:                            return;
15197:
15198:                    }
15199:
15200:                } catch (RecognitionException re) {
15201:                    reportError(re);
15202:                    recover(input, re);
15203:                } finally {
15204:                    if (backtracking > 0) {
15205:                        memoize(input, 130, arguments_StartIndex);
15206:                    }
15207:                }
15208:                return;
15209:            }
15210:
15211:            // $ANTLR end arguments
15212:
15213:            // $ANTLR start synpred1
15214:            public final void synpred1_fragment() throws RecognitionException {
15215:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )
15216:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: annotations
15217:                {
15218:                    pushFollow(FOLLOW_annotations_in_synpred170);
15219:                    annotations();
15220:                    _fsp--;
15221:                    if (failed)
15222:                        return;
15223:
15224:                }
15225:            }
15226:
15227:            // $ANTLR end synpred1
15228:
15229:            // $ANTLR start synpred38
15230:            public final void synpred38_fragment() throws RecognitionException {
15231:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: ( methodDeclaration )
15232:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: methodDeclaration
15233:                {
15234:                    pushFollow(FOLLOW_methodDeclaration_in_synpred38577);
15235:                    methodDeclaration();
15236:                    _fsp--;
15237:                    if (failed)
15238:                        return;
15239:
15240:                }
15241:            }
15242:
15243:            // $ANTLR end synpred38
15244:
15245:            // $ANTLR start synpred39
15246:            public final void synpred39_fragment() throws RecognitionException {
15247:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: ( fieldDeclaration )
15248:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: fieldDeclaration
15249:                {
15250:                    pushFollow(FOLLOW_fieldDeclaration_in_synpred39582);
15251:                    fieldDeclaration();
15252:                    _fsp--;
15253:                    if (failed)
15254:                        return;
15255:
15256:                }
15257:            }
15258:
15259:            // $ANTLR end synpred39
15260:
15261:            // $ANTLR start synpred85
15262:            public final void synpred85_fragment() throws RecognitionException {
15263:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:16: ( '.' Identifier )
15264:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:16: '.' Identifier
15265:                {
15266:                    match(input, 28, FOLLOW_28_in_synpred851389);
15267:                    if (failed)
15268:                        return;
15269:                    match(input, Identifier, FOLLOW_Identifier_in_synpred851391);
15270:                    if (failed)
15271:                        return;
15272:
15273:                }
15274:            }
15275:
15276:            // $ANTLR end synpred85
15277:
15278:            // $ANTLR start synpred120
15279:            public final void synpred120_fragment() throws RecognitionException {
15280:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:545:4: ( annotation )
15281:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:545:4: annotation
15282:                {
15283:                    pushFollow(FOLLOW_annotation_in_synpred1201893);
15284:                    annotation();
15285:                    _fsp--;
15286:                    if (failed)
15287:                        return;
15288:
15289:                }
15290:            }
15291:
15292:            // $ANTLR end synpred120
15293:
15294:            // $ANTLR start synpred135
15295:            public final void synpred135_fragment() throws RecognitionException {
15296:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:6: ( classDeclaration ( ';' )? )
15297:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:6: classDeclaration ( ';' )?
15298:                {
15299:                    pushFollow(FOLLOW_classDeclaration_in_synpred1352123);
15300:                    classDeclaration();
15301:                    _fsp--;
15302:                    if (failed)
15303:                        return;
15304:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:23: ( ';' )?
15305:                    int alt194 = 2;
15306:                    int LA194_0 = input.LA(1);
15307:
15308:                    if ((LA194_0 == 25)) {
15309:                        alt194 = 1;
15310:                    }
15311:                    switch (alt194) {
15312:                    case 1:
15313:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
15314:                    {
15315:                        match(input, 25, FOLLOW_25_in_synpred1352125);
15316:                        if (failed)
15317:                            return;
15318:
15319:                    }
15320:                        break;
15321:
15322:                    }
15323:
15324:                }
15325:            }
15326:
15327:            // $ANTLR end synpred135
15328:
15329:            // $ANTLR start synpred137
15330:            public final void synpred137_fragment() throws RecognitionException {
15331:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:6: ( interfaceDeclaration ( ';' )? )
15332:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:6: interfaceDeclaration ( ';' )?
15333:                {
15334:                    pushFollow(FOLLOW_interfaceDeclaration_in_synpred1372133);
15335:                    interfaceDeclaration();
15336:                    _fsp--;
15337:                    if (failed)
15338:                        return;
15339:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:27: ( ';' )?
15340:                    int alt195 = 2;
15341:                    int LA195_0 = input.LA(1);
15342:
15343:                    if ((LA195_0 == 25)) {
15344:                        alt195 = 1;
15345:                    }
15346:                    switch (alt195) {
15347:                    case 1:
15348:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
15349:                    {
15350:                        match(input, 25, FOLLOW_25_in_synpred1372135);
15351:                        if (failed)
15352:                            return;
15353:
15354:                    }
15355:                        break;
15356:
15357:                    }
15358:
15359:                }
15360:            }
15361:
15362:            // $ANTLR end synpred137
15363:
15364:            // $ANTLR start synpred139
15365:            public final void synpred139_fragment() throws RecognitionException {
15366:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: ( enumDeclaration ( ';' )? )
15367:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: enumDeclaration ( ';' )?
15368:                {
15369:                    pushFollow(FOLLOW_enumDeclaration_in_synpred1392143);
15370:                    enumDeclaration();
15371:                    _fsp--;
15372:                    if (failed)
15373:                        return;
15374:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:22: ( ';' )?
15375:                    int alt196 = 2;
15376:                    int LA196_0 = input.LA(1);
15377:
15378:                    if ((LA196_0 == 25)) {
15379:                        alt196 = 1;
15380:                    }
15381:                    switch (alt196) {
15382:                    case 1:
15383:                        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
15384:                    {
15385:                        match(input, 25, FOLLOW_25_in_synpred1392145);
15386:                        if (failed)
15387:                            return;
15388:
15389:                    }
15390:                        break;
15391:
15392:                    }
15393:
15394:                }
15395:            }
15396:
15397:            // $ANTLR end synpred139
15398:
15399:            // $ANTLR start synpred144
15400:            public final void synpred144_fragment() throws RecognitionException {
15401:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:4: ( localVariableDeclaration )
15402:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:4: localVariableDeclaration
15403:                {
15404:                    pushFollow(FOLLOW_localVariableDeclaration_in_synpred1442286);
15405:                    localVariableDeclaration();
15406:                    _fsp--;
15407:                    if (failed)
15408:                        return;
15409:
15410:                }
15411:            }
15412:
15413:            // $ANTLR end synpred144
15414:
15415:            // $ANTLR start synpred145
15416:            public final void synpred145_fragment() throws RecognitionException {
15417:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:629:4: ( classOrInterfaceDeclaration )
15418:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:629:4: classOrInterfaceDeclaration
15419:                {
15420:                    pushFollow(FOLLOW_classOrInterfaceDeclaration_in_synpred1452291);
15421:                    classOrInterfaceDeclaration();
15422:                    _fsp--;
15423:                    if (failed)
15424:                        return;
15425:
15426:                }
15427:            }
15428:
15429:            // $ANTLR end synpred145
15430:
15431:            // $ANTLR start synpred150
15432:            public final void synpred150_fragment() throws RecognitionException {
15433:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:52: ( 'else' statement )
15434:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:52: 'else' statement
15435:                {
15436:                    match(input, 76, FOLLOW_76_in_synpred1502431);
15437:                    if (failed)
15438:                        return;
15439:                    pushFollow(FOLLOW_statement_in_synpred1502433);
15440:                    statement();
15441:                    _fsp--;
15442:                    if (failed)
15443:                        return;
15444:
15445:                }
15446:            }
15447:
15448:            // $ANTLR end synpred150
15449:
15450:            // $ANTLR start synpred155
15451:            public final void synpred155_fragment() throws RecognitionException {
15452:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:9: ( catches 'finally' block )
15453:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:9: catches 'finally' block
15454:                {
15455:                    pushFollow(FOLLOW_catches_in_synpred1552499);
15456:                    catches();
15457:                    _fsp--;
15458:                    if (failed)
15459:                        return;
15460:                    match(input, 81, FOLLOW_81_in_synpred1552501);
15461:                    if (failed)
15462:                        return;
15463:                    pushFollow(FOLLOW_block_in_synpred1552503);
15464:                    block();
15465:                    _fsp--;
15466:                    if (failed)
15467:                        return;
15468:
15469:                }
15470:            }
15471:
15472:            // $ANTLR end synpred155
15473:
15474:            // $ANTLR start synpred156
15475:            public final void synpred156_fragment() throws RecognitionException {
15476:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:668:9: ( catches )
15477:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:668:9: catches
15478:                {
15479:                    pushFollow(FOLLOW_catches_in_synpred1562513);
15480:                    catches();
15481:                    _fsp--;
15482:                    if (failed)
15483:                        return;
15484:
15485:                }
15486:            }
15487:
15488:            // $ANTLR end synpred156
15489:
15490:            // $ANTLR start synpred173
15491:            public final void synpred173_fragment() throws RecognitionException {
15492:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:703:4: ( 'case' constantExpression ':' )
15493:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:703:4: 'case' constantExpression ':'
15494:                {
15495:                    match(input, 88, FOLLOW_88_in_synpred1732738);
15496:                    if (failed)
15497:                        return;
15498:                    pushFollow(FOLLOW_constantExpression_in_synpred1732740);
15499:                    constantExpression();
15500:                    _fsp--;
15501:                    if (failed)
15502:                        return;
15503:                    match(input, 74, FOLLOW_74_in_synpred1732742);
15504:                    if (failed)
15505:                        return;
15506:
15507:                }
15508:            }
15509:
15510:            // $ANTLR end synpred173
15511:
15512:            // $ANTLR start synpred174
15513:            public final void synpred174_fragment() throws RecognitionException {
15514:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:704:6: ( 'case' enumConstantName ':' )
15515:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:704:6: 'case' enumConstantName ':'
15516:                {
15517:                    match(input, 88, FOLLOW_88_in_synpred1742749);
15518:                    if (failed)
15519:                        return;
15520:                    pushFollow(FOLLOW_enumConstantName_in_synpred1742751);
15521:                    enumConstantName();
15522:                    _fsp--;
15523:                    if (failed)
15524:                        return;
15525:                    match(input, 74, FOLLOW_74_in_synpred1742753);
15526:                    if (failed)
15527:                        return;
15528:
15529:                }
15530:            }
15531:
15532:            // $ANTLR end synpred174
15533:
15534:            // $ANTLR start synpred176
15535:            public final void synpred176_fragment() throws RecognitionException {
15536:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:714:4: ( forVarControl )
15537:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:714:4: forVarControl
15538:                {
15539:                    pushFollow(FOLLOW_forVarControl_in_synpred1762798);
15540:                    forVarControl();
15541:                    _fsp--;
15542:                    if (failed)
15543:                        return;
15544:
15545:                }
15546:            }
15547:
15548:            // $ANTLR end synpred176
15549:
15550:            // $ANTLR start synpred181
15551:            public final void synpred181_fragment() throws RecognitionException {
15552:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( ( variableModifier )* type variableDeclarators )
15553:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( variableModifier )* type variableDeclarators
15554:                {
15555:                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: ( variableModifier )*
15556:                    loop203: do {
15557:                        int alt203 = 2;
15558:                        int LA203_0 = input.LA(1);
15559:
15560:                        if ((LA203_0 == 49 || LA203_0 == 71)) {
15561:                            alt203 = 1;
15562:                        }
15563:
15564:                        switch (alt203) {
15565:                        case 1:
15566:                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
15567:                        {
15568:                            pushFollow(FOLLOW_variableModifier_in_synpred1812851);
15569:                            variableModifier();
15570:                            _fsp--;
15571:                            if (failed)
15572:                                return;
15573:
15574:                        }
15575:                            break;
15576:
15577:                        default:
15578:                            break loop203;
15579:                        }
15580:                    } while (true);
15581:
15582:                    pushFollow(FOLLOW_type_in_synpred1812854);
15583:                    type();
15584:                    _fsp--;
15585:                    if (failed)
15586:                        return;
15587:                    pushFollow(FOLLOW_variableDeclarators_in_synpred1812856);
15588:                    variableDeclarators();
15589:                    _fsp--;
15590:                    if (failed)
15591:                        return;
15592:
15593:                }
15594:            }
15595:
15596:            // $ANTLR end synpred181
15597:
15598:            // $ANTLR start synpred184
15599:            public final void synpred184_fragment() throws RecognitionException {
15600:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:27: ( assignmentOperator expression )
15601:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:27: assignmentOperator expression
15602:                {
15603:                    pushFollow(FOLLOW_assignmentOperator_in_synpred1842975);
15604:                    assignmentOperator();
15605:                    _fsp--;
15606:                    if (failed)
15607:                        return;
15608:                    pushFollow(FOLLOW_expression_in_synpred1842977);
15609:                    expression();
15610:                    _fsp--;
15611:                    if (failed)
15612:                        return;
15613:
15614:                }
15615:            }
15616:
15617:            // $ANTLR end synpred184
15618:
15619:            // $ANTLR start synpred195
15620:            public final void synpred195_fragment() throws RecognitionException {
15621:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:9: ( '>' '>' '=' )
15622:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:9: '>' '>' '='
15623:                {
15624:                    match(input, 35, FOLLOW_35_in_synpred1953095);
15625:                    if (failed)
15626:                        return;
15627:                    match(input, 35, FOLLOW_35_in_synpred1953097);
15628:                    if (failed)
15629:                        return;
15630:                    match(input, 44, FOLLOW_44_in_synpred1953099);
15631:                    if (failed)
15632:                        return;
15633:
15634:                }
15635:            }
15636:
15637:            // $ANTLR end synpred195
15638:
15639:            // $ANTLR start synpred205
15640:            public final void synpred205_fragment() throws RecognitionException {
15641:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:27: ( relationalOp shiftExpression )
15642:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:807:27: relationalOp shiftExpression
15643:                {
15644:                    pushFollow(FOLLOW_relationalOp_in_synpred2053343);
15645:                    relationalOp();
15646:                    _fsp--;
15647:                    if (failed)
15648:                        return;
15649:                    pushFollow(FOLLOW_shiftExpression_in_synpred2053345);
15650:                    shiftExpression();
15651:                    _fsp--;
15652:                    if (failed)
15653:                        return;
15654:
15655:                }
15656:            }
15657:
15658:            // $ANTLR end synpred205
15659:
15660:            // $ANTLR start synpred209
15661:            public final void synpred209_fragment() throws RecognitionException {
15662:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:30: ( shiftOp additiveExpression )
15663:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:815:30: shiftOp additiveExpression
15664:                {
15665:                    pushFollow(FOLLOW_shiftOp_in_synpred2093398);
15666:                    shiftOp();
15667:                    _fsp--;
15668:                    if (failed)
15669:                        return;
15670:                    pushFollow(FOLLOW_additiveExpression_in_synpred2093400);
15671:                    additiveExpression();
15672:                    _fsp--;
15673:                    if (failed)
15674:                        return;
15675:
15676:                }
15677:            }
15678:
15679:            // $ANTLR end synpred209
15680:
15681:            // $ANTLR start synpred211
15682:            public final void synpred211_fragment() throws RecognitionException {
15683:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:15: ( '>' '>' '>' )
15684:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:15: '>' '>' '>'
15685:                {
15686:                    match(input, 35, FOLLOW_35_in_synpred2113430);
15687:                    if (failed)
15688:                        return;
15689:                    match(input, 35, FOLLOW_35_in_synpred2113432);
15690:                    if (failed)
15691:                        return;
15692:                    match(input, 35, FOLLOW_35_in_synpred2113434);
15693:                    if (failed)
15694:                        return;
15695:
15696:                }
15697:            }
15698:
15699:            // $ANTLR end synpred211
15700:
15701:            // $ANTLR start synpred223
15702:            public final void synpred223_fragment() throws RecognitionException {
15703:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:843:9: ( castExpression )
15704:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:843:9: castExpression
15705:                {
15706:                    pushFollow(FOLLOW_castExpression_in_synpred2233615);
15707:                    castExpression();
15708:                    _fsp--;
15709:                    if (failed)
15710:                        return;
15711:
15712:                }
15713:            }
15714:
15715:            // $ANTLR end synpred223
15716:
15717:            // $ANTLR start synpred227
15718:            public final void synpred227_fragment() throws RecognitionException {
15719:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:848:8: ( '(' primitiveType ')' unaryExpression )
15720:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:848:8: '(' primitiveType ')' unaryExpression
15721:                {
15722:                    match(input, 65, FOLLOW_65_in_synpred2273653);
15723:                    if (failed)
15724:                        return;
15725:                    pushFollow(FOLLOW_primitiveType_in_synpred2273655);
15726:                    primitiveType();
15727:                    _fsp--;
15728:                    if (failed)
15729:                        return;
15730:                    match(input, 66, FOLLOW_66_in_synpred2273657);
15731:                    if (failed)
15732:                        return;
15733:                    pushFollow(FOLLOW_unaryExpression_in_synpred2273659);
15734:                    unaryExpression();
15735:                    _fsp--;
15736:                    if (failed)
15737:                        return;
15738:
15739:                }
15740:            }
15741:
15742:            // $ANTLR end synpred227
15743:
15744:            // $ANTLR start synpred228
15745:            public final void synpred228_fragment() throws RecognitionException {
15746:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:13: ( type )
15747:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:13: type
15748:                {
15749:                    pushFollow(FOLLOW_type_in_synpred2283671);
15750:                    type();
15751:                    _fsp--;
15752:                    if (failed)
15753:                        return;
15754:
15755:                }
15756:            }
15757:
15758:            // $ANTLR end synpred228
15759:
15760:            // $ANTLR start synpred232
15761:            public final void synpred232_fragment() throws RecognitionException {
15762:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:17: ( '.' Identifier )
15763:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:17: '.' Identifier
15764:                {
15765:                    match(input, 28, FOLLOW_28_in_synpred2323738);
15766:                    if (failed)
15767:                        return;
15768:                    match(input, Identifier,
15769:                            FOLLOW_Identifier_in_synpred2323740);
15770:                    if (failed)
15771:                        return;
15772:
15773:                }
15774:            }
15775:
15776:            // $ANTLR end synpred232
15777:
15778:            // $ANTLR start synpred233
15779:            public final void synpred233_fragment() throws RecognitionException {
15780:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:35: ( identifierSuffix )
15781:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:35: identifierSuffix
15782:                {
15783:                    pushFollow(FOLLOW_identifierSuffix_in_synpred2333745);
15784:                    identifierSuffix();
15785:                    _fsp--;
15786:                    if (failed)
15787:                        return;
15788:
15789:                }
15790:            }
15791:
15792:            // $ANTLR end synpred233
15793:
15794:            // $ANTLR start synpred238
15795:            public final void synpred238_fragment() throws RecognitionException {
15796:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:127: ( '.' Identifier )
15797:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:127: '.' Identifier
15798:                {
15799:                    match(input, 28, FOLLOW_28_in_synpred2383798);
15800:                    if (failed)
15801:                        return;
15802:                    match(input, Identifier,
15803:                            FOLLOW_Identifier_in_synpred2383800);
15804:                    if (failed)
15805:                        return;
15806:
15807:                }
15808:            }
15809:
15810:            // $ANTLR end synpred238
15811:
15812:            // $ANTLR start synpred239
15813:            public final void synpred239_fragment() throws RecognitionException {
15814:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:145: ( identifierSuffix )
15815:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:145: identifierSuffix
15816:                {
15817:                    pushFollow(FOLLOW_identifierSuffix_in_synpred2393805);
15818:                    identifierSuffix();
15819:                    _fsp--;
15820:                    if (failed)
15821:                        return;
15822:
15823:                }
15824:            }
15825:
15826:            // $ANTLR end synpred239
15827:
15828:            // $ANTLR start synpred245
15829:            public final void synpred245_fragment() throws RecognitionException {
15830:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:5: ( '[' expression ']' )
15831:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:5: '[' expression ']'
15832:                {
15833:                    match(input, 41, FOLLOW_41_in_synpred2453868);
15834:                    if (failed)
15835:                        return;
15836:                    pushFollow(FOLLOW_expression_in_synpred2453870);
15837:                    expression();
15838:                    _fsp--;
15839:                    if (failed)
15840:                        return;
15841:                    match(input, 42, FOLLOW_42_in_synpred2453872);
15842:                    if (failed)
15843:                        return;
15844:
15845:                }
15846:            }
15847:
15848:            // $ANTLR end synpred245
15849:
15850:            // $ANTLR start synpred261
15851:            public final void synpred261_fragment() throws RecognitionException {
15852:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:29: ( '[' expression ']' )
15853:                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:29: '[' expression ']'
15854:                {
15855:                    match(input, 41, FOLLOW_41_in_synpred2614092);
15856:                    if (failed)
15857:                        return;
15858:                    pushFollow(FOLLOW_expression_in_synpred2614094);
15859:                    expression();
15860:                    _fsp--;
15861:                    if (failed)
15862:                        return;
15863:                    match(input, 42, FOLLOW_42_in_synpred2614096);
15864:                    if (failed)
15865:                        return;
15866:
15867:                }
15868:            }
15869:
15870:            // $ANTLR end synpred261
15871:
15872:            public final boolean synpred139() {
15873:                backtracking++;
15874:                int start = input.mark();
15875:                try {
15876:                    synpred139_fragment(); // can never throw exception
15877:                } catch (RecognitionException re) {
15878:                    System.err.println("impossible: " + re);
15879:                }
15880:                boolean success = !failed;
15881:                input.rewind(start);
15882:                backtracking--;
15883:                failed = false;
15884:                return success;
15885:            }
15886:
15887:            public final boolean synpred156() {
15888:                backtracking++;
15889:                int start = input.mark();
15890:                try {
15891:                    synpred156_fragment(); // can never throw exception
15892:                } catch (RecognitionException re) {
15893:                    System.err.println("impossible: " + re);
15894:                }
15895:                boolean success = !failed;
15896:                input.rewind(start);
15897:                backtracking--;
15898:                failed = false;
15899:                return success;
15900:            }
15901:
15902:            public final boolean synpred209() {
15903:                backtracking++;
15904:                int start = input.mark();
15905:                try {
15906:                    synpred209_fragment(); // can never throw exception
15907:                } catch (RecognitionException re) {
15908:                    System.err.println("impossible: " + re);
15909:                }
15910:                boolean success = !failed;
15911:                input.rewind(start);
15912:                backtracking--;
15913:                failed = false;
15914:                return success;
15915:            }
15916:
15917:            public final boolean synpred120() {
15918:                backtracking++;
15919:                int start = input.mark();
15920:                try {
15921:                    synpred120_fragment(); // can never throw exception
15922:                } catch (RecognitionException re) {
15923:                    System.err.println("impossible: " + re);
15924:                }
15925:                boolean success = !failed;
15926:                input.rewind(start);
15927:                backtracking--;
15928:                failed = false;
15929:                return success;
15930:            }
15931:
15932:            public final boolean synpred232() {
15933:                backtracking++;
15934:                int start = input.mark();
15935:                try {
15936:                    synpred232_fragment(); // can never throw exception
15937:                } catch (RecognitionException re) {
15938:                    System.err.println("impossible: " + re);
15939:                }
15940:                boolean success = !failed;
15941:                input.rewind(start);
15942:                backtracking--;
15943:                failed = false;
15944:                return success;
15945:            }
15946:
15947:            public final boolean synpred228() {
15948:                backtracking++;
15949:                int start = input.mark();
15950:                try {
15951:                    synpred228_fragment(); // can never throw exception
15952:                } catch (RecognitionException re) {
15953:                    System.err.println("impossible: " + re);
15954:                }
15955:                boolean success = !failed;
15956:                input.rewind(start);
15957:                backtracking--;
15958:                failed = false;
15959:                return success;
15960:            }
15961:
15962:            public final boolean synpred195() {
15963:                backtracking++;
15964:                int start = input.mark();
15965:                try {
15966:                    synpred195_fragment(); // can never throw exception
15967:                } catch (RecognitionException re) {
15968:                    System.err.println("impossible: " + re);
15969:                }
15970:                boolean success = !failed;
15971:                input.rewind(start);
15972:                backtracking--;
15973:                failed = false;
15974:                return success;
15975:            }
15976:
15977:            public final boolean synpred173() {
15978:                backtracking++;
15979:                int start = input.mark();
15980:                try {
15981:                    synpred173_fragment(); // can never throw exception
15982:                } catch (RecognitionException re) {
15983:                    System.err.println("impossible: " + re);
15984:                }
15985:                boolean success = !failed;
15986:                input.rewind(start);
15987:                backtracking--;
15988:                failed = false;
15989:                return success;
15990:            }
15991:
15992:            public final boolean synpred38() {
15993:                backtracking++;
15994:                int start = input.mark();
15995:                try {
15996:                    synpred38_fragment(); // can never throw exception
15997:                } catch (RecognitionException re) {
15998:                    System.err.println("impossible: " + re);
15999:                }
16000:                boolean success = !failed;
16001:                input.rewind(start);
16002:                backtracking--;
16003:                failed = false;
16004:                return success;
16005:            }
16006:
16007:            public final boolean synpred184() {
16008:                backtracking++;
16009:                int start = input.mark();
16010:                try {
16011:                    synpred184_fragment(); // can never throw exception
16012:                } catch (RecognitionException re) {
16013:                    System.err.println("impossible: " + re);
16014:                }
16015:                boolean success = !failed;
16016:                input.rewind(start);
16017:                backtracking--;
16018:                failed = false;
16019:                return success;
16020:            }
16021:
16022:            public final boolean synpred155() {
16023:                backtracking++;
16024:                int start = input.mark();
16025:                try {
16026:                    synpred155_fragment(); // can never throw exception
16027:                } catch (RecognitionException re) {
16028:                    System.err.println("impossible: " + re);
16029:                }
16030:                boolean success = !failed;
16031:                input.rewind(start);
16032:                backtracking--;
16033:                failed = false;
16034:                return success;
16035:            }
16036:
16037:            public final boolean synpred85() {
16038:                backtracking++;
16039:                int start = input.mark();
16040:                try {
16041:                    synpred85_fragment(); // can never throw exception
16042:                } catch (RecognitionException re) {
16043:                    System.err.println("impossible: " + re);
16044:                }
16045:                boolean success = !failed;
16046:                input.rewind(start);
16047:                backtracking--;
16048:                failed = false;
16049:                return success;
16050:            }
16051:
16052:            public final boolean synpred227() {
16053:                backtracking++;
16054:                int start = input.mark();
16055:                try {
16056:                    synpred227_fragment(); // can never throw exception
16057:                } catch (RecognitionException re) {
16058:                    System.err.println("impossible: " + re);
16059:                }
16060:                boolean success = !failed;
16061:                input.rewind(start);
16062:                backtracking--;
16063:                failed = false;
16064:                return success;
16065:            }
16066:
16067:            public final boolean synpred39() {
16068:                backtracking++;
16069:                int start = input.mark();
16070:                try {
16071:                    synpred39_fragment(); // can never throw exception
16072:                } catch (RecognitionException re) {
16073:                    System.err.println("impossible: " + re);
16074:                }
16075:                boolean success = !failed;
16076:                input.rewind(start);
16077:                backtracking--;
16078:                failed = false;
16079:                return success;
16080:            }
16081:
16082:            public final boolean synpred205() {
16083:                backtracking++;
16084:                int start = input.mark();
16085:                try {
16086:                    synpred205_fragment(); // can never throw exception
16087:                } catch (RecognitionException re) {
16088:                    System.err.println("impossible: " + re);
16089:                }
16090:                boolean success = !failed;
16091:                input.rewind(start);
16092:                backtracking--;
16093:                failed = false;
16094:                return success;
16095:            }
16096:
16097:            public final boolean synpred1() {
16098:                backtracking++;
16099:                int start = input.mark();
16100:                try {
16101:                    synpred1_fragment(); // can never throw exception
16102:                } catch (RecognitionException re) {
16103:                    System.err.println("impossible: " + re);
16104:                }
16105:                boolean success = !failed;
16106:                input.rewind(start);
16107:                backtracking--;
16108:                failed = false;
16109:                return success;
16110:            }
16111:
16112:            public final boolean synpred145() {
16113:                backtracking++;
16114:                int start = input.mark();
16115:                try {
16116:                    synpred145_fragment(); // can never throw exception
16117:                } catch (RecognitionException re) {
16118:                    System.err.println("impossible: " + re);
16119:                }
16120:                boolean success = !failed;
16121:                input.rewind(start);
16122:                backtracking--;
16123:                failed = false;
16124:                return success;
16125:            }
16126:
16127:            public final boolean synpred176() {
16128:                backtracking++;
16129:                int start = input.mark();
16130:                try {
16131:                    synpred176_fragment(); // can never throw exception
16132:                } catch (RecognitionException re) {
16133:                    System.err.println("impossible: " + re);
16134:                }
16135:                boolean success = !failed;
16136:                input.rewind(start);
16137:                backtracking--;
16138:                failed = false;
16139:                return success;
16140:            }
16141:
16142:            public final boolean synpred233() {
16143:                backtracking++;
16144:                int start = input.mark();
16145:                try {
16146:                    synpred233_fragment(); // can never throw exception
16147:                } catch (RecognitionException re) {
16148:                    System.err.println("impossible: " + re);
16149:                }
16150:                boolean success = !failed;
16151:                input.rewind(start);
16152:                backtracking--;
16153:                failed = false;
16154:                return success;
16155:            }
16156:
16157:            public final boolean synpred174() {
16158:                backtracking++;
16159:                int start = input.mark();
16160:                try {
16161:                    synpred174_fragment(); // can never throw exception
16162:                } catch (RecognitionException re) {
16163:                    System.err.println("impossible: " + re);
16164:                }
16165:                boolean success = !failed;
16166:                input.rewind(start);
16167:                backtracking--;
16168:                failed = false;
16169:                return success;
16170:            }
16171:
16172:            public final boolean synpred261() {
16173:                backtracking++;
16174:                int start = input.mark();
16175:                try {
16176:                    synpred261_fragment(); // can never throw exception
16177:                } catch (RecognitionException re) {
16178:                    System.err.println("impossible: " + re);
16179:                }
16180:                boolean success = !failed;
16181:                input.rewind(start);
16182:                backtracking--;
16183:                failed = false;
16184:                return success;
16185:            }
16186:
16187:            public final boolean synpred211() {
16188:                backtracking++;
16189:                int start = input.mark();
16190:                try {
16191:                    synpred211_fragment(); // can never throw exception
16192:                } catch (RecognitionException re) {
16193:                    System.err.println("impossible: " + re);
16194:                }
16195:                boolean success = !failed;
16196:                input.rewind(start);
16197:                backtracking--;
16198:                failed = false;
16199:                return success;
16200:            }
16201:
16202:            public final boolean synpred135() {
16203:                backtracking++;
16204:                int start = input.mark();
16205:                try {
16206:                    synpred135_fragment(); // can never throw exception
16207:                } catch (RecognitionException re) {
16208:                    System.err.println("impossible: " + re);
16209:                }
16210:                boolean success = !failed;
16211:                input.rewind(start);
16212:                backtracking--;
16213:                failed = false;
16214:                return success;
16215:            }
16216:
16217:            public final boolean synpred181() {
16218:                backtracking++;
16219:                int start = input.mark();
16220:                try {
16221:                    synpred181_fragment(); // can never throw exception
16222:                } catch (RecognitionException re) {
16223:                    System.err.println("impossible: " + re);
16224:                }
16225:                boolean success = !failed;
16226:                input.rewind(start);
16227:                backtracking--;
16228:                failed = false;
16229:                return success;
16230:            }
16231:
16232:            public final boolean synpred238() {
16233:                backtracking++;
16234:                int start = input.mark();
16235:                try {
16236:                    synpred238_fragment(); // can never throw exception
16237:                } catch (RecognitionException re) {
16238:                    System.err.println("impossible: " + re);
16239:                }
16240:                boolean success = !failed;
16241:                input.rewind(start);
16242:                backtracking--;
16243:                failed = false;
16244:                return success;
16245:            }
16246:
16247:            public final boolean synpred150() {
16248:                backtracking++;
16249:                int start = input.mark();
16250:                try {
16251:                    synpred150_fragment(); // can never throw exception
16252:                } catch (RecognitionException re) {
16253:                    System.err.println("impossible: " + re);
16254:                }
16255:                boolean success = !failed;
16256:                input.rewind(start);
16257:                backtracking--;
16258:                failed = false;
16259:                return success;
16260:            }
16261:
16262:            public final boolean synpred137() {
16263:                backtracking++;
16264:                int start = input.mark();
16265:                try {
16266:                    synpred137_fragment(); // can never throw exception
16267:                } catch (RecognitionException re) {
16268:                    System.err.println("impossible: " + re);
16269:                }
16270:                boolean success = !failed;
16271:                input.rewind(start);
16272:                backtracking--;
16273:                failed = false;
16274:                return success;
16275:            }
16276:
16277:            public final boolean synpred239() {
16278:                backtracking++;
16279:                int start = input.mark();
16280:                try {
16281:                    synpred239_fragment(); // can never throw exception
16282:                } catch (RecognitionException re) {
16283:                    System.err.println("impossible: " + re);
16284:                }
16285:                boolean success = !failed;
16286:                input.rewind(start);
16287:                backtracking--;
16288:                failed = false;
16289:                return success;
16290:            }
16291:
16292:            public final boolean synpred245() {
16293:                backtracking++;
16294:                int start = input.mark();
16295:                try {
16296:                    synpred245_fragment(); // can never throw exception
16297:                } catch (RecognitionException re) {
16298:                    System.err.println("impossible: " + re);
16299:                }
16300:                boolean success = !failed;
16301:                input.rewind(start);
16302:                backtracking--;
16303:                failed = false;
16304:                return success;
16305:            }
16306:
16307:            public final boolean synpred144() {
16308:                backtracking++;
16309:                int start = input.mark();
16310:                try {
16311:                    synpred144_fragment(); // can never throw exception
16312:                } catch (RecognitionException re) {
16313:                    System.err.println("impossible: " + re);
16314:                }
16315:                boolean success = !failed;
16316:                input.rewind(start);
16317:                backtracking--;
16318:                failed = false;
16319:                return success;
16320:            }
16321:
16322:            public final boolean synpred223() {
16323:                backtracking++;
16324:                int start = input.mark();
16325:                try {
16326:                    synpred223_fragment(); // can never throw exception
16327:                } catch (RecognitionException re) {
16328:                    System.err.println("impossible: " + re);
16329:                }
16330:                boolean success = !failed;
16331:                input.rewind(start);
16332:                backtracking--;
16333:                failed = false;
16334:                return success;
16335:            }
16336:
16337:            public static final BitSet FOLLOW_annotations_in_compilationUnit70 = new BitSet(
16338:                    new long[] { 0x007FE0804F000022L, 0x0000000000000080L });
16339:            public static final BitSet FOLLOW_packageDeclaration_in_compilationUnit75 = new BitSet(
16340:                    new long[] { 0x007FE0804E000022L, 0x0000000000000080L });
16341:            public static final BitSet FOLLOW_importDeclaration_in_compilationUnit86 = new BitSet(
16342:                    new long[] { 0x007FE0804E000022L, 0x0000000000000080L });
16343:            public static final BitSet FOLLOW_typeDeclaration_in_compilationUnit97 = new BitSet(
16344:                    new long[] { 0x007FE0804A000022L, 0x0000000000000080L });
16345:            public static final BitSet FOLLOW_24_in_packageDeclaration109 = new BitSet(
16346:                    new long[] { 0x0000000000000010L });
16347:            public static final BitSet FOLLOW_qualifiedName_in_packageDeclaration111 = new BitSet(
16348:                    new long[] { 0x0000000002000000L });
16349:            public static final BitSet FOLLOW_25_in_packageDeclaration113 = new BitSet(
16350:                    new long[] { 0x0000000000000002L });
16351:            public static final BitSet FOLLOW_26_in_importDeclaration125 = new BitSet(
16352:                    new long[] { 0x0000000008000010L });
16353:            public static final BitSet FOLLOW_27_in_importDeclaration127 = new BitSet(
16354:                    new long[] { 0x0000000000000010L });
16355:            public static final BitSet FOLLOW_Identifier_in_importDeclaration130 = new BitSet(
16356:                    new long[] { 0x0000000012000000L });
16357:            public static final BitSet FOLLOW_28_in_importDeclaration133 = new BitSet(
16358:                    new long[] { 0x0000000000000010L });
16359:            public static final BitSet FOLLOW_Identifier_in_importDeclaration135 = new BitSet(
16360:                    new long[] { 0x0000000012000000L });
16361:            public static final BitSet FOLLOW_28_in_importDeclaration140 = new BitSet(
16362:                    new long[] { 0x0000000020000000L });
16363:            public static final BitSet FOLLOW_29_in_importDeclaration142 = new BitSet(
16364:                    new long[] { 0x0000000002000000L });
16365:            public static final BitSet FOLLOW_25_in_importDeclaration146 = new BitSet(
16366:                    new long[] { 0x0000000000000002L });
16367:            public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_typeDeclaration158 = new BitSet(
16368:                    new long[] { 0x0000000000000002L });
16369:            public static final BitSet FOLLOW_25_in_typeDeclaration168 = new BitSet(
16370:                    new long[] { 0x0000000000000002L });
16371:            public static final BitSet FOLLOW_modifier_in_classOrInterfaceDeclaration180 = new BitSet(
16372:                    new long[] { 0x007FE08048000020L, 0x0000000000000080L });
16373:            public static final BitSet FOLLOW_classDeclaration_in_classOrInterfaceDeclaration184 = new BitSet(
16374:                    new long[] { 0x0000000000000002L });
16375:            public static final BitSet FOLLOW_interfaceDeclaration_in_classOrInterfaceDeclaration188 = new BitSet(
16376:                    new long[] { 0x0000000000000002L });
16377:            public static final BitSet FOLLOW_normalClassDeclaration_in_classDeclaration201 = new BitSet(
16378:                    new long[] { 0x0000000000000002L });
16379:            public static final BitSet FOLLOW_enumDeclaration_in_classDeclaration211 = new BitSet(
16380:                    new long[] { 0x0000000000000002L });
16381:            public static final BitSet FOLLOW_30_in_normalClassDeclaration223 = new BitSet(
16382:                    new long[] { 0x0000000000000010L });
16383:            public static final BitSet FOLLOW_Identifier_in_normalClassDeclaration225 = new BitSet(
16384:                    new long[] { 0x0000002380000000L });
16385:            public static final BitSet FOLLOW_typeParameters_in_normalClassDeclaration228 = new BitSet(
16386:                    new long[] { 0x0000002180000000L });
16387:            public static final BitSet FOLLOW_31_in_normalClassDeclaration241 = new BitSet(
16388:                    new long[] { 0x7F80000000000010L });
16389:            public static final BitSet FOLLOW_type_in_normalClassDeclaration243 = new BitSet(
16390:                    new long[] { 0x0000002100000000L });
16391:            public static final BitSet FOLLOW_32_in_normalClassDeclaration256 = new BitSet(
16392:                    new long[] { 0x7F80000000000010L });
16393:            public static final BitSet FOLLOW_typeList_in_normalClassDeclaration258 = new BitSet(
16394:                    new long[] { 0x0000002000000000L });
16395:            public static final BitSet FOLLOW_classBody_in_normalClassDeclaration270 = new BitSet(
16396:                    new long[] { 0x0000000000000002L });
16397:            public static final BitSet FOLLOW_33_in_typeParameters282 = new BitSet(
16398:                    new long[] { 0x0000000000000010L });
16399:            public static final BitSet FOLLOW_typeParameter_in_typeParameters284 = new BitSet(
16400:                    new long[] { 0x0000000C00000000L });
16401:            public static final BitSet FOLLOW_34_in_typeParameters287 = new BitSet(
16402:                    new long[] { 0x0000000000000010L });
16403:            public static final BitSet FOLLOW_typeParameter_in_typeParameters289 = new BitSet(
16404:                    new long[] { 0x0000000C00000000L });
16405:            public static final BitSet FOLLOW_35_in_typeParameters293 = new BitSet(
16406:                    new long[] { 0x0000000000000002L });
16407:            public static final BitSet FOLLOW_Identifier_in_typeParameter304 = new BitSet(
16408:                    new long[] { 0x0000000080000002L });
16409:            public static final BitSet FOLLOW_31_in_typeParameter307 = new BitSet(
16410:                    new long[] { 0x7F80000000000010L });
16411:            public static final BitSet FOLLOW_bound_in_typeParameter309 = new BitSet(
16412:                    new long[] { 0x0000000000000002L });
16413:            public static final BitSet FOLLOW_type_in_bound324 = new BitSet(
16414:                    new long[] { 0x0000001000000002L });
16415:            public static final BitSet FOLLOW_36_in_bound327 = new BitSet(
16416:                    new long[] { 0x7F80000000000010L });
16417:            public static final BitSet FOLLOW_type_in_bound329 = new BitSet(
16418:                    new long[] { 0x0000001000000002L });
16419:            public static final BitSet FOLLOW_ENUM_in_enumDeclaration342 = new BitSet(
16420:                    new long[] { 0x0000000000000010L });
16421:            public static final BitSet FOLLOW_Identifier_in_enumDeclaration344 = new BitSet(
16422:                    new long[] { 0x0000002100000000L });
16423:            public static final BitSet FOLLOW_32_in_enumDeclaration347 = new BitSet(
16424:                    new long[] { 0x7F80000000000010L });
16425:            public static final BitSet FOLLOW_typeList_in_enumDeclaration349 = new BitSet(
16426:                    new long[] { 0x0000002000000000L });
16427:            public static final BitSet FOLLOW_enumBody_in_enumDeclaration353 = new BitSet(
16428:                    new long[] { 0x0000000000000002L });
16429:            public static final BitSet FOLLOW_37_in_enumBody365 = new BitSet(
16430:                    new long[] { 0x0000004402000010L, 0x0000000000000080L });
16431:            public static final BitSet FOLLOW_enumConstants_in_enumBody367 = new BitSet(
16432:                    new long[] { 0x0000004402000000L });
16433:            public static final BitSet FOLLOW_34_in_enumBody370 = new BitSet(
16434:                    new long[] { 0x0000004002000000L });
16435:            public static final BitSet FOLLOW_enumBodyDeclarations_in_enumBody373 = new BitSet(
16436:                    new long[] { 0x0000004000000000L });
16437:            public static final BitSet FOLLOW_38_in_enumBody376 = new BitSet(
16438:                    new long[] { 0x0000000000000002L });
16439:            public static final BitSet FOLLOW_enumConstant_in_enumConstants387 = new BitSet(
16440:                    new long[] { 0x0000000400000002L });
16441:            public static final BitSet FOLLOW_34_in_enumConstants390 = new BitSet(
16442:                    new long[] { 0x0000000000000010L, 0x0000000000000080L });
16443:            public static final BitSet FOLLOW_enumConstant_in_enumConstants392 = new BitSet(
16444:                    new long[] { 0x0000000400000002L });
16445:            public static final BitSet FOLLOW_annotations_in_enumConstant406 = new BitSet(
16446:                    new long[] { 0x0000000000000010L });
16447:            public static final BitSet FOLLOW_Identifier_in_enumConstant409 = new BitSet(
16448:                    new long[] { 0x0000002000000002L, 0x0000000000000002L });
16449:            public static final BitSet FOLLOW_arguments_in_enumConstant412 = new BitSet(
16450:                    new long[] { 0x0000002000000002L });
16451:            public static final BitSet FOLLOW_classBody_in_enumConstant417 = new BitSet(
16452:                    new long[] { 0x0000000000000002L });
16453:            public static final BitSet FOLLOW_25_in_enumBodyDeclarations431 = new BitSet(
16454:                    new long[] { 0x7FFFE1A24A000032L, 0x0000000000000080L });
16455:            public static final BitSet FOLLOW_classBodyDeclaration_in_enumBodyDeclarations434 = new BitSet(
16456:                    new long[] { 0x7FFFE1A24A000032L, 0x0000000000000080L });
16457:            public static final BitSet FOLLOW_normalInterfaceDeclaration_in_interfaceDeclaration448 = new BitSet(
16458:                    new long[] { 0x0000000000000002L });
16459:            public static final BitSet FOLLOW_annotationTypeDeclaration_in_interfaceDeclaration454 = new BitSet(
16460:                    new long[] { 0x0000000000000002L });
16461:            public static final BitSet FOLLOW_39_in_normalInterfaceDeclaration466 = new BitSet(
16462:                    new long[] { 0x0000000000000010L });
16463:            public static final BitSet FOLLOW_Identifier_in_normalInterfaceDeclaration468 = new BitSet(
16464:                    new long[] { 0x0000002280000000L });
16465:            public static final BitSet FOLLOW_typeParameters_in_normalInterfaceDeclaration470 = new BitSet(
16466:                    new long[] { 0x0000002080000000L });
16467:            public static final BitSet FOLLOW_31_in_normalInterfaceDeclaration474 = new BitSet(
16468:                    new long[] { 0x7F80000000000010L });
16469:            public static final BitSet FOLLOW_typeList_in_normalInterfaceDeclaration476 = new BitSet(
16470:                    new long[] { 0x0000002000000000L });
16471:            public static final BitSet FOLLOW_interfaceBody_in_normalInterfaceDeclaration480 = new BitSet(
16472:                    new long[] { 0x0000000000000002L });
16473:            public static final BitSet FOLLOW_type_in_typeList492 = new BitSet(
16474:                    new long[] { 0x0000000400000002L });
16475:            public static final BitSet FOLLOW_34_in_typeList495 = new BitSet(
16476:                    new long[] { 0x7F80000000000010L });
16477:            public static final BitSet FOLLOW_type_in_typeList497 = new BitSet(
16478:                    new long[] { 0x0000000400000002L });
16479:            public static final BitSet FOLLOW_37_in_classBody511 = new BitSet(
16480:                    new long[] { 0x7FFFE1E24A000030L, 0x0000000000000080L });
16481:            public static final BitSet FOLLOW_classBodyDeclaration_in_classBody513 = new BitSet(
16482:                    new long[] { 0x7FFFE1E24A000030L, 0x0000000000000080L });
16483:            public static final BitSet FOLLOW_38_in_classBody516 = new BitSet(
16484:                    new long[] { 0x0000000000000002L });
16485:            public static final BitSet FOLLOW_37_in_interfaceBody528 = new BitSet(
16486:                    new long[] { 0x7FFFE1C24A000030L, 0x0000000000000080L });
16487:            public static final BitSet FOLLOW_interfaceBodyDeclaration_in_interfaceBody530 = new BitSet(
16488:                    new long[] { 0x7FFFE1C24A000030L, 0x0000000000000080L });
16489:            public static final BitSet FOLLOW_38_in_interfaceBody533 = new BitSet(
16490:                    new long[] { 0x0000000000000002L });
16491:            public static final BitSet FOLLOW_25_in_classBodyDeclaration544 = new BitSet(
16492:                    new long[] { 0x0000000000000002L });
16493:            public static final BitSet FOLLOW_27_in_classBodyDeclaration549 = new BitSet(
16494:                    new long[] { 0x0000002000000000L });
16495:            public static final BitSet FOLLOW_block_in_classBodyDeclaration552 = new BitSet(
16496:                    new long[] { 0x0000000000000002L });
16497:            public static final BitSet FOLLOW_modifier_in_classBodyDeclaration557 = new BitSet(
16498:                    new long[] { 0x7FFFE18248000030L, 0x0000000000000080L });
16499:            public static final BitSet FOLLOW_memberDecl_in_classBodyDeclaration560 = new BitSet(
16500:                    new long[] { 0x0000000000000002L });
16501:            public static final BitSet FOLLOW_genericMethodOrConstructorDecl_in_memberDecl572 = new BitSet(
16502:                    new long[] { 0x0000000000000002L });
16503:            public static final BitSet FOLLOW_methodDeclaration_in_memberDecl577 = new BitSet(
16504:                    new long[] { 0x0000000000000002L });
16505:            public static final BitSet FOLLOW_fieldDeclaration_in_memberDecl582 = new BitSet(
16506:                    new long[] { 0x0000000000000002L });
16507:            public static final BitSet FOLLOW_40_in_memberDecl587 = new BitSet(
16508:                    new long[] { 0x0000000000000010L });
16509:            public static final BitSet FOLLOW_Identifier_in_memberDecl589 = new BitSet(
16510:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16511:            public static final BitSet FOLLOW_voidMethodDeclaratorRest_in_memberDecl591 = new BitSet(
16512:                    new long[] { 0x0000000000000002L });
16513:            public static final BitSet FOLLOW_Identifier_in_memberDecl596 = new BitSet(
16514:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16515:            public static final BitSet FOLLOW_constructorDeclaratorRest_in_memberDecl598 = new BitSet(
16516:                    new long[] { 0x0000000000000002L });
16517:            public static final BitSet FOLLOW_interfaceDeclaration_in_memberDecl603 = new BitSet(
16518:                    new long[] { 0x0000000000000002L });
16519:            public static final BitSet FOLLOW_classDeclaration_in_memberDecl608 = new BitSet(
16520:                    new long[] { 0x0000000000000002L });
16521:            public static final BitSet FOLLOW_typeParameters_in_genericMethodOrConstructorDecl620 = new BitSet(
16522:                    new long[] { 0x7F80010000000010L });
16523:            public static final BitSet FOLLOW_genericMethodOrConstructorRest_in_genericMethodOrConstructorDecl622 = new BitSet(
16524:                    new long[] { 0x0000000000000002L });
16525:            public static final BitSet FOLLOW_type_in_genericMethodOrConstructorRest635 = new BitSet(
16526:                    new long[] { 0x0000000000000010L });
16527:            public static final BitSet FOLLOW_40_in_genericMethodOrConstructorRest639 = new BitSet(
16528:                    new long[] { 0x0000000000000010L });
16529:            public static final BitSet FOLLOW_Identifier_in_genericMethodOrConstructorRest642 = new BitSet(
16530:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16531:            public static final BitSet FOLLOW_methodDeclaratorRest_in_genericMethodOrConstructorRest644 = new BitSet(
16532:                    new long[] { 0x0000000000000002L });
16533:            public static final BitSet FOLLOW_Identifier_in_genericMethodOrConstructorRest649 = new BitSet(
16534:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16535:            public static final BitSet FOLLOW_constructorDeclaratorRest_in_genericMethodOrConstructorRest651 = new BitSet(
16536:                    new long[] { 0x0000000000000002L });
16537:            public static final BitSet FOLLOW_type_in_methodDeclaration662 = new BitSet(
16538:                    new long[] { 0x0000000000000010L });
16539:            public static final BitSet FOLLOW_Identifier_in_methodDeclaration664 = new BitSet(
16540:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16541:            public static final BitSet FOLLOW_methodDeclaratorRest_in_methodDeclaration666 = new BitSet(
16542:                    new long[] { 0x0000000000000002L });
16543:            public static final BitSet FOLLOW_type_in_fieldDeclaration677 = new BitSet(
16544:                    new long[] { 0x0000000000000010L });
16545:            public static final BitSet FOLLOW_variableDeclarators_in_fieldDeclaration679 = new BitSet(
16546:                    new long[] { 0x0000000002000000L });
16547:            public static final BitSet FOLLOW_25_in_fieldDeclaration681 = new BitSet(
16548:                    new long[] { 0x0000000000000002L });
16549:            public static final BitSet FOLLOW_modifier_in_interfaceBodyDeclaration694 = new BitSet(
16550:                    new long[] { 0x7FFFE18248000030L, 0x0000000000000080L });
16551:            public static final BitSet FOLLOW_interfaceMemberDecl_in_interfaceBodyDeclaration697 = new BitSet(
16552:                    new long[] { 0x0000000000000002L });
16553:            public static final BitSet FOLLOW_25_in_interfaceBodyDeclaration704 = new BitSet(
16554:                    new long[] { 0x0000000000000002L });
16555:            public static final BitSet FOLLOW_interfaceMethodOrFieldDecl_in_interfaceMemberDecl715 = new BitSet(
16556:                    new long[] { 0x0000000000000002L });
16557:            public static final BitSet FOLLOW_interfaceGenericMethodDecl_in_interfaceMemberDecl722 = new BitSet(
16558:                    new long[] { 0x0000000000000002L });
16559:            public static final BitSet FOLLOW_40_in_interfaceMemberDecl732 = new BitSet(
16560:                    new long[] { 0x0000000000000010L });
16561:            public static final BitSet FOLLOW_Identifier_in_interfaceMemberDecl734 = new BitSet(
16562:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16563:            public static final BitSet FOLLOW_voidInterfaceMethodDeclaratorRest_in_interfaceMemberDecl736 = new BitSet(
16564:                    new long[] { 0x0000000000000002L });
16565:            public static final BitSet FOLLOW_interfaceDeclaration_in_interfaceMemberDecl746 = new BitSet(
16566:                    new long[] { 0x0000000000000002L });
16567:            public static final BitSet FOLLOW_classDeclaration_in_interfaceMemberDecl756 = new BitSet(
16568:                    new long[] { 0x0000000000000002L });
16569:            public static final BitSet FOLLOW_type_in_interfaceMethodOrFieldDecl768 = new BitSet(
16570:                    new long[] { 0x0000000000000010L });
16571:            public static final BitSet FOLLOW_Identifier_in_interfaceMethodOrFieldDecl770 = new BitSet(
16572:                    new long[] { 0x0000120000000000L, 0x0000000000000002L });
16573:            public static final BitSet FOLLOW_interfaceMethodOrFieldRest_in_interfaceMethodOrFieldDecl772 = new BitSet(
16574:                    new long[] { 0x0000000000000002L });
16575:            public static final BitSet FOLLOW_constantDeclaratorsRest_in_interfaceMethodOrFieldRest784 = new BitSet(
16576:                    new long[] { 0x0000000002000000L });
16577:            public static final BitSet FOLLOW_25_in_interfaceMethodOrFieldRest786 = new BitSet(
16578:                    new long[] { 0x0000000000000002L });
16579:            public static final BitSet FOLLOW_interfaceMethodDeclaratorRest_in_interfaceMethodOrFieldRest791 = new BitSet(
16580:                    new long[] { 0x0000000000000002L });
16581:            public static final BitSet FOLLOW_formalParameters_in_methodDeclaratorRest803 = new BitSet(
16582:                    new long[] { 0x00000A2002000000L });
16583:            public static final BitSet FOLLOW_41_in_methodDeclaratorRest806 = new BitSet(
16584:                    new long[] { 0x0000040000000000L });
16585:            public static final BitSet FOLLOW_42_in_methodDeclaratorRest808 = new BitSet(
16586:                    new long[] { 0x00000A2002000000L });
16587:            public static final BitSet FOLLOW_43_in_methodDeclaratorRest821 = new BitSet(
16588:                    new long[] { 0x0000000000000010L });
16589:            public static final BitSet FOLLOW_qualifiedNameList_in_methodDeclaratorRest823 = new BitSet(
16590:                    new long[] { 0x0000002002000000L });
16591:            public static final BitSet FOLLOW_methodBody_in_methodDeclaratorRest839 = new BitSet(
16592:                    new long[] { 0x0000000000000002L });
16593:            public static final BitSet FOLLOW_25_in_methodDeclaratorRest853 = new BitSet(
16594:                    new long[] { 0x0000000000000002L });
16595:            public static final BitSet FOLLOW_formalParameters_in_voidMethodDeclaratorRest875 = new BitSet(
16596:                    new long[] { 0x0000082002000000L });
16597:            public static final BitSet FOLLOW_43_in_voidMethodDeclaratorRest878 = new BitSet(
16598:                    new long[] { 0x0000000000000010L });
16599:            public static final BitSet FOLLOW_qualifiedNameList_in_voidMethodDeclaratorRest880 = new BitSet(
16600:                    new long[] { 0x0000002002000000L });
16601:            public static final BitSet FOLLOW_methodBody_in_voidMethodDeclaratorRest896 = new BitSet(
16602:                    new long[] { 0x0000000000000002L });
16603:            public static final BitSet FOLLOW_25_in_voidMethodDeclaratorRest910 = new BitSet(
16604:                    new long[] { 0x0000000000000002L });
16605:            public static final BitSet FOLLOW_formalParameters_in_interfaceMethodDeclaratorRest932 = new BitSet(
16606:                    new long[] { 0x00000A0002000000L });
16607:            public static final BitSet FOLLOW_41_in_interfaceMethodDeclaratorRest935 = new BitSet(
16608:                    new long[] { 0x0000040000000000L });
16609:            public static final BitSet FOLLOW_42_in_interfaceMethodDeclaratorRest937 = new BitSet(
16610:                    new long[] { 0x00000A0002000000L });
16611:            public static final BitSet FOLLOW_43_in_interfaceMethodDeclaratorRest942 = new BitSet(
16612:                    new long[] { 0x0000000000000010L });
16613:            public static final BitSet FOLLOW_qualifiedNameList_in_interfaceMethodDeclaratorRest944 = new BitSet(
16614:                    new long[] { 0x0000000002000000L });
16615:            public static final BitSet FOLLOW_25_in_interfaceMethodDeclaratorRest948 = new BitSet(
16616:                    new long[] { 0x0000000000000002L });
16617:            public static final BitSet FOLLOW_typeParameters_in_interfaceGenericMethodDecl960 = new BitSet(
16618:                    new long[] { 0x7F80010000000010L });
16619:            public static final BitSet FOLLOW_type_in_interfaceGenericMethodDecl963 = new BitSet(
16620:                    new long[] { 0x0000000000000010L });
16621:            public static final BitSet FOLLOW_40_in_interfaceGenericMethodDecl967 = new BitSet(
16622:                    new long[] { 0x0000000000000010L });
16623:            public static final BitSet FOLLOW_Identifier_in_interfaceGenericMethodDecl970 = new BitSet(
16624:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16625:            public static final BitSet FOLLOW_interfaceMethodDeclaratorRest_in_interfaceGenericMethodDecl980 = new BitSet(
16626:                    new long[] { 0x0000000000000002L });
16627:            public static final BitSet FOLLOW_formalParameters_in_voidInterfaceMethodDeclaratorRest992 = new BitSet(
16628:                    new long[] { 0x0000080002000000L });
16629:            public static final BitSet FOLLOW_43_in_voidInterfaceMethodDeclaratorRest995 = new BitSet(
16630:                    new long[] { 0x0000000000000010L });
16631:            public static final BitSet FOLLOW_qualifiedNameList_in_voidInterfaceMethodDeclaratorRest997 = new BitSet(
16632:                    new long[] { 0x0000000002000000L });
16633:            public static final BitSet FOLLOW_25_in_voidInterfaceMethodDeclaratorRest1001 = new BitSet(
16634:                    new long[] { 0x0000000000000002L });
16635:            public static final BitSet FOLLOW_formalParameters_in_constructorDeclaratorRest1013 = new BitSet(
16636:                    new long[] { 0x0000082000000000L });
16637:            public static final BitSet FOLLOW_43_in_constructorDeclaratorRest1016 = new BitSet(
16638:                    new long[] { 0x0000000000000010L });
16639:            public static final BitSet FOLLOW_qualifiedNameList_in_constructorDeclaratorRest1018 = new BitSet(
16640:                    new long[] { 0x0000002000000000L });
16641:            public static final BitSet FOLLOW_methodBody_in_constructorDeclaratorRest1022 = new BitSet(
16642:                    new long[] { 0x0000000000000002L });
16643:            public static final BitSet FOLLOW_Identifier_in_constantDeclarator1033 = new BitSet(
16644:                    new long[] { 0x0000120000000000L });
16645:            public static final BitSet FOLLOW_constantDeclaratorRest_in_constantDeclarator1035 = new BitSet(
16646:                    new long[] { 0x0000000000000002L });
16647:            public static final BitSet FOLLOW_variableDeclarator_in_variableDeclarators1047 = new BitSet(
16648:                    new long[] { 0x0000000400000002L });
16649:            public static final BitSet FOLLOW_34_in_variableDeclarators1050 = new BitSet(
16650:                    new long[] { 0x0000000000000010L });
16651:            public static final BitSet FOLLOW_variableDeclarator_in_variableDeclarators1052 = new BitSet(
16652:                    new long[] { 0x0000000400000002L });
16653:            public static final BitSet FOLLOW_Identifier_in_variableDeclarator1084 = new BitSet(
16654:                    new long[] { 0x0000120000000002L });
16655:            public static final BitSet FOLLOW_variableDeclaratorRest_in_variableDeclarator1088 = new BitSet(
16656:                    new long[] { 0x0000000000000002L });
16657:            public static final BitSet FOLLOW_41_in_variableDeclaratorRest1106 = new BitSet(
16658:                    new long[] { 0x0000040000000000L });
16659:            public static final BitSet FOLLOW_42_in_variableDeclaratorRest1108 = new BitSet(
16660:                    new long[] { 0x0000120000000002L });
16661:            public static final BitSet FOLLOW_44_in_variableDeclaratorRest1113 = new BitSet(
16662:                    new long[] { 0x7F80012200000FD0L, 0x0003F30000000073L });
16663:            public static final BitSet FOLLOW_variableInitializer_in_variableDeclaratorRest1115 = new BitSet(
16664:                    new long[] { 0x0000000000000002L });
16665:            public static final BitSet FOLLOW_44_in_variableDeclaratorRest1122 = new BitSet(
16666:                    new long[] { 0x7F80012200000FD0L, 0x0003F30000000073L });
16667:            public static final BitSet FOLLOW_variableInitializer_in_variableDeclaratorRest1124 = new BitSet(
16668:                    new long[] { 0x0000000000000002L });
16669:            public static final BitSet FOLLOW_constantDeclaratorRest_in_constantDeclaratorsRest1144 = new BitSet(
16670:                    new long[] { 0x0000000400000002L });
16671:            public static final BitSet FOLLOW_34_in_constantDeclaratorsRest1147 = new BitSet(
16672:                    new long[] { 0x0000000000000010L });
16673:            public static final BitSet FOLLOW_constantDeclarator_in_constantDeclaratorsRest1149 = new BitSet(
16674:                    new long[] { 0x0000000400000002L });
16675:            public static final BitSet FOLLOW_41_in_constantDeclaratorRest1166 = new BitSet(
16676:                    new long[] { 0x0000040000000000L });
16677:            public static final BitSet FOLLOW_42_in_constantDeclaratorRest1168 = new BitSet(
16678:                    new long[] { 0x0000120000000000L });
16679:            public static final BitSet FOLLOW_44_in_constantDeclaratorRest1172 = new BitSet(
16680:                    new long[] { 0x7F80012200000FD0L, 0x0003F30000000073L });
16681:            public static final BitSet FOLLOW_variableInitializer_in_constantDeclaratorRest1174 = new BitSet(
16682:                    new long[] { 0x0000000000000002L });
16683:            public static final BitSet FOLLOW_Identifier_in_variableDeclaratorId1186 = new BitSet(
16684:                    new long[] { 0x0000020000000002L });
16685:            public static final BitSet FOLLOW_41_in_variableDeclaratorId1189 = new BitSet(
16686:                    new long[] { 0x0000040000000000L });
16687:            public static final BitSet FOLLOW_42_in_variableDeclaratorId1191 = new BitSet(
16688:                    new long[] { 0x0000020000000002L });
16689:            public static final BitSet FOLLOW_arrayInitializer_in_variableInitializer1204 = new BitSet(
16690:                    new long[] { 0x0000000000000002L });
16691:            public static final BitSet FOLLOW_expression_in_variableInitializer1214 = new BitSet(
16692:                    new long[] { 0x0000000000000002L });
16693:            public static final BitSet FOLLOW_37_in_arrayInitializer1226 = new BitSet(
16694:                    new long[] { 0x7F80016200000FD0L, 0x0003F30000000073L });
16695:            public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer1229 = new BitSet(
16696:                    new long[] { 0x0000004400000000L });
16697:            public static final BitSet FOLLOW_34_in_arrayInitializer1232 = new BitSet(
16698:                    new long[] { 0x7F80012200000FD0L, 0x0003F30000000073L });
16699:            public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer1234 = new BitSet(
16700:                    new long[] { 0x0000004400000000L });
16701:            public static final BitSet FOLLOW_34_in_arrayInitializer1239 = new BitSet(
16702:                    new long[] { 0x0000004000000000L });
16703:            public static final BitSet FOLLOW_38_in_arrayInitializer1246 = new BitSet(
16704:                    new long[] { 0x0000000000000002L });
16705:            public static final BitSet FOLLOW_annotation_in_modifier1262 = new BitSet(
16706:                    new long[] { 0x0000000000000002L });
16707:            public static final BitSet FOLLOW_45_in_modifier1272 = new BitSet(
16708:                    new long[] { 0x0000000000000002L });
16709:            public static final BitSet FOLLOW_46_in_modifier1282 = new BitSet(
16710:                    new long[] { 0x0000000000000002L });
16711:            public static final BitSet FOLLOW_47_in_modifier1292 = new BitSet(
16712:                    new long[] { 0x0000000000000002L });
16713:            public static final BitSet FOLLOW_27_in_modifier1302 = new BitSet(
16714:                    new long[] { 0x0000000000000002L });
16715:            public static final BitSet FOLLOW_48_in_modifier1312 = new BitSet(
16716:                    new long[] { 0x0000000000000002L });
16717:            public static final BitSet FOLLOW_49_in_modifier1322 = new BitSet(
16718:                    new long[] { 0x0000000000000002L });
16719:            public static final BitSet FOLLOW_50_in_modifier1332 = new BitSet(
16720:                    new long[] { 0x0000000000000002L });
16721:            public static final BitSet FOLLOW_51_in_modifier1342 = new BitSet(
16722:                    new long[] { 0x0000000000000002L });
16723:            public static final BitSet FOLLOW_52_in_modifier1352 = new BitSet(
16724:                    new long[] { 0x0000000000000002L });
16725:            public static final BitSet FOLLOW_53_in_modifier1362 = new BitSet(
16726:                    new long[] { 0x0000000000000002L });
16727:            public static final BitSet FOLLOW_54_in_modifier1372 = new BitSet(
16728:                    new long[] { 0x0000000000000002L });
16729:            public static final BitSet FOLLOW_Identifier_in_packageOrTypeName1386 = new BitSet(
16730:                    new long[] { 0x0000000010000002L });
16731:            public static final BitSet FOLLOW_28_in_packageOrTypeName1389 = new BitSet(
16732:                    new long[] { 0x0000000000000010L });
16733:            public static final BitSet FOLLOW_Identifier_in_packageOrTypeName1391 = new BitSet(
16734:                    new long[] { 0x0000000010000002L });
16735:            public static final BitSet FOLLOW_Identifier_in_enumConstantName1409 = new BitSet(
16736:                    new long[] { 0x0000000000000002L });
16737:            public static final BitSet FOLLOW_Identifier_in_typeName1425 = new BitSet(
16738:                    new long[] { 0x0000000000000002L });
16739:            public static final BitSet FOLLOW_packageOrTypeName_in_typeName1435 = new BitSet(
16740:                    new long[] { 0x0000000010000000L });
16741:            public static final BitSet FOLLOW_28_in_typeName1437 = new BitSet(
16742:                    new long[] { 0x0000000000000010L });
16743:            public static final BitSet FOLLOW_Identifier_in_typeName1439 = new BitSet(
16744:                    new long[] { 0x0000000000000002L });
16745:            public static final BitSet FOLLOW_Identifier_in_type1450 = new BitSet(
16746:                    new long[] { 0x0000020210000002L });
16747:            public static final BitSet FOLLOW_typeArguments_in_type1453 = new BitSet(
16748:                    new long[] { 0x0000020010000002L });
16749:            public static final BitSet FOLLOW_28_in_type1458 = new BitSet(
16750:                    new long[] { 0x0000000000000010L });
16751:            public static final BitSet FOLLOW_Identifier_in_type1460 = new BitSet(
16752:                    new long[] { 0x0000020210000002L });
16753:            public static final BitSet FOLLOW_typeArguments_in_type1463 = new BitSet(
16754:                    new long[] { 0x0000020010000002L });
16755:            public static final BitSet FOLLOW_41_in_type1471 = new BitSet(
16756:                    new long[] { 0x0000040000000000L });
16757:            public static final BitSet FOLLOW_42_in_type1473 = new BitSet(
16758:                    new long[] { 0x0000020000000002L });
16759:            public static final BitSet FOLLOW_primitiveType_in_type1480 = new BitSet(
16760:                    new long[] { 0x0000020000000002L });
16761:            public static final BitSet FOLLOW_41_in_type1483 = new BitSet(
16762:                    new long[] { 0x0000040000000000L });
16763:            public static final BitSet FOLLOW_42_in_type1485 = new BitSet(
16764:                    new long[] { 0x0000020000000002L });
16765:            public static final BitSet FOLLOW_set_in_primitiveType0 = new BitSet(
16766:                    new long[] { 0x0000000000000002L });
16767:            public static final BitSet FOLLOW_49_in_variableModifier1573 = new BitSet(
16768:                    new long[] { 0x0000000000000002L });
16769:            public static final BitSet FOLLOW_annotation_in_variableModifier1583 = new BitSet(
16770:                    new long[] { 0x0000000000000002L });
16771:            public static final BitSet FOLLOW_33_in_typeArguments1594 = new BitSet(
16772:                    new long[] { 0xFF80000000000010L });
16773:            public static final BitSet FOLLOW_typeArgument_in_typeArguments1596 = new BitSet(
16774:                    new long[] { 0x0000000C00000000L });
16775:            public static final BitSet FOLLOW_34_in_typeArguments1599 = new BitSet(
16776:                    new long[] { 0xFF80000000000010L });
16777:            public static final BitSet FOLLOW_typeArgument_in_typeArguments1601 = new BitSet(
16778:                    new long[] { 0x0000000C00000000L });
16779:            public static final BitSet FOLLOW_35_in_typeArguments1605 = new BitSet(
16780:                    new long[] { 0x0000000000000002L });
16781:            public static final BitSet FOLLOW_type_in_typeArgument1617 = new BitSet(
16782:                    new long[] { 0x0000000000000002L });
16783:            public static final BitSet FOLLOW_63_in_typeArgument1622 = new BitSet(
16784:                    new long[] { 0x0000000080000002L, 0x0000000000000001L });
16785:            public static final BitSet FOLLOW_set_in_typeArgument1625 = new BitSet(
16786:                    new long[] { 0x7F80000000000010L });
16787:            public static final BitSet FOLLOW_type_in_typeArgument1633 = new BitSet(
16788:                    new long[] { 0x0000000000000002L });
16789:            public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList1647 = new BitSet(
16790:                    new long[] { 0x0000000400000002L });
16791:            public static final BitSet FOLLOW_34_in_qualifiedNameList1650 = new BitSet(
16792:                    new long[] { 0x0000000000000010L });
16793:            public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList1652 = new BitSet(
16794:                    new long[] { 0x0000000400000002L });
16795:            public static final BitSet FOLLOW_65_in_formalParameters1666 = new BitSet(
16796:                    new long[] { 0x7F82000000000010L, 0x0000000000000084L });
16797:            public static final BitSet FOLLOW_formalParameterDecls_in_formalParameters1668 = new BitSet(
16798:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
16799:            public static final BitSet FOLLOW_66_in_formalParameters1671 = new BitSet(
16800:                    new long[] { 0x0000000000000002L });
16801:            public static final BitSet FOLLOW_variableModifier_in_formalParameterDecls1683 = new BitSet(
16802:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
16803:            public static final BitSet FOLLOW_type_in_formalParameterDecls1686 = new BitSet(
16804:                    new long[] { 0x0000000000000012L, 0x0000000000000008L });
16805:            public static final BitSet FOLLOW_formalParameterDeclsRest_in_formalParameterDecls1688 = new BitSet(
16806:                    new long[] { 0x0000000000000002L });
16807:            public static final BitSet FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1701 = new BitSet(
16808:                    new long[] { 0x0000000400000002L });
16809:            public static final BitSet FOLLOW_34_in_formalParameterDeclsRest1704 = new BitSet(
16810:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
16811:            public static final BitSet FOLLOW_formalParameterDecls_in_formalParameterDeclsRest1706 = new BitSet(
16812:                    new long[] { 0x0000000000000002L });
16813:            public static final BitSet FOLLOW_67_in_formalParameterDeclsRest1715 = new BitSet(
16814:                    new long[] { 0x0000000000000010L });
16815:            public static final BitSet FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1717 = new BitSet(
16816:                    new long[] { 0x0000000000000002L });
16817:            public static final BitSet FOLLOW_block_in_methodBody1729 = new BitSet(
16818:                    new long[] { 0x0000000000000002L });
16819:            public static final BitSet FOLLOW_Identifier_in_qualifiedName1740 = new BitSet(
16820:                    new long[] { 0x0000000010000002L });
16821:            public static final BitSet FOLLOW_28_in_qualifiedName1743 = new BitSet(
16822:                    new long[] { 0x0000000000000010L });
16823:            public static final BitSet FOLLOW_Identifier_in_qualifiedName1745 = new BitSet(
16824:                    new long[] { 0x0000000010000002L });
16825:            public static final BitSet FOLLOW_integerLiteral_in_literal1762 = new BitSet(
16826:                    new long[] { 0x0000000000000002L });
16827:            public static final BitSet FOLLOW_FloatingPointLiteral_in_literal1772 = new BitSet(
16828:                    new long[] { 0x0000000000000002L });
16829:            public static final BitSet FOLLOW_CharacterLiteral_in_literal1782 = new BitSet(
16830:                    new long[] { 0x0000000000000002L });
16831:            public static final BitSet FOLLOW_StringLiteral_in_literal1792 = new BitSet(
16832:                    new long[] { 0x0000000000000002L });
16833:            public static final BitSet FOLLOW_booleanLiteral_in_literal1802 = new BitSet(
16834:                    new long[] { 0x0000000000000002L });
16835:            public static final BitSet FOLLOW_68_in_literal1812 = new BitSet(
16836:                    new long[] { 0x0000000000000002L });
16837:            public static final BitSet FOLLOW_set_in_integerLiteral0 = new BitSet(
16838:                    new long[] { 0x0000000000000002L });
16839:            public static final BitSet FOLLOW_set_in_booleanLiteral0 = new BitSet(
16840:                    new long[] { 0x0000000000000002L });
16841:            public static final BitSet FOLLOW_annotation_in_annotations1893 = new BitSet(
16842:                    new long[] { 0x0000000000000002L, 0x0000000000000080L });
16843:            public static final BitSet FOLLOW_71_in_annotation1905 = new BitSet(
16844:                    new long[] { 0x0000000000000010L });
16845:            public static final BitSet FOLLOW_annotationName_in_annotation1907 = new BitSet(
16846:                    new long[] { 0x0000000000000002L, 0x0000000000000002L });
16847:            public static final BitSet FOLLOW_65_in_annotation1910 = new BitSet(
16848:                    new long[] { 0x7F80012200000FD0L, 0x0003F300000000F7L });
16849:            public static final BitSet FOLLOW_elementValuePairs_in_annotation1912 = new BitSet(
16850:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
16851:            public static final BitSet FOLLOW_66_in_annotation1915 = new BitSet(
16852:                    new long[] { 0x0000000000000002L });
16853:            public static final BitSet FOLLOW_Identifier_in_annotationName1929 = new BitSet(
16854:                    new long[] { 0x0000000010000002L });
16855:            public static final BitSet FOLLOW_28_in_annotationName1932 = new BitSet(
16856:                    new long[] { 0x0000000000000010L });
16857:            public static final BitSet FOLLOW_Identifier_in_annotationName1934 = new BitSet(
16858:                    new long[] { 0x0000000010000002L });
16859:            public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs1948 = new BitSet(
16860:                    new long[] { 0x0000000400000002L });
16861:            public static final BitSet FOLLOW_34_in_elementValuePairs1951 = new BitSet(
16862:                    new long[] { 0x7F80012200000FD0L, 0x0003F300000000F3L });
16863:            public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs1953 = new BitSet(
16864:                    new long[] { 0x0000000400000002L });
16865:            public static final BitSet FOLLOW_Identifier_in_elementValuePair1968 = new BitSet(
16866:                    new long[] { 0x0000100000000000L });
16867:            public static final BitSet FOLLOW_44_in_elementValuePair1970 = new BitSet(
16868:                    new long[] { 0x7F80012200000FD0L, 0x0003F300000000F3L });
16869:            public static final BitSet FOLLOW_elementValue_in_elementValuePair1974 = new BitSet(
16870:                    new long[] { 0x0000000000000002L });
16871:            public static final BitSet FOLLOW_conditionalExpression_in_elementValue1986 = new BitSet(
16872:                    new long[] { 0x0000000000000002L });
16873:            public static final BitSet FOLLOW_annotation_in_elementValue1993 = new BitSet(
16874:                    new long[] { 0x0000000000000002L });
16875:            public static final BitSet FOLLOW_elementValueArrayInitializer_in_elementValue2000 = new BitSet(
16876:                    new long[] { 0x0000000000000002L });
16877:            public static final BitSet FOLLOW_37_in_elementValueArrayInitializer2012 = new BitSet(
16878:                    new long[] { 0x7F80016200000FD0L, 0x0003F300000000F3L });
16879:            public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer2015 = new BitSet(
16880:                    new long[] { 0x0000004400000000L });
16881:            public static final BitSet FOLLOW_34_in_elementValueArrayInitializer2018 = new BitSet(
16882:                    new long[] { 0x7F80012200000FD0L, 0x0003F300000000F3L });
16883:            public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer2020 = new BitSet(
16884:                    new long[] { 0x0000004400000000L });
16885:            public static final BitSet FOLLOW_38_in_elementValueArrayInitializer2027 = new BitSet(
16886:                    new long[] { 0x0000000000000002L });
16887:            public static final BitSet FOLLOW_71_in_annotationTypeDeclaration2039 = new BitSet(
16888:                    new long[] { 0x0000008000000000L });
16889:            public static final BitSet FOLLOW_39_in_annotationTypeDeclaration2041 = new BitSet(
16890:                    new long[] { 0x0000000000000010L });
16891:            public static final BitSet FOLLOW_Identifier_in_annotationTypeDeclaration2043 = new BitSet(
16892:                    new long[] { 0x0000002000000000L });
16893:            public static final BitSet FOLLOW_annotationTypeBody_in_annotationTypeDeclaration2045 = new BitSet(
16894:                    new long[] { 0x0000000000000002L });
16895:            public static final BitSet FOLLOW_37_in_annotationTypeBody2057 = new BitSet(
16896:                    new long[] { 0x7FFFE0C048000030L, 0x0000000000000080L });
16897:            public static final BitSet FOLLOW_annotationTypeElementDeclarations_in_annotationTypeBody2060 = new BitSet(
16898:                    new long[] { 0x0000004000000000L });
16899:            public static final BitSet FOLLOW_38_in_annotationTypeBody2064 = new BitSet(
16900:                    new long[] { 0x0000000000000002L });
16901:            public static final BitSet FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2077 = new BitSet(
16902:                    new long[] { 0x7FFFE08048000032L, 0x0000000000000080L });
16903:            public static final BitSet FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2081 = new BitSet(
16904:                    new long[] { 0x7FFFE08048000032L, 0x0000000000000080L });
16905:            public static final BitSet FOLLOW_modifier_in_annotationTypeElementDeclaration2096 = new BitSet(
16906:                    new long[] { 0x7FFFE08048000030L, 0x0000000000000080L });
16907:            public static final BitSet FOLLOW_annotationTypeElementRest_in_annotationTypeElementDeclaration2100 = new BitSet(
16908:                    new long[] { 0x0000000000000002L });
16909:            public static final BitSet FOLLOW_type_in_annotationTypeElementRest2112 = new BitSet(
16910:                    new long[] { 0x0000000000000010L });
16911:            public static final BitSet FOLLOW_annotationMethodOrConstantRest_in_annotationTypeElementRest2114 = new BitSet(
16912:                    new long[] { 0x0000000002000000L });
16913:            public static final BitSet FOLLOW_25_in_annotationTypeElementRest2116 = new BitSet(
16914:                    new long[] { 0x0000000000000002L });
16915:            public static final BitSet FOLLOW_classDeclaration_in_annotationTypeElementRest2123 = new BitSet(
16916:                    new long[] { 0x0000000002000002L });
16917:            public static final BitSet FOLLOW_25_in_annotationTypeElementRest2125 = new BitSet(
16918:                    new long[] { 0x0000000000000002L });
16919:            public static final BitSet FOLLOW_interfaceDeclaration_in_annotationTypeElementRest2133 = new BitSet(
16920:                    new long[] { 0x0000000002000002L });
16921:            public static final BitSet FOLLOW_25_in_annotationTypeElementRest2135 = new BitSet(
16922:                    new long[] { 0x0000000000000002L });
16923:            public static final BitSet FOLLOW_enumDeclaration_in_annotationTypeElementRest2143 = new BitSet(
16924:                    new long[] { 0x0000000002000002L });
16925:            public static final BitSet FOLLOW_25_in_annotationTypeElementRest2145 = new BitSet(
16926:                    new long[] { 0x0000000000000002L });
16927:            public static final BitSet FOLLOW_annotationTypeDeclaration_in_annotationTypeElementRest2153 = new BitSet(
16928:                    new long[] { 0x0000000002000002L });
16929:            public static final BitSet FOLLOW_25_in_annotationTypeElementRest2155 = new BitSet(
16930:                    new long[] { 0x0000000000000002L });
16931:            public static final BitSet FOLLOW_annotationMethodRest_in_annotationMethodOrConstantRest2168 = new BitSet(
16932:                    new long[] { 0x0000000000000002L });
16933:            public static final BitSet FOLLOW_annotationConstantRest_in_annotationMethodOrConstantRest2175 = new BitSet(
16934:                    new long[] { 0x0000000000000002L });
16935:            public static final BitSet FOLLOW_Identifier_in_annotationMethodRest2188 = new BitSet(
16936:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16937:            public static final BitSet FOLLOW_65_in_annotationMethodRest2190 = new BitSet(
16938:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
16939:            public static final BitSet FOLLOW_66_in_annotationMethodRest2192 = new BitSet(
16940:                    new long[] { 0x0000000000000002L, 0x0000000000000100L });
16941:            public static final BitSet FOLLOW_defaultValue_in_annotationMethodRest2195 = new BitSet(
16942:                    new long[] { 0x0000000000000002L });
16943:            public static final BitSet FOLLOW_variableDeclarators_in_annotationConstantRest2212 = new BitSet(
16944:                    new long[] { 0x0000000000000002L });
16945:            public static final BitSet FOLLOW_72_in_defaultValue2227 = new BitSet(
16946:                    new long[] { 0x7F80012200000FD0L, 0x0003F300000000F3L });
16947:            public static final BitSet FOLLOW_elementValue_in_defaultValue2229 = new BitSet(
16948:                    new long[] { 0x0000000000000002L });
16949:            public static final BitSet FOLLOW_37_in_block2269 = new BitSet(
16950:                    new long[] { 0x7FFFE1E24A000FF0L, 0x0003F300007DEAF3L });
16951:            public static final BitSet FOLLOW_blockStatement_in_block2271 = new BitSet(
16952:                    new long[] { 0x7FFFE1E24A000FF0L, 0x0003F300007DEAF3L });
16953:            public static final BitSet FOLLOW_38_in_block2274 = new BitSet(
16954:                    new long[] { 0x0000000000000002L });
16955:            public static final BitSet FOLLOW_localVariableDeclaration_in_blockStatement2286 = new BitSet(
16956:                    new long[] { 0x0000000000000002L });
16957:            public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_blockStatement2291 = new BitSet(
16958:                    new long[] { 0x0000000000000002L });
16959:            public static final BitSet FOLLOW_statement_in_blockStatement2300 = new BitSet(
16960:                    new long[] { 0x0000000000000002L });
16961:            public static final BitSet FOLLOW_variableModifier_in_localVariableDeclaration2348 = new BitSet(
16962:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
16963:            public static final BitSet FOLLOW_type_in_localVariableDeclaration2365 = new BitSet(
16964:                    new long[] { 0x0000000000000010L });
16965:            public static final BitSet FOLLOW_variableDeclarators_in_localVariableDeclaration2376 = new BitSet(
16966:                    new long[] { 0x0000000002000000L });
16967:            public static final BitSet FOLLOW_25_in_localVariableDeclaration2378 = new BitSet(
16968:                    new long[] { 0x0000000000000002L });
16969:            public static final BitSet FOLLOW_block_in_statement2390 = new BitSet(
16970:                    new long[] { 0x0000000000000002L });
16971:            public static final BitSet FOLLOW_73_in_statement2398 = new BitSet(
16972:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
16973:            public static final BitSet FOLLOW_expression_in_statement2400 = new BitSet(
16974:                    new long[] { 0x0000000002000000L, 0x0000000000000400L });
16975:            public static final BitSet FOLLOW_74_in_statement2403 = new BitSet(
16976:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
16977:            public static final BitSet FOLLOW_expression_in_statement2405 = new BitSet(
16978:                    new long[] { 0x0000000002000000L });
16979:            public static final BitSet FOLLOW_25_in_statement2409 = new BitSet(
16980:                    new long[] { 0x0000000000000002L });
16981:            public static final BitSet FOLLOW_75_in_statement2417 = new BitSet(
16982:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16983:            public static final BitSet FOLLOW_parExpression_in_statement2419 = new BitSet(
16984:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
16985:            public static final BitSet FOLLOW_statement_in_statement2421 = new BitSet(
16986:                    new long[] { 0x0000000000000002L, 0x0000000000001000L });
16987:            public static final BitSet FOLLOW_76_in_statement2431 = new BitSet(
16988:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
16989:            public static final BitSet FOLLOW_statement_in_statement2433 = new BitSet(
16990:                    new long[] { 0x0000000000000002L });
16991:            public static final BitSet FOLLOW_77_in_statement2443 = new BitSet(
16992:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
16993:            public static final BitSet FOLLOW_65_in_statement2445 = new BitSet(
16994:                    new long[] { 0x7F82010202000FD0L, 0x0003F300000000F3L });
16995:            public static final BitSet FOLLOW_forControl_in_statement2447 = new BitSet(
16996:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
16997:            public static final BitSet FOLLOW_66_in_statement2449 = new BitSet(
16998:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
16999:            public static final BitSet FOLLOW_statement_in_statement2451 = new BitSet(
17000:                    new long[] { 0x0000000000000002L });
17001:            public static final BitSet FOLLOW_78_in_statement2459 = new BitSet(
17002:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17003:            public static final BitSet FOLLOW_parExpression_in_statement2461 = new BitSet(
17004:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
17005:            public static final BitSet FOLLOW_statement_in_statement2463 = new BitSet(
17006:                    new long[] { 0x0000000000000002L });
17007:            public static final BitSet FOLLOW_79_in_statement2471 = new BitSet(
17008:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
17009:            public static final BitSet FOLLOW_statement_in_statement2473 = new BitSet(
17010:                    new long[] { 0x0000000000000000L, 0x0000000000004000L });
17011:            public static final BitSet FOLLOW_78_in_statement2475 = new BitSet(
17012:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17013:            public static final BitSet FOLLOW_parExpression_in_statement2477 = new BitSet(
17014:                    new long[] { 0x0000000002000000L });
17015:            public static final BitSet FOLLOW_25_in_statement2479 = new BitSet(
17016:                    new long[] { 0x0000000000000002L });
17017:            public static final BitSet FOLLOW_80_in_statement2487 = new BitSet(
17018:                    new long[] { 0x0000002000000000L });
17019:            public static final BitSet FOLLOW_block_in_statement2489 = new BitSet(
17020:                    new long[] { 0x0000000000000000L, 0x0000000000820000L });
17021:            public static final BitSet FOLLOW_catches_in_statement2499 = new BitSet(
17022:                    new long[] { 0x0000000000000000L, 0x0000000000020000L });
17023:            public static final BitSet FOLLOW_81_in_statement2501 = new BitSet(
17024:                    new long[] { 0x0000002000000000L });
17025:            public static final BitSet FOLLOW_block_in_statement2503 = new BitSet(
17026:                    new long[] { 0x0000000000000002L });
17027:            public static final BitSet FOLLOW_catches_in_statement2513 = new BitSet(
17028:                    new long[] { 0x0000000000000002L });
17029:            public static final BitSet FOLLOW_81_in_statement2523 = new BitSet(
17030:                    new long[] { 0x0000002000000000L });
17031:            public static final BitSet FOLLOW_block_in_statement2525 = new BitSet(
17032:                    new long[] { 0x0000000000000002L });
17033:            public static final BitSet FOLLOW_82_in_statement2541 = new BitSet(
17034:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17035:            public static final BitSet FOLLOW_parExpression_in_statement2543 = new BitSet(
17036:                    new long[] { 0x0000002000000000L });
17037:            public static final BitSet FOLLOW_37_in_statement2545 = new BitSet(
17038:                    new long[] { 0x0000004000000000L, 0x0000000001000100L });
17039:            public static final BitSet FOLLOW_switchBlockStatementGroups_in_statement2547 = new BitSet(
17040:                    new long[] { 0x0000004000000000L });
17041:            public static final BitSet FOLLOW_38_in_statement2549 = new BitSet(
17042:                    new long[] { 0x0000000000000002L });
17043:            public static final BitSet FOLLOW_51_in_statement2557 = new BitSet(
17044:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17045:            public static final BitSet FOLLOW_parExpression_in_statement2559 = new BitSet(
17046:                    new long[] { 0x0000002000000000L });
17047:            public static final BitSet FOLLOW_block_in_statement2561 = new BitSet(
17048:                    new long[] { 0x0000000000000002L });
17049:            public static final BitSet FOLLOW_83_in_statement2569 = new BitSet(
17050:                    new long[] { 0x7F80010202000FD0L, 0x0003F30000000073L });
17051:            public static final BitSet FOLLOW_expression_in_statement2571 = new BitSet(
17052:                    new long[] { 0x0000000002000000L });
17053:            public static final BitSet FOLLOW_25_in_statement2574 = new BitSet(
17054:                    new long[] { 0x0000000000000002L });
17055:            public static final BitSet FOLLOW_84_in_statement2582 = new BitSet(
17056:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17057:            public static final BitSet FOLLOW_expression_in_statement2584 = new BitSet(
17058:                    new long[] { 0x0000000002000000L });
17059:            public static final BitSet FOLLOW_25_in_statement2586 = new BitSet(
17060:                    new long[] { 0x0000000000000002L });
17061:            public static final BitSet FOLLOW_85_in_statement2594 = new BitSet(
17062:                    new long[] { 0x0000000002000010L });
17063:            public static final BitSet FOLLOW_Identifier_in_statement2596 = new BitSet(
17064:                    new long[] { 0x0000000002000000L });
17065:            public static final BitSet FOLLOW_25_in_statement2599 = new BitSet(
17066:                    new long[] { 0x0000000000000002L });
17067:            public static final BitSet FOLLOW_86_in_statement2607 = new BitSet(
17068:                    new long[] { 0x0000000002000010L });
17069:            public static final BitSet FOLLOW_Identifier_in_statement2609 = new BitSet(
17070:                    new long[] { 0x0000000002000000L });
17071:            public static final BitSet FOLLOW_25_in_statement2612 = new BitSet(
17072:                    new long[] { 0x0000000000000002L });
17073:            public static final BitSet FOLLOW_25_in_statement2620 = new BitSet(
17074:                    new long[] { 0x0000000000000002L });
17075:            public static final BitSet FOLLOW_statementExpression_in_statement2628 = new BitSet(
17076:                    new long[] { 0x0000000002000000L });
17077:            public static final BitSet FOLLOW_25_in_statement2630 = new BitSet(
17078:                    new long[] { 0x0000000000000002L });
17079:            public static final BitSet FOLLOW_Identifier_in_statement2638 = new BitSet(
17080:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17081:            public static final BitSet FOLLOW_74_in_statement2640 = new BitSet(
17082:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
17083:            public static final BitSet FOLLOW_statement_in_statement2642 = new BitSet(
17084:                    new long[] { 0x0000000000000002L });
17085:            public static final BitSet FOLLOW_catchClause_in_catches2654 = new BitSet(
17086:                    new long[] { 0x0000000000000002L, 0x0000000000800000L });
17087:            public static final BitSet FOLLOW_catchClause_in_catches2657 = new BitSet(
17088:                    new long[] { 0x0000000000000002L, 0x0000000000800000L });
17089:            public static final BitSet FOLLOW_87_in_catchClause2671 = new BitSet(
17090:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17091:            public static final BitSet FOLLOW_65_in_catchClause2673 = new BitSet(
17092:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
17093:            public static final BitSet FOLLOW_formalParameter_in_catchClause2675 = new BitSet(
17094:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17095:            public static final BitSet FOLLOW_66_in_catchClause2677 = new BitSet(
17096:                    new long[] { 0x0000002000000000L });
17097:            public static final BitSet FOLLOW_block_in_catchClause2679 = new BitSet(
17098:                    new long[] { 0x0000000000000002L });
17099:            public static final BitSet FOLLOW_variableModifier_in_formalParameter2690 = new BitSet(
17100:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
17101:            public static final BitSet FOLLOW_type_in_formalParameter2693 = new BitSet(
17102:                    new long[] { 0x0000000000000010L });
17103:            public static final BitSet FOLLOW_variableDeclaratorId_in_formalParameter2695 = new BitSet(
17104:                    new long[] { 0x0000000000000002L });
17105:            public static final BitSet FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2709 = new BitSet(
17106:                    new long[] { 0x0000000000000002L, 0x0000000001000100L });
17107:            public static final BitSet FOLLOW_switchLabel_in_switchBlockStatementGroup2723 = new BitSet(
17108:                    new long[] { 0x7FFFE1A24A000FF2L, 0x0003F300007DEAF3L });
17109:            public static final BitSet FOLLOW_blockStatement_in_switchBlockStatementGroup2725 = new BitSet(
17110:                    new long[] { 0x7FFFE1A24A000FF2L, 0x0003F300007DEAF3L });
17111:            public static final BitSet FOLLOW_88_in_switchLabel2738 = new BitSet(
17112:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17113:            public static final BitSet FOLLOW_constantExpression_in_switchLabel2740 = new BitSet(
17114:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17115:            public static final BitSet FOLLOW_74_in_switchLabel2742 = new BitSet(
17116:                    new long[] { 0x0000000000000002L });
17117:            public static final BitSet FOLLOW_88_in_switchLabel2749 = new BitSet(
17118:                    new long[] { 0x0000000000000010L });
17119:            public static final BitSet FOLLOW_enumConstantName_in_switchLabel2751 = new BitSet(
17120:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17121:            public static final BitSet FOLLOW_74_in_switchLabel2753 = new BitSet(
17122:                    new long[] { 0x0000000000000002L });
17123:            public static final BitSet FOLLOW_72_in_switchLabel2760 = new BitSet(
17124:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17125:            public static final BitSet FOLLOW_74_in_switchLabel2762 = new BitSet(
17126:                    new long[] { 0x0000000000000002L });
17127:            public static final BitSet FOLLOW_34_in_moreStatementExpressions2775 = new BitSet(
17128:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17129:            public static final BitSet FOLLOW_statementExpression_in_moreStatementExpressions2777 = new BitSet(
17130:                    new long[] { 0x0000000400000002L });
17131:            public static final BitSet FOLLOW_forVarControl_in_forControl2798 = new BitSet(
17132:                    new long[] { 0x0000000000000002L });
17133:            public static final BitSet FOLLOW_forInit_in_forControl2803 = new BitSet(
17134:                    new long[] { 0x0000000002000000L });
17135:            public static final BitSet FOLLOW_25_in_forControl2806 = new BitSet(
17136:                    new long[] { 0x7F80010202000FD0L, 0x0003F30000000073L });
17137:            public static final BitSet FOLLOW_expression_in_forControl2808 = new BitSet(
17138:                    new long[] { 0x0000000002000000L });
17139:            public static final BitSet FOLLOW_25_in_forControl2811 = new BitSet(
17140:                    new long[] { 0x7F80010200000FD2L, 0x0003F30000000073L });
17141:            public static final BitSet FOLLOW_forUpdate_in_forControl2813 = new BitSet(
17142:                    new long[] { 0x0000000000000002L });
17143:            public static final BitSet FOLLOW_variableModifier_in_forInit2851 = new BitSet(
17144:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
17145:            public static final BitSet FOLLOW_type_in_forInit2854 = new BitSet(
17146:                    new long[] { 0x0000000000000010L });
17147:            public static final BitSet FOLLOW_variableDeclarators_in_forInit2856 = new BitSet(
17148:                    new long[] { 0x0000000000000002L });
17149:            public static final BitSet FOLLOW_expressionList_in_forInit2861 = new BitSet(
17150:                    new long[] { 0x0000000000000002L });
17151:            public static final BitSet FOLLOW_variableModifier_in_forVarControl2873 = new BitSet(
17152:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
17153:            public static final BitSet FOLLOW_type_in_forVarControl2876 = new BitSet(
17154:                    new long[] { 0x0000000000000010L });
17155:            public static final BitSet FOLLOW_Identifier_in_forVarControl2878 = new BitSet(
17156:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17157:            public static final BitSet FOLLOW_74_in_forVarControl2880 = new BitSet(
17158:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17159:            public static final BitSet FOLLOW_expression_in_forVarControl2882 = new BitSet(
17160:                    new long[] { 0x0000000000000002L });
17161:            public static final BitSet FOLLOW_expressionList_in_forUpdate2893 = new BitSet(
17162:                    new long[] { 0x0000000000000002L });
17163:            public static final BitSet FOLLOW_65_in_parExpression2906 = new BitSet(
17164:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17165:            public static final BitSet FOLLOW_expression_in_parExpression2908 = new BitSet(
17166:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17167:            public static final BitSet FOLLOW_66_in_parExpression2910 = new BitSet(
17168:                    new long[] { 0x0000000000000002L });
17169:            public static final BitSet FOLLOW_expression_in_expressionList2927 = new BitSet(
17170:                    new long[] { 0x0000000400000002L });
17171:            public static final BitSet FOLLOW_34_in_expressionList2930 = new BitSet(
17172:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17173:            public static final BitSet FOLLOW_expression_in_expressionList2932 = new BitSet(
17174:                    new long[] { 0x0000000400000002L });
17175:            public static final BitSet FOLLOW_expression_in_statementExpression2948 = new BitSet(
17176:                    new long[] { 0x0000000000000002L });
17177:            public static final BitSet FOLLOW_expression_in_constantExpression2960 = new BitSet(
17178:                    new long[] { 0x0000000000000002L });
17179:            public static final BitSet FOLLOW_conditionalExpression_in_expression2972 = new BitSet(
17180:                    new long[] { 0x0000100A00000002L, 0x00000001FE000000L });
17181:            public static final BitSet FOLLOW_assignmentOperator_in_expression2975 = new BitSet(
17182:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17183:            public static final BitSet FOLLOW_expression_in_expression2977 = new BitSet(
17184:                    new long[] { 0x0000000000000002L });
17185:            public static final BitSet FOLLOW_44_in_assignmentOperator2991 = new BitSet(
17186:                    new long[] { 0x0000000000000002L });
17187:            public static final BitSet FOLLOW_89_in_assignmentOperator3001 = new BitSet(
17188:                    new long[] { 0x0000000000000002L });
17189:            public static final BitSet FOLLOW_90_in_assignmentOperator3011 = new BitSet(
17190:                    new long[] { 0x0000000000000002L });
17191:            public static final BitSet FOLLOW_91_in_assignmentOperator3021 = new BitSet(
17192:                    new long[] { 0x0000000000000002L });
17193:            public static final BitSet FOLLOW_92_in_assignmentOperator3031 = new BitSet(
17194:                    new long[] { 0x0000000000000002L });
17195:            public static final BitSet FOLLOW_93_in_assignmentOperator3041 = new BitSet(
17196:                    new long[] { 0x0000000000000002L });
17197:            public static final BitSet FOLLOW_94_in_assignmentOperator3051 = new BitSet(
17198:                    new long[] { 0x0000000000000002L });
17199:            public static final BitSet FOLLOW_95_in_assignmentOperator3061 = new BitSet(
17200:                    new long[] { 0x0000000000000002L });
17201:            public static final BitSet FOLLOW_96_in_assignmentOperator3071 = new BitSet(
17202:                    new long[] { 0x0000000000000002L });
17203:            public static final BitSet FOLLOW_33_in_assignmentOperator3081 = new BitSet(
17204:                    new long[] { 0x0000000200000000L });
17205:            public static final BitSet FOLLOW_33_in_assignmentOperator3083 = new BitSet(
17206:                    new long[] { 0x0000100000000000L });
17207:            public static final BitSet FOLLOW_44_in_assignmentOperator3085 = new BitSet(
17208:                    new long[] { 0x0000000000000002L });
17209:            public static final BitSet FOLLOW_35_in_assignmentOperator3095 = new BitSet(
17210:                    new long[] { 0x0000000800000000L });
17211:            public static final BitSet FOLLOW_35_in_assignmentOperator3097 = new BitSet(
17212:                    new long[] { 0x0000100000000000L });
17213:            public static final BitSet FOLLOW_44_in_assignmentOperator3099 = new BitSet(
17214:                    new long[] { 0x0000000000000002L });
17215:            public static final BitSet FOLLOW_35_in_assignmentOperator3109 = new BitSet(
17216:                    new long[] { 0x0000000800000000L });
17217:            public static final BitSet FOLLOW_35_in_assignmentOperator3111 = new BitSet(
17218:                    new long[] { 0x0000000800000000L });
17219:            public static final BitSet FOLLOW_35_in_assignmentOperator3113 = new BitSet(
17220:                    new long[] { 0x0000100000000000L });
17221:            public static final BitSet FOLLOW_44_in_assignmentOperator3115 = new BitSet(
17222:                    new long[] { 0x0000000000000002L });
17223:            public static final BitSet FOLLOW_conditionalOrExpression_in_conditionalExpression3131 = new BitSet(
17224:                    new long[] { 0x8000000000000002L });
17225:            public static final BitSet FOLLOW_63_in_conditionalExpression3135 = new BitSet(
17226:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17227:            public static final BitSet FOLLOW_expression_in_conditionalExpression3137 = new BitSet(
17228:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17229:            public static final BitSet FOLLOW_74_in_conditionalExpression3139 = new BitSet(
17230:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17231:            public static final BitSet FOLLOW_expression_in_conditionalExpression3141 = new BitSet(
17232:                    new long[] { 0x0000000000000002L });
17233:            public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3160 = new BitSet(
17234:                    new long[] { 0x0000000000000002L, 0x0000000200000000L });
17235:            public static final BitSet FOLLOW_97_in_conditionalOrExpression3164 = new BitSet(
17236:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17237:            public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3166 = new BitSet(
17238:                    new long[] { 0x0000000000000002L, 0x0000000200000000L });
17239:            public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3185 = new BitSet(
17240:                    new long[] { 0x0000000000000002L, 0x0000000400000000L });
17241:            public static final BitSet FOLLOW_98_in_conditionalAndExpression3189 = new BitSet(
17242:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17243:            public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3191 = new BitSet(
17244:                    new long[] { 0x0000000000000002L, 0x0000000400000000L });
17245:            public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3210 = new BitSet(
17246:                    new long[] { 0x0000000000000002L, 0x0000000800000000L });
17247:            public static final BitSet FOLLOW_99_in_inclusiveOrExpression3214 = new BitSet(
17248:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17249:            public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3216 = new BitSet(
17250:                    new long[] { 0x0000000000000002L, 0x0000000800000000L });
17251:            public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3235 = new BitSet(
17252:                    new long[] { 0x0000000000000002L, 0x0000001000000000L });
17253:            public static final BitSet FOLLOW_100_in_exclusiveOrExpression3239 = new BitSet(
17254:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17255:            public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3241 = new BitSet(
17256:                    new long[] { 0x0000000000000002L, 0x0000001000000000L });
17257:            public static final BitSet FOLLOW_equalityExpression_in_andExpression3260 = new BitSet(
17258:                    new long[] { 0x0000001000000002L });
17259:            public static final BitSet FOLLOW_36_in_andExpression3264 = new BitSet(
17260:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17261:            public static final BitSet FOLLOW_equalityExpression_in_andExpression3266 = new BitSet(
17262:                    new long[] { 0x0000001000000002L });
17263:            public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3285 = new BitSet(
17264:                    new long[] { 0x0000000000000002L, 0x0000006000000000L });
17265:            public static final BitSet FOLLOW_set_in_equalityExpression3289 = new BitSet(
17266:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17267:            public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3297 = new BitSet(
17268:                    new long[] { 0x0000000000000002L, 0x0000006000000000L });
17269:            public static final BitSet FOLLOW_relationalExpression_in_instanceOfExpression3316 = new BitSet(
17270:                    new long[] { 0x0000000000000002L, 0x0000008000000000L });
17271:            public static final BitSet FOLLOW_103_in_instanceOfExpression3319 = new BitSet(
17272:                    new long[] { 0x7F80000000000010L });
17273:            public static final BitSet FOLLOW_type_in_instanceOfExpression3321 = new BitSet(
17274:                    new long[] { 0x0000000000000002L });
17275:            public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3339 = new BitSet(
17276:                    new long[] { 0x0000000A00000002L });
17277:            public static final BitSet FOLLOW_relationalOp_in_relationalExpression3343 = new BitSet(
17278:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17279:            public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3345 = new BitSet(
17280:                    new long[] { 0x0000000A00000002L });
17281:            public static final BitSet FOLLOW_33_in_relationalOp3361 = new BitSet(
17282:                    new long[] { 0x0000100000000000L });
17283:            public static final BitSet FOLLOW_44_in_relationalOp3363 = new BitSet(
17284:                    new long[] { 0x0000000000000002L });
17285:            public static final BitSet FOLLOW_35_in_relationalOp3367 = new BitSet(
17286:                    new long[] { 0x0000100000000000L });
17287:            public static final BitSet FOLLOW_44_in_relationalOp3369 = new BitSet(
17288:                    new long[] { 0x0000000000000002L });
17289:            public static final BitSet FOLLOW_33_in_relationalOp3373 = new BitSet(
17290:                    new long[] { 0x0000000000000002L });
17291:            public static final BitSet FOLLOW_35_in_relationalOp3377 = new BitSet(
17292:                    new long[] { 0x0000000000000002L });
17293:            public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3394 = new BitSet(
17294:                    new long[] { 0x0000000A00000002L });
17295:            public static final BitSet FOLLOW_shiftOp_in_shiftExpression3398 = new BitSet(
17296:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17297:            public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3400 = new BitSet(
17298:                    new long[] { 0x0000000A00000002L });
17299:            public static final BitSet FOLLOW_33_in_shiftOp3424 = new BitSet(
17300:                    new long[] { 0x0000000200000000L });
17301:            public static final BitSet FOLLOW_33_in_shiftOp3426 = new BitSet(
17302:                    new long[] { 0x0000000000000002L });
17303:            public static final BitSet FOLLOW_35_in_shiftOp3430 = new BitSet(
17304:                    new long[] { 0x0000000800000000L });
17305:            public static final BitSet FOLLOW_35_in_shiftOp3432 = new BitSet(
17306:                    new long[] { 0x0000000800000000L });
17307:            public static final BitSet FOLLOW_35_in_shiftOp3434 = new BitSet(
17308:                    new long[] { 0x0000000000000002L });
17309:            public static final BitSet FOLLOW_35_in_shiftOp3438 = new BitSet(
17310:                    new long[] { 0x0000000800000000L });
17311:            public static final BitSet FOLLOW_35_in_shiftOp3440 = new BitSet(
17312:                    new long[] { 0x0000000000000002L });
17313:            public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3458 = new BitSet(
17314:                    new long[] { 0x0000000000000002L, 0x0000030000000000L });
17315:            public static final BitSet FOLLOW_set_in_additiveExpression3462 = new BitSet(
17316:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17317:            public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3470 = new BitSet(
17318:                    new long[] { 0x0000000000000002L, 0x0000030000000000L });
17319:            public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3489 = new BitSet(
17320:                    new long[] { 0x0000000020000002L, 0x00000C0000000000L });
17321:            public static final BitSet FOLLOW_set_in_multiplicativeExpression3493 = new BitSet(
17322:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17323:            public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3507 = new BitSet(
17324:                    new long[] { 0x0000000020000002L, 0x00000C0000000000L });
17325:            public static final BitSet FOLLOW_104_in_unaryExpression3527 = new BitSet(
17326:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17327:            public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3529 = new BitSet(
17328:                    new long[] { 0x0000000000000002L });
17329:            public static final BitSet FOLLOW_105_in_unaryExpression3537 = new BitSet(
17330:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17331:            public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3539 = new BitSet(
17332:                    new long[] { 0x0000000000000002L });
17333:            public static final BitSet FOLLOW_108_in_unaryExpression3549 = new BitSet(
17334:                    new long[] { 0x7F80010200000FD0L, 0x0003000000000073L });
17335:            public static final BitSet FOLLOW_primary_in_unaryExpression3551 = new BitSet(
17336:                    new long[] { 0x0000000000000002L });
17337:            public static final BitSet FOLLOW_109_in_unaryExpression3561 = new BitSet(
17338:                    new long[] { 0x7F80010200000FD0L, 0x0003000000000073L });
17339:            public static final BitSet FOLLOW_primary_in_unaryExpression3563 = new BitSet(
17340:                    new long[] { 0x0000000000000002L });
17341:            public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3573 = new BitSet(
17342:                    new long[] { 0x0000000000000002L });
17343:            public static final BitSet FOLLOW_110_in_unaryExpressionNotPlusMinus3592 = new BitSet(
17344:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17345:            public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3594 = new BitSet(
17346:                    new long[] { 0x0000000000000002L });
17347:            public static final BitSet FOLLOW_111_in_unaryExpressionNotPlusMinus3603 = new BitSet(
17348:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17349:            public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3605 = new BitSet(
17350:                    new long[] { 0x0000000000000002L });
17351:            public static final BitSet FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3615 = new BitSet(
17352:                    new long[] { 0x0000000000000002L });
17353:            public static final BitSet FOLLOW_primary_in_unaryExpressionNotPlusMinus3625 = new BitSet(
17354:                    new long[] { 0x0000020010000002L, 0x0000300000000000L });
17355:            public static final BitSet FOLLOW_selector_in_unaryExpressionNotPlusMinus3627 = new BitSet(
17356:                    new long[] { 0x0000020010000002L, 0x0000300000000000L });
17357:            public static final BitSet FOLLOW_set_in_unaryExpressionNotPlusMinus3630 = new BitSet(
17358:                    new long[] { 0x0000000000000002L });
17359:            public static final BitSet FOLLOW_65_in_castExpression3653 = new BitSet(
17360:                    new long[] { 0x7F80000000000000L });
17361:            public static final BitSet FOLLOW_primitiveType_in_castExpression3655 = new BitSet(
17362:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17363:            public static final BitSet FOLLOW_66_in_castExpression3657 = new BitSet(
17364:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17365:            public static final BitSet FOLLOW_unaryExpression_in_castExpression3659 = new BitSet(
17366:                    new long[] { 0x0000000000000002L });
17367:            public static final BitSet FOLLOW_65_in_castExpression3668 = new BitSet(
17368:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17369:            public static final BitSet FOLLOW_type_in_castExpression3671 = new BitSet(
17370:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17371:            public static final BitSet FOLLOW_expression_in_castExpression3675 = new BitSet(
17372:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17373:            public static final BitSet FOLLOW_66_in_castExpression3678 = new BitSet(
17374:                    new long[] { 0x7F80010200000FD0L, 0x0003C00000000073L });
17375:            public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3680 = new BitSet(
17376:                    new long[] { 0x0000000000000002L });
17377:            public static final BitSet FOLLOW_parExpression_in_primary3697 = new BitSet(
17378:                    new long[] { 0x0000000000000002L });
17379:            public static final BitSet FOLLOW_nonWildcardTypeArguments_in_primary3707 = new BitSet(
17380:                    new long[] { 0x0000000000000010L, 0x0001000000000001L });
17381:            public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_primary3718 = new BitSet(
17382:                    new long[] { 0x0000000000000002L });
17383:            public static final BitSet FOLLOW_112_in_primary3722 = new BitSet(
17384:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17385:            public static final BitSet FOLLOW_arguments_in_primary3724 = new BitSet(
17386:                    new long[] { 0x0000000000000002L });
17387:            public static final BitSet FOLLOW_112_in_primary3735 = new BitSet(
17388:                    new long[] { 0x0000020010000002L, 0x0000000000000002L });
17389:            public static final BitSet FOLLOW_28_in_primary3738 = new BitSet(
17390:                    new long[] { 0x0000000000000010L });
17391:            public static final BitSet FOLLOW_Identifier_in_primary3740 = new BitSet(
17392:                    new long[] { 0x0000020010000002L, 0x0000000000000002L });
17393:            public static final BitSet FOLLOW_identifierSuffix_in_primary3745 = new BitSet(
17394:                    new long[] { 0x0000000000000002L });
17395:            public static final BitSet FOLLOW_64_in_primary3757 = new BitSet(
17396:                    new long[] { 0x0000000010000000L, 0x0000000000000002L });
17397:            public static final BitSet FOLLOW_super Suffix_in_primary3759 = new BitSet(
17398:                    new long[] { 0x0000000000000002L });
17399:            public static final BitSet FOLLOW_literal_in_primary3769 = new BitSet(
17400:                    new long[] { 0x0000000000000002L });
17401:            public static final BitSet FOLLOW_113_in_primary3779 = new BitSet(
17402:                    new long[] { 0x7F80000200000010L });
17403:            public static final BitSet FOLLOW_creator_in_primary3781 = new BitSet(
17404:                    new long[] { 0x0000000000000002L });
17405:            public static final BitSet FOLLOW_Identifier_in_primary3793 = new BitSet(
17406:                    new long[] { 0x0000020010000002L, 0x0000000000000002L });
17407:            public static final BitSet FOLLOW_28_in_primary3798 = new BitSet(
17408:                    new long[] { 0x0000000000000010L });
17409:            public static final BitSet FOLLOW_Identifier_in_primary3800 = new BitSet(
17410:                    new long[] { 0x0000020010000002L, 0x0000000000000002L });
17411:            public static final BitSet FOLLOW_identifierSuffix_in_primary3805 = new BitSet(
17412:                    new long[] { 0x0000000000000002L });
17413:            public static final BitSet FOLLOW_primitiveType_in_primary3817 = new BitSet(
17414:                    new long[] { 0x0000020010000000L });
17415:            public static final BitSet FOLLOW_41_in_primary3820 = new BitSet(
17416:                    new long[] { 0x0000040000000000L });
17417:            public static final BitSet FOLLOW_42_in_primary3822 = new BitSet(
17418:                    new long[] { 0x0000020010000000L });
17419:            public static final BitSet FOLLOW_28_in_primary3826 = new BitSet(
17420:                    new long[] { 0x0000000040000000L });
17421:            public static final BitSet FOLLOW_30_in_primary3828 = new BitSet(
17422:                    new long[] { 0x0000000000000002L });
17423:            public static final BitSet FOLLOW_40_in_primary3838 = new BitSet(
17424:                    new long[] { 0x0000000010000000L });
17425:            public static final BitSet FOLLOW_28_in_primary3840 = new BitSet(
17426:                    new long[] { 0x0000000040000000L });
17427:            public static final BitSet FOLLOW_30_in_primary3842 = new BitSet(
17428:                    new long[] { 0x0000000000000002L });
17429:            public static final BitSet FOLLOW_41_in_identifierSuffix3854 = new BitSet(
17430:                    new long[] { 0x0000040000000000L });
17431:            public static final BitSet FOLLOW_42_in_identifierSuffix3856 = new BitSet(
17432:                    new long[] { 0x0000020010000000L });
17433:            public static final BitSet FOLLOW_28_in_identifierSuffix3860 = new BitSet(
17434:                    new long[] { 0x0000000040000000L });
17435:            public static final BitSet FOLLOW_30_in_identifierSuffix3862 = new BitSet(
17436:                    new long[] { 0x0000000000000002L });
17437:            public static final BitSet FOLLOW_41_in_identifierSuffix3868 = new BitSet(
17438:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17439:            public static final BitSet FOLLOW_expression_in_identifierSuffix3870 = new BitSet(
17440:                    new long[] { 0x0000040000000000L });
17441:            public static final BitSet FOLLOW_42_in_identifierSuffix3872 = new BitSet(
17442:                    new long[] { 0x0000020000000002L });
17443:            public static final BitSet FOLLOW_arguments_in_identifierSuffix3885 = new BitSet(
17444:                    new long[] { 0x0000000000000002L });
17445:            public static final BitSet FOLLOW_28_in_identifierSuffix3895 = new BitSet(
17446:                    new long[] { 0x0000000040000000L });
17447:            public static final BitSet FOLLOW_30_in_identifierSuffix3897 = new BitSet(
17448:                    new long[] { 0x0000000000000002L });
17449:            public static final BitSet FOLLOW_28_in_identifierSuffix3907 = new BitSet(
17450:                    new long[] { 0x0000000200000000L });
17451:            public static final BitSet FOLLOW_explicitGenericInvocation_in_identifierSuffix3909 = new BitSet(
17452:                    new long[] { 0x0000000000000002L });
17453:            public static final BitSet FOLLOW_28_in_identifierSuffix3919 = new BitSet(
17454:                    new long[] { 0x0000000000000000L, 0x0001000000000000L });
17455:            public static final BitSet FOLLOW_112_in_identifierSuffix3921 = new BitSet(
17456:                    new long[] { 0x0000000000000002L });
17457:            public static final BitSet FOLLOW_28_in_identifierSuffix3931 = new BitSet(
17458:                    new long[] { 0x0000000000000000L, 0x0000000000000001L });
17459:            public static final BitSet FOLLOW_64_in_identifierSuffix3933 = new BitSet(
17460:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17461:            public static final BitSet FOLLOW_arguments_in_identifierSuffix3935 = new BitSet(
17462:                    new long[] { 0x0000000000000002L });
17463:            public static final BitSet FOLLOW_28_in_identifierSuffix3945 = new BitSet(
17464:                    new long[] { 0x0000000000000000L, 0x0002000000000000L });
17465:            public static final BitSet FOLLOW_113_in_identifierSuffix3947 = new BitSet(
17466:                    new long[] { 0x0000000200000010L });
17467:            public static final BitSet FOLLOW_nonWildcardTypeArguments_in_identifierSuffix3950 = new BitSet(
17468:                    new long[] { 0x0000000000000010L });
17469:            public static final BitSet FOLLOW_innerCreator_in_identifierSuffix3954 = new BitSet(
17470:                    new long[] { 0x0000000000000002L });
17471:            public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator3966 = new BitSet(
17472:                    new long[] { 0x7F80000000000010L });
17473:            public static final BitSet FOLLOW_createdName_in_creator3969 = new BitSet(
17474:                    new long[] { 0x0000020000000000L, 0x0000000000000002L });
17475:            public static final BitSet FOLLOW_arrayCreatorRest_in_creator3980 = new BitSet(
17476:                    new long[] { 0x0000000000000002L });
17477:            public static final BitSet FOLLOW_classCreatorRest_in_creator3984 = new BitSet(
17478:                    new long[] { 0x0000000000000002L });
17479:            public static final BitSet FOLLOW_Identifier_in_createdName3996 = new BitSet(
17480:                    new long[] { 0x0000000210000002L });
17481:            public static final BitSet FOLLOW_typeArguments_in_createdName3998 = new BitSet(
17482:                    new long[] { 0x0000000010000002L });
17483:            public static final BitSet FOLLOW_28_in_createdName4010 = new BitSet(
17484:                    new long[] { 0x0000000000000010L });
17485:            public static final BitSet FOLLOW_Identifier_in_createdName4012 = new BitSet(
17486:                    new long[] { 0x0000000210000002L });
17487:            public static final BitSet FOLLOW_typeArguments_in_createdName4014 = new BitSet(
17488:                    new long[] { 0x0000000010000002L });
17489:            public static final BitSet FOLLOW_primitiveType_in_createdName4025 = new BitSet(
17490:                    new long[] { 0x0000000000000002L });
17491:            public static final BitSet FOLLOW_Identifier_in_innerCreator4037 = new BitSet(
17492:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17493:            public static final BitSet FOLLOW_classCreatorRest_in_innerCreator4039 = new BitSet(
17494:                    new long[] { 0x0000000000000002L });
17495:            public static final BitSet FOLLOW_41_in_arrayCreatorRest4050 = new BitSet(
17496:                    new long[] { 0x7F80050200000FD0L, 0x0003F30000000073L });
17497:            public static final BitSet FOLLOW_42_in_arrayCreatorRest4064 = new BitSet(
17498:                    new long[] { 0x0000022000000000L });
17499:            public static final BitSet FOLLOW_41_in_arrayCreatorRest4067 = new BitSet(
17500:                    new long[] { 0x0000040000000000L });
17501:            public static final BitSet FOLLOW_42_in_arrayCreatorRest4069 = new BitSet(
17502:                    new long[] { 0x0000022000000000L });
17503:            public static final BitSet FOLLOW_arrayInitializer_in_arrayCreatorRest4073 = new BitSet(
17504:                    new long[] { 0x0000000000000002L });
17505:            public static final BitSet FOLLOW_expression_in_arrayCreatorRest4087 = new BitSet(
17506:                    new long[] { 0x0000040000000000L });
17507:            public static final BitSet FOLLOW_42_in_arrayCreatorRest4089 = new BitSet(
17508:                    new long[] { 0x0000020000000002L });
17509:            public static final BitSet FOLLOW_41_in_arrayCreatorRest4092 = new BitSet(
17510:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17511:            public static final BitSet FOLLOW_expression_in_arrayCreatorRest4094 = new BitSet(
17512:                    new long[] { 0x0000040000000000L });
17513:            public static final BitSet FOLLOW_42_in_arrayCreatorRest4096 = new BitSet(
17514:                    new long[] { 0x0000020000000002L });
17515:            public static final BitSet FOLLOW_41_in_arrayCreatorRest4101 = new BitSet(
17516:                    new long[] { 0x0000040000000000L });
17517:            public static final BitSet FOLLOW_42_in_arrayCreatorRest4103 = new BitSet(
17518:                    new long[] { 0x0000020000000002L });
17519:            public static final BitSet FOLLOW_arguments_in_classCreatorRest4126 = new BitSet(
17520:                    new long[] { 0x0000002000000002L });
17521:            public static final BitSet FOLLOW_classBody_in_classCreatorRest4128 = new BitSet(
17522:                    new long[] { 0x0000000000000002L });
17523:            public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4141 = new BitSet(
17524:                    new long[] { 0x0000000000000010L, 0x0000000000000001L });
17525:            public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4143 = new BitSet(
17526:                    new long[] { 0x0000000000000002L });
17527:            public static final BitSet FOLLOW_33_in_nonWildcardTypeArguments4155 = new BitSet(
17528:                    new long[] { 0x7F80000000000010L });
17529:            public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments4157 = new BitSet(
17530:                    new long[] { 0x0000000800000000L });
17531:            public static final BitSet FOLLOW_35_in_nonWildcardTypeArguments4159 = new BitSet(
17532:                    new long[] { 0x0000000000000002L });
17533:            public static final BitSet FOLLOW_64_in_explicitGenericInvocationSuffix4171 = new BitSet(
17534:                    new long[] { 0x0000000010000000L, 0x0000000000000002L });
17535:            public static final BitSet FOLLOW_super Suffix_in_explicitGenericInvocationSuffix4173 = new BitSet(
17536:                    new long[] { 0x0000000000000002L });
17537:            public static final BitSet FOLLOW_Identifier_in_explicitGenericInvocationSuffix4180 = new BitSet(
17538:                    new long[] { 0x0000000000000000L, 0x0000000000000002L });
17539:            public static final BitSet FOLLOW_arguments_in_explicitGenericInvocationSuffix4182 = new BitSet(
17540:                    new long[] { 0x0000000000000002L });
17541:            public static final BitSet FOLLOW_28_in_selector4194 = new BitSet(
17542:                    new long[] { 0x0000000000000010L });
17543:            public static final BitSet FOLLOW_Identifier_in_selector4196 = new BitSet(
17544:                    new long[] { 0x0000000000000002L, 0x0000000000000002L });
17545:            public static final BitSet FOLLOW_arguments_in_selector4199 = new BitSet(
17546:                    new long[] { 0x0000000000000002L });
17547:            public static final BitSet FOLLOW_28_in_selector4208 = new BitSet(
17548:                    new long[] { 0x0000000000000000L, 0x0001000000000000L });
17549:            public static final BitSet FOLLOW_112_in_selector4210 = new BitSet(
17550:                    new long[] { 0x0000000000000002L });
17551:            public static final BitSet FOLLOW_28_in_selector4217 = new BitSet(
17552:                    new long[] { 0x0000000000000000L, 0x0000000000000001L });
17553:            public static final BitSet FOLLOW_64_in_selector4219 = new BitSet(
17554:                    new long[] { 0x0000000010000000L, 0x0000000000000002L });
17555:            public static final BitSet FOLLOW_super Suffix_in_selector4221 = new BitSet(
17556:                    new long[] { 0x0000000000000002L });
17557:            public static final BitSet FOLLOW_28_in_selector4228 = new BitSet(
17558:                    new long[] { 0x0000000000000000L, 0x0002000000000000L });
17559:            public static final BitSet FOLLOW_113_in_selector4230 = new BitSet(
17560:                    new long[] { 0x0000000200000010L });
17561:            public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector4233 = new BitSet(
17562:                    new long[] { 0x0000000000000010L });
17563:            public static final BitSet FOLLOW_innerCreator_in_selector4237 = new BitSet(
17564:                    new long[] { 0x0000000000000002L });
17565:            public static final BitSet FOLLOW_41_in_selector4244 = new BitSet(
17566:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17567:            public static final BitSet FOLLOW_expression_in_selector4246 = new BitSet(
17568:                    new long[] { 0x0000040000000000L });
17569:            public static final BitSet FOLLOW_42_in_selector4248 = new BitSet(
17570:                    new long[] { 0x0000000000000002L });
17571:            public static final BitSet FOLLOW_arguments_in_super Suffix4260 = new BitSet(
17572:                    new long[] { 0x0000000000000002L });
17573:            public static final BitSet FOLLOW_28_in_super Suffix4267 = new BitSet(
17574:                    new long[] { 0x0000000000000010L });
17575:            public static final BitSet FOLLOW_Identifier_in_super Suffix4269 = new BitSet(
17576:                    new long[] { 0x0000000000000002L, 0x0000000000000002L });
17577:            public static final BitSet FOLLOW_arguments_in_super Suffix4272 = new BitSet(
17578:                    new long[] { 0x0000000000000002L });
17579:            public static final BitSet FOLLOW_65_in_arguments4288 = new BitSet(
17580:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000077L });
17581:            public static final BitSet FOLLOW_expressionList_in_arguments4290 = new BitSet(
17582:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17583:            public static final BitSet FOLLOW_66_in_arguments4293 = new BitSet(
17584:                    new long[] { 0x0000000000000002L });
17585:            public static final BitSet FOLLOW_annotations_in_synpred170 = new BitSet(
17586:                    new long[] { 0x0000000000000002L });
17587:            public static final BitSet FOLLOW_methodDeclaration_in_synpred38577 = new BitSet(
17588:                    new long[] { 0x0000000000000002L });
17589:            public static final BitSet FOLLOW_fieldDeclaration_in_synpred39582 = new BitSet(
17590:                    new long[] { 0x0000000000000002L });
17591:            public static final BitSet FOLLOW_28_in_synpred851389 = new BitSet(
17592:                    new long[] { 0x0000000000000010L });
17593:            public static final BitSet FOLLOW_Identifier_in_synpred851391 = new BitSet(
17594:                    new long[] { 0x0000000000000002L });
17595:            public static final BitSet FOLLOW_annotation_in_synpred1201893 = new BitSet(
17596:                    new long[] { 0x0000000000000002L });
17597:            public static final BitSet FOLLOW_classDeclaration_in_synpred1352123 = new BitSet(
17598:                    new long[] { 0x0000000002000002L });
17599:            public static final BitSet FOLLOW_25_in_synpred1352125 = new BitSet(
17600:                    new long[] { 0x0000000000000002L });
17601:            public static final BitSet FOLLOW_interfaceDeclaration_in_synpred1372133 = new BitSet(
17602:                    new long[] { 0x0000000002000002L });
17603:            public static final BitSet FOLLOW_25_in_synpred1372135 = new BitSet(
17604:                    new long[] { 0x0000000000000002L });
17605:            public static final BitSet FOLLOW_enumDeclaration_in_synpred1392143 = new BitSet(
17606:                    new long[] { 0x0000000002000002L });
17607:            public static final BitSet FOLLOW_25_in_synpred1392145 = new BitSet(
17608:                    new long[] { 0x0000000000000002L });
17609:            public static final BitSet FOLLOW_localVariableDeclaration_in_synpred1442286 = new BitSet(
17610:                    new long[] { 0x0000000000000002L });
17611:            public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_synpred1452291 = new BitSet(
17612:                    new long[] { 0x0000000000000002L });
17613:            public static final BitSet FOLLOW_76_in_synpred1502431 = new BitSet(
17614:                    new long[] { 0x7F88012202000FD0L, 0x0003F300007DEA73L });
17615:            public static final BitSet FOLLOW_statement_in_synpred1502433 = new BitSet(
17616:                    new long[] { 0x0000000000000002L });
17617:            public static final BitSet FOLLOW_catches_in_synpred1552499 = new BitSet(
17618:                    new long[] { 0x0000000000000000L, 0x0000000000020000L });
17619:            public static final BitSet FOLLOW_81_in_synpred1552501 = new BitSet(
17620:                    new long[] { 0x0000002000000000L });
17621:            public static final BitSet FOLLOW_block_in_synpred1552503 = new BitSet(
17622:                    new long[] { 0x0000000000000002L });
17623:            public static final BitSet FOLLOW_catches_in_synpred1562513 = new BitSet(
17624:                    new long[] { 0x0000000000000002L });
17625:            public static final BitSet FOLLOW_88_in_synpred1732738 = new BitSet(
17626:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17627:            public static final BitSet FOLLOW_constantExpression_in_synpred1732740 = new BitSet(
17628:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17629:            public static final BitSet FOLLOW_74_in_synpred1732742 = new BitSet(
17630:                    new long[] { 0x0000000000000002L });
17631:            public static final BitSet FOLLOW_88_in_synpred1742749 = new BitSet(
17632:                    new long[] { 0x0000000000000010L });
17633:            public static final BitSet FOLLOW_enumConstantName_in_synpred1742751 = new BitSet(
17634:                    new long[] { 0x0000000000000000L, 0x0000000000000400L });
17635:            public static final BitSet FOLLOW_74_in_synpred1742753 = new BitSet(
17636:                    new long[] { 0x0000000000000002L });
17637:            public static final BitSet FOLLOW_forVarControl_in_synpred1762798 = new BitSet(
17638:                    new long[] { 0x0000000000000002L });
17639:            public static final BitSet FOLLOW_variableModifier_in_synpred1812851 = new BitSet(
17640:                    new long[] { 0x7F82000000000010L, 0x0000000000000080L });
17641:            public static final BitSet FOLLOW_type_in_synpred1812854 = new BitSet(
17642:                    new long[] { 0x0000000000000010L });
17643:            public static final BitSet FOLLOW_variableDeclarators_in_synpred1812856 = new BitSet(
17644:                    new long[] { 0x0000000000000002L });
17645:            public static final BitSet FOLLOW_assignmentOperator_in_synpred1842975 = new BitSet(
17646:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17647:            public static final BitSet FOLLOW_expression_in_synpred1842977 = new BitSet(
17648:                    new long[] { 0x0000000000000002L });
17649:            public static final BitSet FOLLOW_35_in_synpred1953095 = new BitSet(
17650:                    new long[] { 0x0000000800000000L });
17651:            public static final BitSet FOLLOW_35_in_synpred1953097 = new BitSet(
17652:                    new long[] { 0x0000100000000000L });
17653:            public static final BitSet FOLLOW_44_in_synpred1953099 = new BitSet(
17654:                    new long[] { 0x0000000000000002L });
17655:            public static final BitSet FOLLOW_relationalOp_in_synpred2053343 = new BitSet(
17656:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17657:            public static final BitSet FOLLOW_shiftExpression_in_synpred2053345 = new BitSet(
17658:                    new long[] { 0x0000000000000002L });
17659:            public static final BitSet FOLLOW_shiftOp_in_synpred2093398 = new BitSet(
17660:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17661:            public static final BitSet FOLLOW_additiveExpression_in_synpred2093400 = new BitSet(
17662:                    new long[] { 0x0000000000000002L });
17663:            public static final BitSet FOLLOW_35_in_synpred2113430 = new BitSet(
17664:                    new long[] { 0x0000000800000000L });
17665:            public static final BitSet FOLLOW_35_in_synpred2113432 = new BitSet(
17666:                    new long[] { 0x0000000800000000L });
17667:            public static final BitSet FOLLOW_35_in_synpred2113434 = new BitSet(
17668:                    new long[] { 0x0000000000000002L });
17669:            public static final BitSet FOLLOW_castExpression_in_synpred2233615 = new BitSet(
17670:                    new long[] { 0x0000000000000002L });
17671:            public static final BitSet FOLLOW_65_in_synpred2273653 = new BitSet(
17672:                    new long[] { 0x7F80000000000000L });
17673:            public static final BitSet FOLLOW_primitiveType_in_synpred2273655 = new BitSet(
17674:                    new long[] { 0x0000000000000000L, 0x0000000000000004L });
17675:            public static final BitSet FOLLOW_66_in_synpred2273657 = new BitSet(
17676:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17677:            public static final BitSet FOLLOW_unaryExpression_in_synpred2273659 = new BitSet(
17678:                    new long[] { 0x0000000000000002L });
17679:            public static final BitSet FOLLOW_type_in_synpred2283671 = new BitSet(
17680:                    new long[] { 0x0000000000000002L });
17681:            public static final BitSet FOLLOW_28_in_synpred2323738 = new BitSet(
17682:                    new long[] { 0x0000000000000010L });
17683:            public static final BitSet FOLLOW_Identifier_in_synpred2323740 = new BitSet(
17684:                    new long[] { 0x0000000000000002L });
17685:            public static final BitSet FOLLOW_identifierSuffix_in_synpred2333745 = new BitSet(
17686:                    new long[] { 0x0000000000000002L });
17687:            public static final BitSet FOLLOW_28_in_synpred2383798 = new BitSet(
17688:                    new long[] { 0x0000000000000010L });
17689:            public static final BitSet FOLLOW_Identifier_in_synpred2383800 = new BitSet(
17690:                    new long[] { 0x0000000000000002L });
17691:            public static final BitSet FOLLOW_identifierSuffix_in_synpred2393805 = new BitSet(
17692:                    new long[] { 0x0000000000000002L });
17693:            public static final BitSet FOLLOW_41_in_synpred2453868 = new BitSet(
17694:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17695:            public static final BitSet FOLLOW_expression_in_synpred2453870 = new BitSet(
17696:                    new long[] { 0x0000040000000000L });
17697:            public static final BitSet FOLLOW_42_in_synpred2453872 = new BitSet(
17698:                    new long[] { 0x0000000000000002L });
17699:            public static final BitSet FOLLOW_41_in_synpred2614092 = new BitSet(
17700:                    new long[] { 0x7F80010200000FD0L, 0x0003F30000000073L });
17701:            public static final BitSet FOLLOW_expression_in_synpred2614094 = new BitSet(
17702:                    new long[] { 0x0000040000000000L });
17703:            public static final BitSet FOLLOW_42_in_synpred2614096 = new BitSet(
17704:                    new long[] { 0x0000000000000002L });
17705:
17706:        }
w__w__w.___j__ava2___s__._co__m___ | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.