COMPILATION_UNIT -> COMPILATION_UNIT [3:1]
|--SINGLE_LINE_COMMENT -> // [1:1]
|   `--COMMENT_CONTENT ->  non-compiled with eclipse: Type arguments are not allowed\n [1:3]
|--SINGLE_LINE_COMMENT -> // [2:1]
|   `--COMMENT_CONTENT ->  non-compiled with javac: contains specially crafted set of imports that requires classpath\n [2:3]
|--PACKAGE_DEF -> package [3:1]
|   |--ANNOTATIONS -> ANNOTATIONS [7:25]
|   |--DOT -> . [7:25]
|   |   |--DOT -> . [7:17]
|   |   |   |--DOT -> . [5:22]
|   |   |   |   |--DOT -> . [4:40]
|   |   |   |   |   |--DOT -> . [4:29]
|   |   |   |   |   |   |--IDENT -> com [4:10]
|   |   |   |   |   |   `--IDENT -> puppycrawl [4:30]
|   |   |   |   |   `--IDENT -> tools [5:17]
|   |   |   |   `--IDENT -> checkstyle [6:17]
|   |   |   `--IDENT -> grammar [7:18]
|   |   `--IDENT -> antlr4 [8:17]
|   `--SEMI -> ; [9:9]
|--IMPORT -> import [11:1]
|   |--DOT -> . [11:17]
|   |   |--DOT -> . [11:12]
|   |   |   |--IDENT -> java [11:8]
|   |   |   `--IDENT -> util [11:13]
|   |   `--IDENT -> ArrayList [11:18]
|   `--SEMI -> ; [11:27]
|--IMPORT -> import [12:1]
|   |--DOT -> . [12:17]
|   |   |--DOT -> . [12:12]
|   |   |   |--IDENT -> java [12:8]
|   |   |   `--IDENT -> util [12:13]
|   |   `--IDENT -> List [12:18]
|   `--SEMI -> ; [12:22]
`--CLASS_DEF -> CLASS_DEF [14:1]
    |--MODIFIERS -> MODIFIERS [14:1]
    |   `--LITERAL_PUBLIC -> public [14:1]
    |--LITERAL_CLASS -> class [14:8]
    |--IDENT -> InputAntlr4AstRegressionUncommon2 [14:14]
    `--OBJBLOCK -> OBJBLOCK [14:48]
        |--LCURLY -> { [14:48]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [15:5]
        |   |--MODIFIERS -> MODIFIERS [15:5]
        |   |   `--LITERAL_PUBLIC -> public [15:5]
        |   |--AT -> @ [15:12]
        |   |--LITERAL_INTERFACE -> interface [15:13]
        |   |--IDENT -> PackgeAnno [15:23]
        |   `--OBJBLOCK -> OBJBLOCK [15:34]
        |       |--LCURLY -> { [15:34]
        |       `--RCURLY -> } [16:5]
        |--VARIABLE_DEF -> VARIABLE_DEF [17:5]
        |   |--MODIFIERS -> MODIFIERS [17:5]
        |   |   `--ANNOTATION -> ANNOTATION [17:5]
        |   |       |--AT -> @ [17:5]
        |   |       `--IDENT -> Nullable [17:6]
        |   |--TYPE -> TYPE [17:15]
        |   |   |--IDENT -> List [17:15]
        |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [17:19]
        |   |       |--GENERIC_START -> < [17:19]
        |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [17:20]
        |   |       |   `--IDENT -> Integer [17:20]
        |   |       `--GENERIC_END -> > [17:27]
        |   |--IDENT -> x [17:29]
        |   |--ASSIGN -> = [17:31]
        |   |   `--EXPR -> EXPR [17:33]
        |   |       `--LITERAL_NEW -> new [17:33]
        |   |           |--IDENT -> ArrayList [17:37]
        |   |           |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [17:46]
        |   |           |   |--GENERIC_START -> < [17:46]
        |   |           |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [17:47]
        |   |           |   |   `--IDENT -> Integer [17:47]
        |   |           |   `--GENERIC_END -> > [17:54]
        |   |           |--LPAREN -> ( [17:55]
        |   |           |--ELIST -> ELIST [17:56]
        |   |           `--RPAREN -> ) [17:56]
        |   `--SEMI -> ; [17:57]
        |--ENUM_DEF -> ENUM_DEF [18:5]
        |   |--MODIFIERS -> MODIFIERS [18:5]
        |   |--ENUM -> enum [18:5]
        |   |--IDENT -> FPMethodArgs [19:5]
        |   `--OBJBLOCK -> OBJBLOCK [20:5]
        |       |--LCURLY -> { [20:5]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [22:9]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [22:9]
        |       |   `--IDENT -> IGNN [22:9]
        |       |--COMMA -> , [22:13]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [23:9]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [23:9]
        |       |   `--IDENT -> IIGNN [23:9]
        |       |--COMMA -> , [23:14]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [24:9]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [24:9]
        |       |   `--IDENT -> GNNII [24:9]
        |       |--COMMA -> , [24:14]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [25:9]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [25:9]
        |       |   `--IDENT -> GNNC [25:9]
        |       |--SEMI -> ; [25:13]
        |       |--SEMI -> ; [25:14]
        |       |--SEMI -> ; [25:15]
        |       |--SEMI -> ; [25:16]
        |       |--SEMI -> ; [25:17]
        |       `--RCURLY -> } [26:5]
        |--INTERFACE_DEF -> INTERFACE_DEF [27:5]
        |   |--MODIFIERS -> MODIFIERS [27:5]
        |   |   `--LITERAL_PUBLIC -> public [27:5]
        |   |--LITERAL_INTERFACE -> interface [28:5]
        |   |--IDENT -> IntEnum [29:5]
        |   `--OBJBLOCK -> OBJBLOCK [30:5]
        |       |--LCURLY -> { [30:5]
        |       `--RCURLY -> } [31:5]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [33:5]
        |   |--MODIFIERS -> MODIFIERS [33:5]
        |   |   `--LITERAL_PRIVATE -> private [33:5]
        |   |--AT -> @ [34:5]
        |   |--LITERAL_INTERFACE -> interface [34:6]
        |   |--IDENT -> MyOtherAnno [35:5]
        |   `--OBJBLOCK -> OBJBLOCK [36:5]
        |       |--LCURLY -> { [36:5]
        |       |--CLASS_DEF -> CLASS_DEF [37:9]
        |       |   |--MODIFIERS -> MODIFIERS [37:9]
        |       |   |   `--LITERAL_PUBLIC -> public [37:9]
        |       |   |--LITERAL_CLASS -> class [37:16]
        |       |   |--IDENT -> Test [38:9]
        |       |   `--OBJBLOCK -> OBJBLOCK [38:14]
        |       |       |--LCURLY -> { [38:14]
        |       |       `--RCURLY -> } [38:15]
        |       |--ENUM_DEF -> ENUM_DEF [39:9]
        |       |   |--MODIFIERS -> MODIFIERS [39:9]
        |       |   |--ENUM -> enum [39:9]
        |       |   |--IDENT -> TestEnum [40:9]
        |       |   `--OBJBLOCK -> OBJBLOCK [40:17]
        |       |       |--LCURLY -> { [40:17]
        |       |       `--RCURLY -> } [40:18]
        |       |--ANNOTATION_DEF -> ANNOTATION_DEF [41:9]
        |       |   |--MODIFIERS -> MODIFIERS [41:9]
        |       |   |   `--LITERAL_PUBLIC -> public [41:9]
        |       |   |--AT -> @ [41:16]
        |       |   |--LITERAL_INTERFACE -> interface [41:17]
        |       |   |--IDENT -> InnerAnnoDeclaration [42:9]
        |       |   `--OBJBLOCK -> OBJBLOCK [42:29]
        |       |       |--LCURLY -> { [42:29]
        |       |       `--RCURLY -> } [42:30]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [43:9]
        |       |   |--MODIFIERS -> MODIFIERS [43:9]
        |       |   |--TYPE -> TYPE [43:9]
        |       |   |   `--LITERAL_INT -> int [43:9]
        |       |   |--IDENT -> x [43:13]
        |       |   |--ASSIGN -> = [43:15]
        |       |   |   `--EXPR -> EXPR [43:17]
        |       |   |       `--NUM_INT -> 0 [43:17]
        |       |   `--SEMI -> ; [43:18]
        |       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [44:9]
        |       |   |--MODIFIERS -> MODIFIERS [44:9]
        |       |   |--TYPE -> TYPE [44:9]
        |       |   |   `--LITERAL_INT -> int [44:9]
        |       |   |--IDENT -> method [44:13]
        |       |   |--LPAREN -> ( [44:19]
        |       |   |--RPAREN -> ) [44:20]
        |       |   `--SEMI -> ; [44:21]
        |       |--SEMI -> ; [45:9]
        |       |--SEMI -> ; [45:10]
        |       |--SEMI -> ; [45:11]
        |       |--SEMI -> ; [45:12]
        |       |--SEMI -> ; [45:13]
        |       `--RCURLY -> } [46:5]
        |--VARIABLE_DEF -> VARIABLE_DEF [47:5]
        |   |--MODIFIERS -> MODIFIERS [47:5]
        |   |   `--LITERAL_PRIVATE -> private [47:5]
        |   |--TYPE -> TYPE [47:13]
        |   |   `--IDENT -> String [47:13]
        |   |--IDENT -> str [47:20]
        |   |--ASSIGN -> = [47:24]
        |   |   `--EXPR -> EXPR [48:89]
        |   |       `--PLUS -> + [48:89]
        |   |           |--PLUS -> + [48:86]
        |   |           |   |--PLUS -> + [48:83]
        |   |           |   |   |--PLUS -> + [48:80]
        |   |           |   |   |   |--PLUS -> + [48:77]
        |   |           |   |   |   |   |--PLUS -> + [48:74]
        |   |           |   |   |   |   |   |--PLUS -> + [48:71]
        |   |           |   |   |   |   |   |   |--PLUS -> + [48:68]
        |   |           |   |   |   |   |   |   |   |--PLUS -> + [48:65]
        |   |           |   |   |   |   |   |   |   |   |--PLUS -> + [48:62]
        |   |           |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:59]
        |   |           |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:56]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:53]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:50]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:47]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:44]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:41]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:38]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:35]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:32]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:29]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:26]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:23]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:20]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:17]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:14]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [48:11]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--STRING_LITERAL -> "" [47:26]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:12]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:15]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:18]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:21]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:24]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:27]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:30]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:33]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:36]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:39]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:42]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:45]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:48]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:51]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:54]
        |   |           |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:57]
        |   |           |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:60]
        |   |           |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:63]
        |   |           |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:66]
        |   |           |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:69]
        |   |           |   |   |   |   |   |   `--STRING_LITERAL -> "" [48:72]
        |   |           |   |   |   |   |   `--STRING_LITERAL -> "" [48:75]
        |   |           |   |   |   |   `--STRING_LITERAL -> "" [48:78]
        |   |           |   |   |   `--STRING_LITERAL -> "" [48:81]
        |   |           |   |   `--STRING_LITERAL -> "" [48:84]
        |   |           |   `--STRING_LITERAL -> "" [48:87]
        |   |           `--STRING_LITERAL -> "" [48:90]
        |   `--SEMI -> ; [48:92]
        |--VARIABLE_DEF -> VARIABLE_DEF [49:5]
        |   |--MODIFIERS -> MODIFIERS [49:5]
        |   |--TYPE -> TYPE [49:5]
        |   |   `--LITERAL_INT -> int [49:5]
        |   |--IDENT -> z [49:9]
        |   |--ASSIGN -> = [49:11]
        |   |   `--EXPR -> EXPR [49:16]
        |   |       `--PLUS -> + [49:16]
        |   |           |--NUM_INT -> 42 [49:13]
        |   |           `--NUM_INT -> 42 [49:18]
        |   `--SEMI -> ; [49:20]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [50:5]
        |   |--MODIFIERS -> MODIFIERS [50:5]
        |   |--AT -> @ [50:5]
        |   |--LITERAL_INTERFACE -> interface [50:7]
        |   |--IDENT -> Foo [50:17]
        |   `--OBJBLOCK -> OBJBLOCK [50:21]
        |       |--LCURLY -> { [50:21]
        |       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [51:9]
        |       |   |--MODIFIERS -> MODIFIERS [51:9]
        |       |   |--TYPE -> TYPE [51:9]
        |       |   |   |--IDENT -> String [51:9]
        |       |   |   `--ARRAY_DECLARATOR -> [ [51:20]
        |       |   |       `--RBRACK -> ] [51:21]
        |       |   |--IDENT -> v1 [51:16]
        |       |   |--LPAREN -> ( [51:18]
        |       |   |--RPAREN -> ) [51:19]
        |       |   `--SEMI -> ; [51:22]
        |       `--RCURLY -> } [52:5]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [53:5]
        |   |--MODIFIERS -> MODIFIERS [53:5]
        |   |--AT -> @ [53:5]
        |   |--LITERAL_INTERFACE -> interface [53:6]
        |   |--IDENT -> Nullable [53:16]
        |   `--OBJBLOCK -> OBJBLOCK [53:24]
        |       |--LCURLY -> { [53:24]
        |       `--RCURLY -> } [53:25]
        `--RCURLY -> } [54:1]
