Package org.codehaus.groovy.antlr.java

# Class JavaRecognizer

java.lang.Object
antlr.Parser
antlr.LLkParser
org.codehaus.groovy.antlr.java.JavaRecognizer

All Implemented Interfaces:
  `JavaTokenTypes`

    public class JavaRecognizer
    extends LLkParser
    implements JavaTokenTypes

Java 1.5 Recognizer Run 'java Main [-showtree] directory-full-of-java-files' [The -showtree option pops up a Swing frame that shows the AST constructed from the parser.] Run 'java Main ' Contributing authors: Jeremy Rayner groovy@ross-rayner.com John Mitchell johnm@non.net Terence Parr parrt@magelang.com John Lilley jlilley@empathy.com Scott Stanchfield thetick@magelang.com Markus Mohnen mohnen@informatik.rwth-aachen.de Peter Williams pete.williams@sun.com Allan Jacobs Allan.Jacobs@eng.sun.com Steve Messick messick@redhills.com John Pybus john@pybus.org Version 1.00 December 9, 1997 -- initial release Version 1.01 December 10, 1997 fixed bug in octal def (0..7 not 0..8) Version 1.10 August 1998 (parrt) added tree construction fixed definition of WS,comments for mac,pc,unix newlines added unary plus Version 1.11 (Nov 20, 1998) Added "shutup" option to turn off last ambig warning. Fixed inner class def to allow named class defs as statements synchronized requires compound not simple statement add [] after builtInType DOT class in primaryExpression "const" is reserved but not valid..removed from modifiers Version 1.12 (Feb 2, 1999) Changed LITERAL_xxx to xxx in tree grammar. Updated java.g to use tokens {...} now for 2.6.0 (new feature). Version 1.13 (Apr 23, 1999) Didn't have (stat)? for else clause in tree parser. Didn't gen ASTs for interface extends. Updated tree parser too. Updated to 2.6.0. Version 1.14 (Jun 20, 1999) Allowed final/abstract on local classes. Removed local interfaces from methods Put instanceof precedence where it belongs...in relationalExpr It also had expr not type as arg; fixed it. Missing ! on SEMI in classBlock fixed: (expr) + "string" was parsed incorrectly (+ as unary plus). fixed: didn't like Object[].class in parser or tree parser Version 1.15 (Jun 26, 1999) Screwed up rule with instanceof in it. :( Fixed. Tree parser didn't like (expr).something; fixed. Allowed multiple inheritance in tree grammar. oops. Version 1.16 (August 22, 1999) Extending an interface built a wacky tree: had extra EXTENDS. Tree grammar didn't allow multiple superinterfaces. Tree grammar didn't allow empty var initializer: {} Version 1.17 (October 12, 1999) ESC lexer rule allowed 399 max not 377 max. java.tree.g didn't handle the expression of synchronized statements. Version 1.18 (August 12, 2001) Terence updated to Java 2 Version 1.3 by observing/combining work of Allan Jacobs and Steve Messick. Handles 1.3 src. Summary: o primary didn't include boolean.class kind of thing o constructor calls parsed explicitly now: see explicitConstructorInvocation o add strictfp modifier o missing objBlock after new expression in tree grammar o merged local class definition alternatives, moved after declaration o fixed problem with ClassName.super.field o reordered some alternatives to make things more efficient o long and double constants were not differentiated from int/float o whitespace rule was inefficient: matched only one char o add an examples directory with some nasty 1.3 cases o made Main.java use buffered IO and a Reader for Unicode support o supports UNICODE? Using Unicode charVocabulay makes code file big, but only in the bitsets at the end. I need to make ANTLR generate unicode bitsets more efficiently. Version 1.19 (April 25, 2002) Terence added in nice fixes by John Pybus concerning floating constants and problems with super() calls. John did a nice reorg of the primary/postfix expression stuff to read better and makes f.g.super() parse properly (it was METHOD_CALL not a SUPER_CTOR_CALL). Also: o "finally" clause was a root...made it a child of "try" o Added stuff for asserts too for Java 1.4, but *commented out* as it is not backward compatible. Version 1.20 (October 27, 2002) Terence ended up reorging John Pybus' stuff to remove some nondeterminisms and some syntactic predicates. Note that the grammar is stricter now; e.g., this(...) must be the first statement. Ternary ?: operator wasn't working as array name: (isBig ? bigDigits : digits)[i]; Checked parser/tree parser on source for Resin-2.0.5, jive-2.1.1, jdk 1.3.1, Lucene, antlr 2.7.2a4, and the 110k-line jGuru server source. Version 1.21 (October 17, 2003) Fixed lots of problems including: Ray Waldin: add typeDefinition to interfaceBlock in java.tree.g He found a problem/fix with floating point that start with 0 Ray also fixed problem that (int.class) was not recognized. Thorsten van Ellen noticed that \n are allowed incorrectly in strings. TJP fixed CHAR_LITERAL analogously. Version 1.21.2 (March, 2003) Changes by Matt Quail to support generics (as per JDK1.5/JSR14) Notes: o We only allow the "extends" keyword and not the "implements" keyword, since that's what JSR14 seems to imply. o Thanks to Monty Zukowski for his help on the antlr-interest mail list. o Thanks to Alan Eliasen for testing the grammar over his Fink source base Version 1.22 (July, 2004) Changes by Michael Studman to support Java 1.5 language extensions Notes: o Added support for annotations types o Finished off Matt Quail's generics enhancements to support bound type arguments o Added support for new for statement syntax o Added support for static import syntax o Added support for enum types o Tested against JDK 1.5 source base and source base of jdigraph project o Thanks to Matt Quail for doing the hard part by doing most of the generics work Version 1.22.1 (July 28, 2004) Bug/omission fixes for Java 1.5 language support o Fixed tree structure bug with classOrInterface - thanks to Pieter Vangorpto for spotting this o Fixed bug where incorrect handling of SR and BSR tokens would cause type parameters to be recognised as type arguments. o Enabled type parameters on constructors, annotations on enum constants and package definitions o Fixed problems when parsing if ((char.class.equals(c))) {} - solution by Matt Quail at Cenqua Version 1.22.2 (July 28, 2004) Slight refactoring of Java 1.5 language support o Refactored for/"foreach" productions so that original literal "for" literal is still used but the for sub-clauses vary by token type o Fixed bug where type parameter was not included in generic constructor's branch of AST Version 1.22.3 (August 26, 2004) Bug fixes as identified by Michael Stahl; clean up of tabs/spaces and other refactorings o Fixed typeParameters omission in identPrimary and newStatement o Replaced GT reconciliation code with simple semantic predicate o Adapted enum/assert keyword checking support from Michael Stahl's java15 grammar o Refactored typeDefinition production and field productions to reduce duplication Version 1.22.4 (October 21, 2004) Small bux fixes o Added typeArguments to explicitConstructorInvocation, e.g. new MyParameterised() o Added typeArguments to postfixExpression productions for anonymous inner class super constructor invocation, e.g. new Outer().super() o Fixed bug in array declarations identified by Geoff Roy Version 1.22.4.j.1 Changes by Jeremy Rayner to support java2groovy tool o I have taken java.g for Java1.5 from Michael Studman (1.22.4) and have made some changes to enable use by java2groovy tool (Jan 2007) Based on an original grammar released in the PUBLIC DOMAIN

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static java.lang.String[]` | `_tokenNames` |
  `static BitSet` | `_tokenSet_0` |
  `static BitSet` | `_tokenSet_1` |
  `static BitSet` | `_tokenSet_10` |
  `static BitSet` | `_tokenSet_11` |
  `static BitSet` | `_tokenSet_12` |
  `static BitSet` | `_tokenSet_13` |
  `static BitSet` | `_tokenSet_14` |
  `static BitSet` | `_tokenSet_15` |
  `static BitSet` | `_tokenSet_16` |
  `static BitSet` | `_tokenSet_17` |
  `static BitSet` | `_tokenSet_18` |
  `static BitSet` | `_tokenSet_19` |
  `static BitSet` | `_tokenSet_2` |
  `static BitSet` | `_tokenSet_20` |
  `static BitSet` | `_tokenSet_21` |
  `static BitSet` | `_tokenSet_22` |
  `static BitSet` | `_tokenSet_23` |
  `static BitSet` | `_tokenSet_24` |
  `static BitSet` | `_tokenSet_25` |
  `static BitSet` | `_tokenSet_26` |
  `static BitSet` | `_tokenSet_27` |
  `static BitSet` | `_tokenSet_28` |
  `static BitSet` | `_tokenSet_29` |
  `static BitSet` | `_tokenSet_3` |
  `static BitSet` | `_tokenSet_30` |
  `static BitSet` | `_tokenSet_31` |
  `static BitSet` | `_tokenSet_32` |
  `static BitSet` | `_tokenSet_33` |
  `static BitSet` | `_tokenSet_34` |
  `static BitSet` | `_tokenSet_35` |
  `static BitSet` | `_tokenSet_36` |
  `static BitSet` | `_tokenSet_37` |
  `static BitSet` | `_tokenSet_38` |
  `static BitSet` | `_tokenSet_39` |
  `static BitSet` | `_tokenSet_4` |
  `static BitSet` | `_tokenSet_40` |
  `static BitSet` | `_tokenSet_41` |
  `static BitSet` | `_tokenSet_42` |
  `static BitSet` | `_tokenSet_43` |
  `static BitSet` | `_tokenSet_44` |
  `static BitSet` | `_tokenSet_45` |
  `static BitSet` | `_tokenSet_46` |
  `static BitSet` | `_tokenSet_47` |
  `static BitSet` | `_tokenSet_48` |
  `static BitSet` | `_tokenSet_49` |
  `static BitSet` | `_tokenSet_5` |
  `static BitSet` | `_tokenSet_50` |
  `static BitSet` | `_tokenSet_51` |
  `static BitSet` | `_tokenSet_6` |
  `static BitSet` | `_tokenSet_7` |
  `static BitSet` | `_tokenSet_8` |
  `static BitSet` | `_tokenSet_9` |

  ### Fields inherited from class antlr.Parser

  `astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap, traceDepth`

  ### Fields inherited from interface org.codehaus.groovy.antlr.java.JavaTokenTypes

  `ABSTRACT, ANNOTATION, ANNOTATION_ARRAY_INIT, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, ANNOTATION_MEMBER_VALUE_PAIR, ANNOTATIONS, ARRAY_DECLARATOR, ARRAY_INIT, ASSIGN, AT, BAND, BAND_ASSIGN, BLOCK, BNOT, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CASE_GROUP, CHAR_LITERAL, CLASS_DEF, COLON, COMMA, CTOR_CALL, DEC, DIGIT, DIGITS_WITH_UNDERSCORE, DIGITS_WITH_UNDERSCORE_OPT, DIV, DIV_ASSIGN, DOT, ELIST, EMPTY_STAT, ENUM_CONSTANT_DEF, ENUM_DEF, EOF, EQUAL, ESC, EXPONENT, EXPR, EXTENDS_CLAUSE, FINAL, FLOAT_SUFFIX, FOR_CONDITION, FOR_EACH_CLAUSE, FOR_INIT, FOR_ITERATOR, GE, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, IMPORT, INC, INDEX_OP, INSTANCE_INIT, INTERFACE_DEF, LABELED_STAT, LAND, LBRACK, LCURLY, LE, LITERAL_assert, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_else, LITERAL_enum, LITERAL_extends, LITERAL_false, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_long, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_package, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_threadsafe, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_volatile, LITERAL_while, LNOT, LOR, LPAREN, LT, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJBLOCK, PACKAGE_DEF, PARAMETER_DEF, PARAMETERS, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RBRACK, RCURLY, RPAREN, SEMI, SL, SL_ASSIGN, SL_COMMENT, SLIST, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STATIC_IMPORT, STATIC_INIT, STRICTFP, STRING_LITERAL, SUPER_CTOR_CALL, TRIPLE_DOT, TYPE, TYPE_ARGUMENT, TYPE_ARGUMENTS, TYPE_LOWER_BOUNDS, TYPE_PARAMETER, TYPE_PARAMETERS, TYPE_UPPER_BOUNDS, TYPECAST, UNARY_MINUS, UNARY_PLUS, VARIABLE_DEF, VARIABLE_PARAMETER_DEF, VOCAB, WILDCARD_TYPE, WS`

- ## Constructor Summary

  Constructors
  Modifier | Constructor | Description
  --- | --- | ---
  `` | `JavaRecognizer​(ParserSharedInputState state)` |
  `` | `JavaRecognizer​(TokenBuffer tokenBuf)` |
  `protected` | `JavaRecognizer​(TokenBuffer tokenBuf, int k)` |
  `` | `JavaRecognizer​(TokenStream lexer)` |
  `protected` | `JavaRecognizer​(TokenStream lexer, int k)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `aCase()` |
  `void` | `additiveExpression()` |
  `void` | `andExpression()` |
  `void` | `annotation()` |
  `void` | `annotationArguments()` |
  `void` | `annotationBlock()` |
  `void` | `annotationDefinition​(AST modifiers)` |
  `void` | `annotationField()` |
  `void` | `annotationMemberArrayInitializer()` |
  `void` | `annotationMemberArrayValueInitializer()` |
  `void` | `annotationMemberValueInitializer()` |
  `void` | `annotationMemberValuePair()` |
  `void` | `annotationMemberValuePairs()` |
  `void` | `annotations()` |
  `void` | `argList()` |
  `void` | `arrayInitializer()` |
  `void` | `assignmentExpression()` |
  `protected void` | `buildTokenTypeASTClassMap()` |
  `void` | `builtInType()` |
  `void` | `builtInTypeArraySpec​(boolean addImagNode)` |
  `void` | `builtInTypeSpec​(boolean addImagNode)` |
  `void` | `casesGroup()` |
  `void` | `caseSList()` |
  `void` | `classBlock()` |
  `void` | `classDefinition​(AST modifiers)` |
  `void` | `classField()` |
  `void` | `classOrInterfaceType​(boolean addImagNode)` |
  `void` | `classTypeSpec​(boolean addImagNode)` |
  `void` | `compilationUnit()` |
  `void` | `compoundStatement()` |
  `void` | `conditionalExpression()` |
  `void` | `constant()` |
  `void` | `constructorBody()` |
  `AST` | `create​(int type, java.lang.String txt, Token first, Token last)` | Create an AST node with the token type and text passed in, but with the same background information as another supplied Token (e.g.
  `void` | `ctorHead()` |
  `void` | `declaration()` |
  `void` | `declaratorBrackets​(AST typ)` |
  `void` | `enumBlock()` |
  `void` | `enumConstant()` |
  `void` | `enumConstantBlock()` |
  `void` | `enumConstantField()` |
  `void` | `enumDefinition​(AST modifiers)` |
  `void` | `equalityExpression()` |
  `void` | `exclusiveOrExpression()` |
  `void` | `explicitConstructorInvocation()` | Catch obvious constructor calls, but not the expr.super(...) calls
  `void` | `expression()` |
  `void` | `expressionList()` |
  `void` | `finallyClause()` |
  `void` | `forCond()` |
  `void` | `forEachClause()` |
  `void` | `forInit()` |
  `void` | `forIter()` |
  `void` | `forStatement()` |
  `JavaLexer` | `getLexer()` |
  `void` | `handler()` |
  `void` | `identifier()` |
  `void` | `identifierStar()` |
  `void` | `identPrimary()` | Match a, a.b.c refs, a.b.c(...) refs, a.b.c[], a.b.c[].class, and a.b.c.class refs.
  `void` | `implementsClause()` |
  `void` | `importDefinition()` |
  `void` | `inclusiveOrExpression()` |
  `void` | `initializer()` |
  `void` | `interfaceBlock()` |
  `void` | `interfaceDefinition​(AST modifiers)` |
  `void` | `interfaceExtends()` |
  `void` | `interfaceField()` |
  `void` | `logicalAndExpression()` |
  `void` | `logicalOrExpression()` |
  `static JavaRecognizer` | `make​(InputBuffer in)` |
  `static JavaRecognizer` | `make​(LexerSharedInputState in)` |
  `static JavaRecognizer` | `make​(java.io.InputStream in)` |
  `static JavaRecognizer` | `make​(java.io.Reader in)` |
  `static JavaRecognizer` | `make​(JavaLexer lexer)` | This factory is the correct way to wire together a Groovy parser and lexer.
  `void` | `modifier()` |
  `void` | `modifiers()` |
  `void` | `multicatch()` |
  `void` | `multicatch_types()` |
  `void` | `multiplicativeExpression()` |
  `void` | `newArrayDeclarator()` |
  `void` | `newExpression()` | object instantiation.
  `void` | `packageDefinition()` |
  `void` | `parameterDeclaration()` |
  `void` | `parameterDeclarationList()` |
  `void` | `parameterModifier()` |
  `void` | `postfixExpression()` |
  `void` | `primaryExpression()` |
  `void` | `relationalExpression()` |
  `void` | `resource()` |
  `void` | `resourceList()` |
  `void` | `resources()` |
  `void` | `setFilename​(java.lang.String f)` |
  `void` | `setSourceBuffer​(SourceBuffer sourceBuffer)` |
  `void` | `shiftExpression()` |
  `void` | `statement()` |
  `void` | `superClassClause()` |
  `void` | `throwsClause()` |
  `void` | `traditionalForClause()` |
  `void` | `tryBlock()` |
  `void` | `type()` |
  `void` | `typeArgument()` |
  `void` | `typeArgumentBounds()` |
  `void` | `typeArguments()` |
  `void` | `typeArgumentsOrDiamond()` |
  `protected void` | `typeArgumentsOrParametersEnd()` |
  `void` | `typeArgumentSpec()` |
  `void` | `typeDefinition()` |
  `protected void` | `typeDefinitionInternal​(AST mods)` |
  `void` | `typeParameter()` |
  `void` | `typeParameterBounds()` |
  `void` | `typeParameters()` |
  `void` | `typeSpec​(boolean addImagNode)` |
  `void` | `unaryExpression()` |
  `void` | `unaryExpressionNotPlusMinus()` |
  `void` | `variableDeclarator​(AST mods, AST t)` | Declaration of a variable.
  `void` | `variableDefinitions​(AST mods, AST t)` |
  `void` | `variableLengthParameterDeclaration()` |
  `void` | `varInitializer()` |
  `void` | `wildcardType()` |

  ### Methods inherited from class antlr.LLkParser

  `consume, LA, LT, traceIn, traceOut`

  ### Methods inherited from class antlr.Parser

  `addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, panic, recover, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, reportError, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### _tokenNames

    public static final java.lang.String[] _tokenNames

  - ### _tokenSet_0

    public static final BitSet _tokenSet_0

  - ### _tokenSet_1

    public static final BitSet _tokenSet_1

  - ### _tokenSet_2

    public static final BitSet _tokenSet_2

  - ### _tokenSet_3

    public static final BitSet _tokenSet_3

  - ### _tokenSet_4

    public static final BitSet _tokenSet_4

  - ### _tokenSet_5

    public static final BitSet _tokenSet_5

  - ### _tokenSet_6

    public static final BitSet _tokenSet_6

  - ### _tokenSet_7

    public static final BitSet _tokenSet_7

  - ### _tokenSet_8

    public static final BitSet _tokenSet_8

  - ### _tokenSet_9

    public static final BitSet _tokenSet_9

  - ### _tokenSet_10

    public static final BitSet _tokenSet_10

  - ### _tokenSet_11

    public static final BitSet _tokenSet_11

  - ### _tokenSet_12

    public static final BitSet _tokenSet_12

  - ### _tokenSet_13

    public static final BitSet _tokenSet_13

  - ### _tokenSet_14

    public static final BitSet _tokenSet_14

  - ### _tokenSet_15

    public static final BitSet _tokenSet_15

  - ### _tokenSet_16

    public static final BitSet _tokenSet_16

  - ### _tokenSet_17

    public static final BitSet _tokenSet_17

  - ### _tokenSet_18

    public static final BitSet _tokenSet_18

  - ### _tokenSet_19

    public static final BitSet _tokenSet_19

  - ### _tokenSet_20

    public static final BitSet _tokenSet_20

  - ### _tokenSet_21

    public static final BitSet _tokenSet_21

  - ### _tokenSet_22

    public static final BitSet _tokenSet_22

  - ### _tokenSet_23

    public static final BitSet _tokenSet_23

  - ### _tokenSet_24

    public static final BitSet _tokenSet_24

  - ### _tokenSet_25

    public static final BitSet _tokenSet_25

  - ### _tokenSet_26

    public static final BitSet _tokenSet_26

  - ### _tokenSet_27

    public static final BitSet _tokenSet_27

  - ### _tokenSet_28

    public static final BitSet _tokenSet_28

  - ### _tokenSet_29

    public static final BitSet _tokenSet_29

  - ### _tokenSet_30

    public static final BitSet _tokenSet_30

  - ### _tokenSet_31

    public static final BitSet _tokenSet_31

  - ### _tokenSet_32

    public static final BitSet _tokenSet_32

  - ### _tokenSet_33

    public static final BitSet _tokenSet_33

  - ### _tokenSet_34

    public static final BitSet _tokenSet_34

  - ### _tokenSet_35

    public static final BitSet _tokenSet_35

  - ### _tokenSet_36

    public static final BitSet _tokenSet_36

  - ### _tokenSet_37

    public static final BitSet _tokenSet_37

  - ### _tokenSet_38

    public static final BitSet _tokenSet_38

  - ### _tokenSet_39

    public static final BitSet _tokenSet_39

  - ### _tokenSet_40

    public static final BitSet _tokenSet_40

  - ### _tokenSet_41

    public static final BitSet _tokenSet_41

  - ### _tokenSet_42

    public static final BitSet _tokenSet_42

  - ### _tokenSet_43

    public static final BitSet _tokenSet_43

  - ### _tokenSet_44

    public static final BitSet _tokenSet_44

  - ### _tokenSet_45

    public static final BitSet _tokenSet_45

  - ### _tokenSet_46

    public static final BitSet _tokenSet_46

  - ### _tokenSet_47

    public static final BitSet _tokenSet_47

  - ### _tokenSet_48

    public static final BitSet _tokenSet_48

  - ### _tokenSet_49

    public static final BitSet _tokenSet_49

  - ### _tokenSet_50

    public static final BitSet _tokenSet_50

  - ### _tokenSet_51

    public static final BitSet _tokenSet_51

- ## Constructor Details

  - ### JavaRecognizer

    protected JavaRecognizer​(TokenBuffer tokenBuf, int k)

  - ### JavaRecognizer

    public JavaRecognizer​(TokenBuffer tokenBuf)

  - ### JavaRecognizer

    protected JavaRecognizer​(TokenStream lexer, int k)

  - ### JavaRecognizer

    public JavaRecognizer​(TokenStream lexer)

  - ### JavaRecognizer

    public JavaRecognizer​(ParserSharedInputState state)

- ## Method Details

  - ### make

    public static JavaRecognizer make​(JavaLexer lexer)
    This factory is the correct way to wire together a Groovy parser and lexer.

  - ### make

    public static JavaRecognizer make​(java.io.InputStream in)

  - ### make

    public static JavaRecognizer make​(java.io.Reader in)

  - ### make

    public static JavaRecognizer make​(InputBuffer in)

  - ### make

    public static JavaRecognizer make​(LexerSharedInputState in)

  - ### getLexer

    public JavaLexer getLexer()

  - ### setFilename

    public void setFilename​(java.lang.String f)
    Overrides:
      `setFilename` in class `Parser`

  - ### setSourceBuffer

    public void setSourceBuffer​(SourceBuffer sourceBuffer)

  - ### create

    public AST create​(int type, java.lang.String txt, Token first, Token last)
    Create an AST node with the token type and text passed in, but with the same background information as another supplied Token (e.g. line numbers) to be used in place of antlr tree construction syntax, i.e. #[TOKEN,"text"] becomes create(TOKEN,"text",anotherToken) todo - change antlr.ASTFactory to do this instead...

  - ### compilationUnit

    public final void compilationUnit() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotations

    public final void annotations() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### packageDefinition

    public final void packageDefinition() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### importDefinition

    public final void importDefinition() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeDefinition

    public final void typeDefinition() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### identifier

    public final void identifier() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### identifierStar

    public final void identifierStar() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### modifiers

    public final void modifiers() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeDefinitionInternal

    protected final void typeDefinitionInternal​(AST mods) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### classDefinition

    public final void classDefinition​(AST modifiers) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### interfaceDefinition

    public final void interfaceDefinition​(AST modifiers) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### enumDefinition

    public final void enumDefinition​(AST modifiers) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationDefinition

    public final void annotationDefinition​(AST modifiers) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### declaration

    public final void declaration() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeSpec

    public final void typeSpec​(boolean addImagNode) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### variableDefinitions

    public final void variableDefinitions​(AST mods, AST t) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### classTypeSpec

    public final void classTypeSpec​(boolean addImagNode) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### builtInTypeSpec

    public final void builtInTypeSpec​(boolean addImagNode) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### classOrInterfaceType

    public final void classOrInterfaceType​(boolean addImagNode) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArgumentsOrDiamond

    public final void typeArgumentsOrDiamond() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArgumentSpec

    public final void typeArgumentSpec() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### builtInTypeArraySpec

    public final void builtInTypeArraySpec​(boolean addImagNode) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArgument

    public final void typeArgument() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### wildcardType

    public final void wildcardType() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArgumentBounds

    public final void typeArgumentBounds() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArguments

    public final void typeArguments() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeArgumentsOrParametersEnd

    protected final void typeArgumentsOrParametersEnd() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### builtInType

    public final void builtInType() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### type

    public final void type() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### modifier

    public final void modifier() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotation

    public final void annotation() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationArguments

    public final void annotationArguments() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationMemberValueInitializer

    public final void annotationMemberValueInitializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationMemberValuePairs

    public final void annotationMemberValuePairs() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationMemberValuePair

    public final void annotationMemberValuePair() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### conditionalExpression

    public final void conditionalExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationMemberArrayInitializer

    public final void annotationMemberArrayInitializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationMemberArrayValueInitializer

    public final void annotationMemberArrayValueInitializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### superClassClause

    public final void superClassClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeParameters

    public final void typeParameters() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### implementsClause

    public final void implementsClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### classBlock

    public final void classBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### interfaceExtends

    public final void interfaceExtends() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### interfaceBlock

    public final void interfaceBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### enumBlock

    public final void enumBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationBlock

    public final void annotationBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeParameter

    public final void typeParameter() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### typeParameterBounds

    public final void typeParameterBounds() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### classField

    public final void classField() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### interfaceField

    public final void interfaceField() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### annotationField

    public final void annotationField() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### enumConstant

    public final void enumConstant() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### declaratorBrackets

    public final void declaratorBrackets​(AST typ) throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### argList

    public final void argList() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### enumConstantBlock

    public final void enumConstantBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### enumConstantField

    public final void enumConstantField() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### parameterDeclarationList

    public final void parameterDeclarationList() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### throwsClause

    public final void throwsClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### compoundStatement

    public final void compoundStatement() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### ctorHead

    public final void ctorHead() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### constructorBody

    public final void constructorBody() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### explicitConstructorInvocation

    public final void explicitConstructorInvocation() throws RecognitionException, TokenStreamException
    Catch obvious constructor calls, but not the expr.super(...) calls
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### statement

    public final void statement() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### variableDeclarator

    public final void variableDeclarator​(AST mods, AST t) throws RecognitionException, TokenStreamException
    Declaration of a variable. This can be a class/instance variable, or a local variable in a method It can also include possible initialization.
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### varInitializer

    public final void varInitializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### initializer

    public final void initializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### arrayInitializer

    public final void arrayInitializer() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### expression

    public final void expression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### parameterDeclaration

    public final void parameterDeclaration() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### variableLengthParameterDeclaration

    public final void variableLengthParameterDeclaration() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### parameterModifier

    public final void parameterModifier() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### forStatement

    public final void forStatement() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### casesGroup

    public final void casesGroup() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### tryBlock

    public final void tryBlock() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### forInit

    public final void forInit() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### traditionalForClause

    public final void traditionalForClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### forEachClause

    public final void forEachClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### forCond

    public final void forCond() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### forIter

    public final void forIter() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### aCase

    public final void aCase() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### caseSList

    public final void caseSList() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### expressionList

    public final void expressionList() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### resources

    public final void resources() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### handler

    public final void handler() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### finallyClause

    public final void finallyClause() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### resourceList

    public final void resourceList() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### resource

    public final void resource() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### multicatch

    public final void multicatch() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### multicatch_types

    public final void multicatch_types() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### assignmentExpression

    public final void assignmentExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### logicalOrExpression

    public final void logicalOrExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### logicalAndExpression

    public final void logicalAndExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### inclusiveOrExpression

    public final void inclusiveOrExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### exclusiveOrExpression

    public final void exclusiveOrExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### andExpression

    public final void andExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### equalityExpression

    public final void equalityExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### relationalExpression

    public final void relationalExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### shiftExpression

    public final void shiftExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### additiveExpression

    public final void additiveExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### multiplicativeExpression

    public final void multiplicativeExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### unaryExpression

    public final void unaryExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### unaryExpressionNotPlusMinus

    public final void unaryExpressionNotPlusMinus() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### postfixExpression

    public final void postfixExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### primaryExpression

    public final void primaryExpression() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### newExpression

    public final void newExpression() throws RecognitionException, TokenStreamException
    object instantiation. Trees are built as illustrated by the following input/tree pairs: new T() new | T -- ELIST | arg1 -- arg2 -- .. -- argn new int[] new | int -- ARRAY_DECLARATOR new int[] {1,2} new | int -- ARRAY_DECLARATOR -- ARRAY_INIT | EXPR -- EXPR | | 1 2 new int[3] new | int -- ARRAY_DECLARATOR | EXPR | 3 new int[1][2] new | int -- ARRAY_DECLARATOR | ARRAY_DECLARATOR -- EXPR | | EXPR 1 | 2
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### identPrimary

    public final void identPrimary() throws RecognitionException, TokenStreamException
    Match a, a.b.c refs, a.b.c(...) refs, a.b.c[], a.b.c[].class, and a.b.c.class refs. Also this(...) and super(...). Match this or super.
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### constant

    public final void constant() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### newArrayDeclarator

    public final void newArrayDeclarator() throws RecognitionException, TokenStreamException
    Throws:
      `RecognitionException`
      `TokenStreamException`

  - ### buildTokenTypeASTClassMap

    protected void buildTokenTypeASTClassMap()