Package: org.codehaus.groovy.tools.shell.util

## [Groovy] Class CurlyCountingGroovyLexer

- org.codehaus.groovy.tools.shell.util.CurlyCountingGroovyLexer

- patching GroovyLexer to get access to Paren level

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.codehaus.groovy.antlr.parser.GroovyLexer` | `tracing, _tokenSet_0, _tokenSet_1, _tokenSet_2, _tokenSet_3, _tokenSet_4, _tokenSet_5, _tokenSet_6, _tokenSet_7, _tokenSet_8, _tokenSet_9, _tokenSet_10, _tokenSet_11, _tokenSet_12, _tokenSet_13, EOF, NULL_TREE_LOOKAHEAD, BLOCK, MODIFIERS, OBJBLOCK, SLIST, METHOD_DEF, VARIABLE_DEF, INSTANCE_INIT, STATIC_INIT, TYPE, CLASS_DEF, INTERFACE_DEF, TRAIT_DEF, PACKAGE_DEF, ARRAY_DECLARATOR, EXTENDS_CLAUSE, IMPLEMENTS_CLAUSE, PARAMETERS, PARAMETER_DEF, LABELED_STAT, TYPECAST, INDEX_OP, POST_INC, POST_DEC, METHOD_CALL, EXPR, IMPORT, UNARY_MINUS, UNARY_PLUS, CASE_GROUP, ELIST, FOR_INIT, FOR_CONDITION, FOR_ITERATOR, EMPTY_STAT, FINAL, ABSTRACT, UNUSED_GOTO, UNUSED_CONST, UNUSED_DO, STRICTFP, SUPER_CTOR_CALL, CTOR_CALL, CTOR_IDENT, VARIABLE_PARAMETER_DEF, STRING_CONSTRUCTOR, STRING_CTOR_MIDDLE, CLOSABLE_BLOCK, IMPLICIT_PARAMETERS, SELECT_SLOT, DYNAMIC_MEMBER, LABELED_ARG, SPREAD_ARG, SPREAD_MAP_ARG, LIST_CONSTRUCTOR, MAP_CONSTRUCTOR, FOR_IN_ITERABLE, STATIC_IMPORT, ENUM_DEF, ENUM_CONSTANT_DEF, FOR_EACH_CLAUSE, ANNOTATION_DEF, ANNOTATIONS, ANNOTATION, ANNOTATION_MEMBER_VALUE_PAIR, ANNOTATION_FIELD_DEF, ANNOTATION_ARRAY_INIT, TYPE_ARGUMENTS, TYPE_ARGUMENT, TYPE_PARAMETERS, TYPE_PARAMETER, WILDCARD_TYPE, TYPE_UPPER_BOUNDS, TYPE_LOWER_BOUNDS, CLOSURE_LIST, MULTICATCH, MULTICATCH_TYPES, SH_COMMENT, LITERAL_package, LITERAL_import, LITERAL_static, LITERAL_def, LBRACK, RBRACK, IDENT, STRING_LITERAL, LT, DOT, LPAREN, LITERAL_class, LITERAL_interface, LITERAL_enum, LITERAL_trait, AT, QUESTION, LITERAL_extends, LITERAL_super, GT, COMMA, SR, BSR, LITERAL_void, LITERAL_boolean, LITERAL_byte, LITERAL_char, LITERAL_short, LITERAL_int, LITERAL_float, LITERAL_long, LITERAL_double, STAR, LITERAL_as, LITERAL_private, LITERAL_public, LITERAL_protected, LITERAL_transient, LITERAL_native, LITERAL_threadsafe, LITERAL_synchronized, LITERAL_volatile, RPAREN, ASSIGN, BAND, LCURLY, RCURLY, SEMI, LITERAL_default, LITERAL_throws, LITERAL_implements, LITERAL_this, TRIPLE_DOT, BOR, CLOSABLE_BLOCK_OP, COLON, LITERAL_if, LITERAL_else, LITERAL_while, LITERAL_switch, LITERAL_for, LITERAL_in, LITERAL_return, LITERAL_break, LITERAL_continue, LITERAL_throw, LITERAL_assert, PLUS, MINUS, LITERAL_case, LITERAL_try, LITERAL_finally, LITERAL_catch, SPREAD_DOT, OPTIONAL_DOT, MEMBER_POINTER, LITERAL_false, LITERAL_instanceof, LITERAL_new, LITERAL_null, LITERAL_true, PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN, SR_ASSIGN, BSR_ASSIGN, SL_ASSIGN, BAND_ASSIGN, BXOR_ASSIGN, BOR_ASSIGN, STAR_STAR_ASSIGN, ELVIS_OPERATOR, LOR, LAND, BXOR, REGEX_FIND, REGEX_MATCH, NOT_EQUAL, EQUAL, IDENTICAL, NOT_IDENTICAL, COMPARE_TO, LE, GE, SL, RANGE_INCLUSIVE, RANGE_EXCLUSIVE, INC, DIV, MOD, DEC, STAR_STAR, BNOT, LNOT, STRING_CTOR_START, STRING_CTOR_END, NUM_INT, NUM_FLOAT, NUM_LONG, NUM_DOUBLE, NUM_BIG_INT, NUM_BIG_DECIMAL, NLS, DOLLAR, WS, ONE_NL, SL_COMMENT, ML_COMMENT, STRING_CH, REGEXP_LITERAL, DOLLAR_REGEXP_LITERAL, REGEXP_CTOR_END, DOLLAR_REGEXP_CTOR_END, ESCAPED_SLASH, ESCAPED_DOLLAR, REGEXP_SYMBOL, DOLLAR_REGEXP_SYMBOL, ESC, STRING_NL, HEX_DIGIT, VOCAB, LETTER, DIGIT, DIGITS_WITH_UNDERSCORE, DIGITS_WITH_UNDERSCORE_OPT, EXPONENT, FLOAT_SUFFIX, BIG_SUFFIX, EOF_CHAR`
    `class CharScanner` | `EOF_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `protected CurlyCountingGroovyLexer (Reader reader)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static CurlyCountingGroovyLexer` | `createGroovyLexer(String src)`
    `` | `int` | `getParenLevel()`
    `` | `List<GroovySourceToken>` | `toList()`
    `` | `void` | `uponEOF()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.codehaus.groovy.antlr.parser.GroovyLexer` | `org.codehaus.groovy.antlr.parser.GroovyLexer#nextToken(), org.codehaus.groovy.antlr.parser.GroovyLexer#traceOut(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#traceIn(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#mASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#enableEnum(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mIDENTICAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBNOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mDEC(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mCOMMA(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mMINUS_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSTAR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#plumb(), org.codehaus.groovy.antlr.parser.GroovyLexer#mBSR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBSR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mPLUS_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mGT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSL_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLBRACK(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mNOT_IDENTICAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#enableAssert(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#isAssertEnabled(), org.codehaus.groovy.antlr.parser.GroovyLexer#mLNOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#isEnumEnabled(), org.codehaus.groovy.antlr.parser.GroovyLexer#mPLUS(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mGE(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mRPAREN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLPAREN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mRBRACK(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mNOT_EQUAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLCURLY(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mINC(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mDOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mCOLON(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mQUESTION(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mRCURLY(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mEQUAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mCOMPARE_TO(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mMINUS(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSTAR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mMOD(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mMOD_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mIDENT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSTRING_LITERAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mNUM_INT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLOR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mREGEX_FIND(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSPREAD_DOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mWS(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mTRIPLE_DOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSTAR_STAR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mRANGE_EXCLUSIVE(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSL_COMMENT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mREGEXP_LITERAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLAND(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBAND_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mMEMBER_POINTER(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBOR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBOR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBAND(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mREGEX_MATCH(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBXOR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mBXOR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSH_COMMENT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mELVIS_OPERATOR(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mML_COMMENT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSEMI(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mNLS(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mLE(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mRANGE_INCLUSIVE(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mOPTIONAL_DOT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mAT(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mSTAR_STAR_ASSIGN(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#mCLOSABLE_BLOCK_OP(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#setTokenObjectClass(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#mDOLLAR_REGEXP_LITERAL(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#isWhitespaceIncluded(), org.codehaus.groovy.antlr.parser.GroovyLexer#setWhitespaceIncluded(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#append(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#append(char), org.codehaus.groovy.antlr.parser.GroovyLexer#mark(), org.codehaus.groovy.antlr.parser.GroovyLexer#toLower(char), org.codehaus.groovy.antlr.parser.GroovyLexer#rewind(int), org.codehaus.groovy.antlr.parser.GroovyLexer#match(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#match(char), org.codehaus.groovy.antlr.parser.GroovyLexer#match(antlr.collections.impl.BitSet), org.codehaus.groovy.antlr.parser.GroovyLexer#tab(), org.codehaus.groovy.antlr.parser.GroovyLexer#reportError(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#reportError(antlr.RecognitionException), org.codehaus.groovy.antlr.parser.GroovyLexer#setCaseSensitive(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#newline(), org.codehaus.groovy.antlr.parser.GroovyLexer#getFilename(), org.codehaus.groovy.antlr.parser.GroovyLexer#consume(), org.codehaus.groovy.antlr.parser.GroovyLexer#getText(), org.codehaus.groovy.antlr.parser.GroovyLexer#getLine(), org.codehaus.groovy.antlr.parser.GroovyLexer#setLine(int), org.codehaus.groovy.antlr.parser.GroovyLexer#setText(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#getColumn(), org.codehaus.groovy.antlr.parser.GroovyLexer#setFilename(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#matchRange(char, char), org.codehaus.groovy.antlr.parser.GroovyLexer#LA(int), org.codehaus.groovy.antlr.parser.GroovyLexer#matchNot(char), org.codehaus.groovy.antlr.parser.GroovyLexer#panic(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#panic(), org.codehaus.groovy.antlr.parser.GroovyLexer#setInputState(antlr.LexerSharedInputState), org.codehaus.groovy.antlr.parser.GroovyLexer#traceIndent(), org.codehaus.groovy.antlr.parser.GroovyLexer#getCaseSensitive(), org.codehaus.groovy.antlr.parser.GroovyLexer#resetText(), org.codehaus.groovy.antlr.parser.GroovyLexer#uponEOF(), org.codehaus.groovy.antlr.parser.GroovyLexer#getInputBuffer(), org.codehaus.groovy.antlr.parser.GroovyLexer#consumeUntil(antlr.collections.impl.BitSet), org.codehaus.groovy.antlr.parser.GroovyLexer#consumeUntil(int), org.codehaus.groovy.antlr.parser.GroovyLexer#setTabSize(int), org.codehaus.groovy.antlr.parser.GroovyLexer#getTabSize(), org.codehaus.groovy.antlr.parser.GroovyLexer#commit(), org.codehaus.groovy.antlr.parser.GroovyLexer#reportWarning(java.lang.String), org.codehaus.groovy.antlr.parser.GroovyLexer#setCommitToPath(boolean), org.codehaus.groovy.antlr.parser.GroovyLexer#getInputState(), org.codehaus.groovy.antlr.parser.GroovyLexer#setColumn(int), org.codehaus.groovy.antlr.parser.GroovyLexer#getTokenObject(), org.codehaus.groovy.antlr.parser.GroovyLexer#getCommitToPath(), org.codehaus.groovy.antlr.parser.GroovyLexer#testLiteralsTable(int), org.codehaus.groovy.antlr.parser.GroovyLexer#testLiteralsTable(java.lang.String, int), org.codehaus.groovy.antlr.parser.GroovyLexer#getCaseSensitiveLiterals(), org.codehaus.groovy.antlr.parser.GroovyLexer#wait(), org.codehaus.groovy.antlr.parser.GroovyLexer#wait(long, int), org.codehaus.groovy.antlr.parser.GroovyLexer#wait(long), org.codehaus.groovy.antlr.parser.GroovyLexer#equals(java.lang.Object), org.codehaus.groovy.antlr.parser.GroovyLexer#toString(), org.codehaus.groovy.antlr.parser.GroovyLexer#hashCode(), org.codehaus.groovy.antlr.parser.GroovyLexer#getClass(), org.codehaus.groovy.antlr.parser.GroovyLexer#notify(), org.codehaus.groovy.antlr.parser.GroovyLexer#notifyAll()`
    `class CharScanner` | `append, append, mark, toLower, rewind, match, match, match, tab, reportError, reportError, setCaseSensitive, newline, getFilename, consume, getText, getLine, setLine, setText, getColumn, setFilename, matchRange, LA, matchNot, panic, panic, setInputState, traceIndent, getCaseSensitive, resetText, uponEOF, getInputBuffer, consumeUntil, consumeUntil, traceOut, setTabSize, getTabSize, commit, reportWarning, setCommitToPath, traceIn, getInputState, setColumn, getTokenObject, getCommitToPath, setTokenObjectClass, testLiteralsTable, testLiteralsTable, getCaseSensitiveLiterals, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll, nextToken`

- - ### Constructor Detail

    - #### protected CurlyCountingGroovyLexer(Reader reader)

  - ### Method Detail

    - #### static CurlyCountingGroovyLexer createGroovyLexer(String src)

    - #### int getParenLevel()

    - #### List<GroovySourceToken> toList()

    - #### @Override void uponEOF()