public class org.antlr.v4.tool.Grammar implements org.antlr.v4.tool.AttributeResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.tool.Grammar
  super_class: java.lang.Object
{
  public static final java.lang.String GRAMMAR_FROM_STRING_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<string>"

  public static final java.lang.String INVALID_TOKEN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<INVALID>"

  public static final java.lang.String INVALID_RULE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<invalid>"

  public static final java.util.Set<java.lang.String> parserOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> lexerOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> ruleOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> ParserBlockOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> LexerBlockOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> ruleRefOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> tokenOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> actionOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> semPredOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> doNotCopyOptionsToLexer;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Map<java.lang.String, org.antlr.v4.tool.AttributeDict> grammarAndLabelRefTypeToScope;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/antlr/v4/tool/AttributeDict;>;

  public java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.v4.tool.ast.GrammarRootAST ast;
    descriptor: Lorg/antlr/v4/tool/ast/GrammarRootAST;
    flags: (0x0001) ACC_PUBLIC

  public final org.antlr.runtime.TokenStream tokenStream;
    descriptor: Lorg/antlr/runtime/TokenStream;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public org.antlr.runtime.TokenStream originalTokenStream;
    descriptor: Lorg/antlr/runtime/TokenStream;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String text;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String fileName;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.v4.tool.LexerGrammar implicitLexer;
    descriptor: Lorg/antlr/v4/tool/LexerGrammar;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.v4.tool.Grammar originalGrammar;
    descriptor: Lorg/antlr/v4/tool/Grammar;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.v4.tool.Grammar parent;
    descriptor: Lorg/antlr/v4/tool/Grammar;
    flags: (0x0001) ACC_PUBLIC

  public java.util.List<org.antlr.v4.tool.Grammar> importedGrammars;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;

  public org.antlr.v4.misc.OrderedHashMap<java.lang.String, org.antlr.v4.tool.Rule> rules;
    descriptor: Lorg/antlr/v4/misc/OrderedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lorg/antlr/v4/misc/OrderedHashMap<Ljava/lang/String;Lorg/antlr/v4/tool/Rule;>;

  public java.util.List<org.antlr.v4.tool.Rule> indexToRule;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/antlr/v4/tool/Rule;>;

  int ruleNumber;
    descriptor: I
    flags: (0x0000) 

  int stringLiteralRuleNumber;
    descriptor: I
    flags: (0x0000) 

  public org.antlr.v4.runtime.atn.ATN atn;
    descriptor: Lorg/antlr/v4/runtime/atn/ATN;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Map<java.lang.Integer, org.antlr.v4.runtime.misc.Interval> stateToGrammarRegionMap;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lorg/antlr/v4/runtime/misc/Interval;>;

  public java.util.Map<java.lang.Integer, org.antlr.v4.runtime.dfa.DFA> decisionDFAs;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lorg/antlr/v4/runtime/dfa/DFA;>;

  public java.util.List<org.antlr.v4.runtime.misc.IntervalSet[]> decisionLOOK;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<[Lorg/antlr/v4/runtime/misc/IntervalSet;>;

  public final org.antlr.v4.Tool tool;
    descriptor: Lorg/antlr/v4/Tool;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  int maxTokenType;
    descriptor: I
    flags: (0x0000) 

  public final java.util.Map<java.lang.String, java.lang.Integer> tokenNameToTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  public final java.util.Map<java.lang.String, java.lang.Integer> stringLiteralToTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  public final java.util.List<java.lang.String> typeToStringLiteralList;
    descriptor: Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public final java.util.List<java.lang.String> typeToTokenList;
    descriptor: Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  int maxChannelType;
    descriptor: I
    flags: (0x0000) 

  public final java.util.Map<java.lang.String, java.lang.Integer> channelNameToValueMap;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  public final java.util.List<java.lang.String> channelValueToNameList;
    descriptor: Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public java.util.Map<java.lang.String, org.antlr.v4.tool.ast.ActionAST> namedActions;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;>;

  public java.util.LinkedHashMap<org.antlr.v4.tool.ast.ActionAST, java.lang.Integer> lexerActions;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/LinkedHashMap<Lorg/antlr/v4/tool/ast/ActionAST;Ljava/lang/Integer;>;

  public java.util.LinkedHashMap<org.antlr.v4.tool.ast.PredAST, java.lang.Integer> sempreds;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/LinkedHashMap<Lorg/antlr/v4/tool/ast/PredAST;Ljava/lang/Integer;>;

  public java.util.LinkedHashMap<java.lang.Integer, org.antlr.v4.tool.ast.PredAST> indexToPredMap;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/LinkedHashMap<Ljava/lang/Integer;Lorg/antlr/v4/tool/ast/PredAST;>;

  public static final java.lang.String AUTO_GENERATED_TOKEN_NAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "T__"

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 55
            ldc Lorg/antlr/v4/tool/Grammar;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.antlr.v4.tool.Grammar.$assertionsDisabled:Z
         3: .line 77
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
         4: .line 79
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "superClass"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 80
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "contextSuperClass"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 81
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "TokenLabelType"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 82
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "tokenVocab"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 83
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "language"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 84
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "accessLevel"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 85
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            ldc "exportMacro"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 88
            getstatic org.antlr.v4.tool.Grammar.parserOptions:Ljava/util/Set;
            putstatic org.antlr.v4.tool.Grammar.lexerOptions:Ljava/util/Set;
        12: .line 90
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.ruleOptions:Ljava/util/Set;
        13: .line 92
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.ParserBlockOptions:Ljava/util/Set;
        14: .line 94
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.LexerBlockOptions:Ljava/util/Set;
        15: .line 97
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.ruleRefOptions:Ljava/util/Set;
        16: .line 99
            getstatic org.antlr.v4.tool.Grammar.ruleRefOptions:Ljava/util/Set;
            ldc "p"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        17: .line 100
            getstatic org.antlr.v4.tool.Grammar.ruleRefOptions:Ljava/util/Set;
            ldc "tokenIndex"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 104
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.tokenOptions:Ljava/util/Set;
        19: .line 106
            getstatic org.antlr.v4.tool.Grammar.tokenOptions:Ljava/util/Set;
            ldc "assoc"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 107
            getstatic org.antlr.v4.tool.Grammar.tokenOptions:Ljava/util/Set;
            ldc "tokenIndex"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 110
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.actionOptions:Ljava/util/Set;
        22: .line 112
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.semPredOptions:Ljava/util/Set;
        23: .line 114
            getstatic org.antlr.v4.tool.Grammar.semPredOptions:Ljava/util/Set;
            ldc "p"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 115
            getstatic org.antlr.v4.tool.Grammar.semPredOptions:Ljava/util/Set;
            ldc "fail"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 118
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.antlr.v4.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
        26: .line 120
            getstatic org.antlr.v4.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
            ldc "superClass"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        27: .line 121
            getstatic org.antlr.v4.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
            ldc "TokenLabelType"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 122
            getstatic org.antlr.v4.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
            ldc "tokenVocab"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 126
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        30: .line 125
            putstatic org.antlr.v4.tool.Grammar.grammarAndLabelRefTypeToScope:Ljava/util/Map;
        31: .line 128
            getstatic org.antlr.v4.tool.Grammar.grammarAndLabelRefTypeToScope:Ljava/util/Map;
            ldc "parser:RULE_LABEL"
            getstatic org.antlr.v4.tool.Rule.predefinedRulePropertiesDict:Lorg/antlr/v4/tool/AttributeDict;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 129
            getstatic org.antlr.v4.tool.Grammar.grammarAndLabelRefTypeToScope:Ljava/util/Map;
            ldc "parser:TOKEN_LABEL"
            getstatic org.antlr.v4.tool.AttributeDict.predefinedTokenDict:Lorg/antlr/v4/tool/AttributeDict;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 130
            getstatic org.antlr.v4.tool.Grammar.grammarAndLabelRefTypeToScope:Ljava/util/Map;
            ldc "combined:RULE_LABEL"
            getstatic org.antlr.v4.tool.Rule.predefinedRulePropertiesDict:Lorg/antlr/v4/tool/AttributeDict;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 131
            getstatic org.antlr.v4.tool.Grammar.grammarAndLabelRefTypeToScope:Ljava/util/Map;
            ldc "combined:TOKEN_LABEL"
            getstatic org.antlr.v4.tool.AttributeDict.predefinedTokenDict:Lorg/antlr/v4/tool/AttributeDict;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 262
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.antlr.v4.Tool, org.antlr.v4.tool.ast.GrammarRootAST);
    descriptor: (Lorg/antlr/v4/Tool;Lorg/antlr/v4/tool/ast/GrammarRootAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.Tool tool
        start local 2 // org.antlr.v4.tool.ast.GrammarRootAST ast
         0: .line 264
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 169
            aload 0 /* this */
            new org.antlr.v4.misc.OrderedHashMap
            dup
            invokespecial org.antlr.v4.misc.OrderedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
         2: .line 170
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
         3: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.ruleNumber:I
         4: .line 173
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.stringLiteralRuleNumber:I
         5: .line 182
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.decisionDFAs:Ljava/util/Map;
         6: .line 196
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.maxTokenType:I
         7: .line 202
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
         8: .line 209
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
         9: .line 215
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
        10: .line 221
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
        11: .line 227
            aload 0 /* this */
            iconst_1
            putfield org.antlr.v4.tool.Grammar.maxChannelType:I
        12: .line 233
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
        13: .line 241
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
        14: .line 248
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.namedActions:Ljava/util/Map;
        15: .line 253
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.lexerActions:Ljava/util/LinkedHashMap;
        16: .line 258
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.sempreds:Ljava/util/LinkedHashMap;
        17: .line 265
            aload 2 /* ast */
            ifnonnull 19
        18: .line 266
            new java.lang.NullPointerException
            dup
            ldc "ast"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 269
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.Tool org.antlr.v4.tool.ast.GrammarRootAST
      StackMap stack:
            aload 2 /* ast */
            getfield org.antlr.v4.tool.ast.GrammarRootAST.tokenStream:Lorg/antlr/runtime/TokenStream;
            ifnonnull 21
        20: .line 270
            new java.lang.IllegalArgumentException
            dup
            ldc "ast must have a token stream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tool */
            putfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
        22: .line 274
            aload 0 /* this */
            aload 2 /* ast */
            putfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
        23: .line 275
            aload 0 /* this */
            aload 2 /* ast */
            iconst_0
            invokevirtual org.antlr.v4.tool.ast.GrammarRootAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            invokeinterface org.antlr.runtime.tree.Tree.getText:()Ljava/lang/String;
            putfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
        24: .line 276
            aload 0 /* this */
            aload 2 /* ast */
            getfield org.antlr.v4.tool.ast.GrammarRootAST.tokenStream:Lorg/antlr/runtime/TokenStream;
            putfield org.antlr.v4.tool.Grammar.tokenStream:Lorg/antlr/runtime/TokenStream;
        25: .line 277
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenStream:Lorg/antlr/runtime/TokenStream;
            putfield org.antlr.v4.tool.Grammar.originalTokenStream:Lorg/antlr/runtime/TokenStream;
        26: .line 279
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.initTokenSymbolTables:()V
        27: .line 280
            return
        end local 2 // org.antlr.v4.tool.ast.GrammarRootAST ast
        end local 1 // org.antlr.v4.Tool tool
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Lorg/antlr/v4/tool/Grammar;
            0   28     1  tool  Lorg/antlr/v4/Tool;
            0   28     2   ast  Lorg/antlr/v4/tool/ast/GrammarRootAST;
    MethodParameters:
      Name  Flags
      tool  
      ast   

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String grammarText
         0: .line 284
            aload 0 /* this */
            ldc "<string>"
            aload 1 /* grammarText */
            aconst_null
            invokespecial org.antlr.v4.tool.Grammar.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ANTLRToolListener;)V
         1: .line 285
            return
        end local 1 // java.lang.String grammarText
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/antlr/v4/tool/Grammar;
            0    2     1  grammarText  Ljava/lang/String;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
             Name  Flags
      grammarText  

  public void <init>(java.lang.String, org.antlr.v4.tool.LexerGrammar);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/LexerGrammar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String grammarText
        start local 2 // org.antlr.v4.tool.LexerGrammar tokenVocabSource
         0: .line 288
            aload 0 /* this */
            ldc "<string>"
            aload 1 /* grammarText */
            aload 2 /* tokenVocabSource */
            aconst_null
            invokespecial org.antlr.v4.tool.Grammar.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/tool/ANTLRToolListener;)V
         1: .line 289
            return
        end local 2 // org.antlr.v4.tool.LexerGrammar tokenVocabSource
        end local 1 // java.lang.String grammarText
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/antlr/v4/tool/Grammar;
            0    2     1       grammarText  Ljava/lang/String;
            0    2     2  tokenVocabSource  Lorg/antlr/v4/tool/LexerGrammar;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
                  Name  Flags
      grammarText       
      tokenVocabSource  

  public void <init>(java.lang.String, org.antlr.v4.tool.ANTLRToolListener);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ANTLRToolListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String grammarText
        start local 2 // org.antlr.v4.tool.ANTLRToolListener listener
         0: .line 295
            aload 0 /* this */
            ldc "<string>"
            aload 1 /* grammarText */
            aload 2 /* listener */
            invokespecial org.antlr.v4.tool.Grammar.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ANTLRToolListener;)V
         1: .line 296
            return
        end local 2 // org.antlr.v4.tool.ANTLRToolListener listener
        end local 1 // java.lang.String grammarText
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/antlr/v4/tool/Grammar;
            0    2     1  grammarText  Ljava/lang/String;
            0    2     2     listener  Lorg/antlr/v4/tool/ANTLRToolListener;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
             Name  Flags
      grammarText  
      listener     

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String fileName
        start local 2 // java.lang.String grammarText
         0: .line 302
            aload 0 /* this */
            aload 1 /* fileName */
            aload 2 /* grammarText */
            aconst_null
            invokespecial org.antlr.v4.tool.Grammar.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ANTLRToolListener;)V
         1: .line 303
            return
        end local 2 // java.lang.String grammarText
        end local 1 // java.lang.String fileName
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/antlr/v4/tool/Grammar;
            0    2     1     fileName  Ljava/lang/String;
            0    2     2  grammarText  Ljava/lang/String;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
             Name  Flags
      fileName     
      grammarText  

  public void <init>(java.lang.String, java.lang.String, org.antlr.v4.tool.ANTLRToolListener);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ANTLRToolListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String fileName
        start local 2 // java.lang.String grammarText
        start local 3 // org.antlr.v4.tool.ANTLRToolListener listener
         0: .line 309
            aload 0 /* this */
            aload 1 /* fileName */
            aload 2 /* grammarText */
            aconst_null
            aload 3 /* listener */
            invokespecial org.antlr.v4.tool.Grammar.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/tool/ANTLRToolListener;)V
         1: .line 310
            return
        end local 3 // org.antlr.v4.tool.ANTLRToolListener listener
        end local 2 // java.lang.String grammarText
        end local 1 // java.lang.String fileName
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/antlr/v4/tool/Grammar;
            0    2     1     fileName  Ljava/lang/String;
            0    2     2  grammarText  Ljava/lang/String;
            0    2     3     listener  Lorg/antlr/v4/tool/ANTLRToolListener;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
             Name  Flags
      fileName     
      grammarText  
      listener     

  public void <init>(java.lang.String, java.lang.String, org.antlr.v4.tool.Grammar, org.antlr.v4.tool.ANTLRToolListener);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/tool/ANTLRToolListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String fileName
        start local 2 // java.lang.String grammarText
        start local 3 // org.antlr.v4.tool.Grammar tokenVocabSource
        start local 4 // org.antlr.v4.tool.ANTLRToolListener listener
         0: .line 313
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 169
            aload 0 /* this */
            new org.antlr.v4.misc.OrderedHashMap
            dup
            invokespecial org.antlr.v4.misc.OrderedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
         2: .line 170
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
         3: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.ruleNumber:I
         4: .line 173
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.stringLiteralRuleNumber:I
         5: .line 182
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.decisionDFAs:Ljava/util/Map;
         6: .line 196
            aload 0 /* this */
            iconst_0
            putfield org.antlr.v4.tool.Grammar.maxTokenType:I
         7: .line 202
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
         8: .line 209
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
         9: .line 215
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
        10: .line 221
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
        11: .line 227
            aload 0 /* this */
            iconst_1
            putfield org.antlr.v4.tool.Grammar.maxChannelType:I
        12: .line 233
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
        13: .line 241
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
        14: .line 248
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.namedActions:Ljava/util/Map;
        15: .line 253
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.lexerActions:Ljava/util/LinkedHashMap;
        16: .line 258
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.v4.tool.Grammar.sempreds:Ljava/util/LinkedHashMap;
        17: .line 316
            aload 0 /* this */
            aload 2 /* grammarText */
            putfield org.antlr.v4.tool.Grammar.text:Ljava/lang/String;
        18: .line 317
            aload 0 /* this */
            aload 1 /* fileName */
            putfield org.antlr.v4.tool.Grammar.fileName:Ljava/lang/String;
        19: .line 318
            aload 0 /* this */
            new org.antlr.v4.Tool
            dup
            invokespecial org.antlr.v4.Tool.<init>:()V
            putfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
        20: .line 319
            new org.antlr.v4.tool.Grammar$1
            dup
            aload 0 /* this */
            invokespecial org.antlr.v4.tool.Grammar$1.<init>:(Lorg/antlr/v4/tool/Grammar;)V
            astore 5 /* hush */
        start local 5 // org.antlr.v4.tool.ANTLRToolListener hush
        21: .line 327
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            aload 5 /* hush */
            invokevirtual org.antlr.v4.Tool.addListener:(Lorg/antlr/v4/tool/ANTLRToolListener;)V
        22: .line 328
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            aload 4 /* listener */
            invokevirtual org.antlr.v4.Tool.addListener:(Lorg/antlr/v4/tool/ANTLRToolListener;)V
        23: .line 329
            new org.antlr.runtime.ANTLRStringStream
            dup
            aload 2 /* grammarText */
            invokespecial org.antlr.runtime.ANTLRStringStream.<init>:(Ljava/lang/String;)V
            astore 6 /* in */
        start local 6 // org.antlr.runtime.ANTLRStringStream in
        24: .line 330
            aload 6 /* in */
            aload 1 /* fileName */
            putfield org.antlr.runtime.ANTLRStringStream.name:Ljava/lang/String;
        25: .line 332
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            aload 1 /* fileName */
            aload 6 /* in */
            invokevirtual org.antlr.v4.Tool.parse:(Ljava/lang/String;Lorg/antlr/runtime/CharStream;)Lorg/antlr/v4/tool/ast/GrammarRootAST;
            putfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
        26: .line 333
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            ifnonnull 28
        27: .line 334
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        28: .line 337
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String java.lang.String org.antlr.v4.tool.Grammar org.antlr.v4.tool.ANTLRToolListener org.antlr.v4.tool.ANTLRToolListener org.antlr.runtime.ANTLRStringStream
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            getfield org.antlr.v4.tool.ast.GrammarRootAST.tokenStream:Lorg/antlr/runtime/TokenStream;
            ifnonnull 30
        29: .line 338
            new java.lang.IllegalStateException
            dup
            ldc "expected ast to have a token stream"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            getfield org.antlr.v4.tool.ast.GrammarRootAST.tokenStream:Lorg/antlr/runtime/TokenStream;
            putfield org.antlr.v4.tool.Grammar.tokenStream:Lorg/antlr/runtime/TokenStream;
        31: .line 342
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenStream:Lorg/antlr/runtime/TokenStream;
            putfield org.antlr.v4.tool.Grammar.originalTokenStream:Lorg/antlr/runtime/TokenStream;
        32: .line 345
            aload 0 /* this */
            astore 7 /* thiz */
        start local 7 // org.antlr.v4.tool.Grammar thiz
        33: .line 346
            new org.antlr.runtime.tree.TreeVisitor
            dup
            new org.antlr.v4.parse.GrammarASTAdaptor
            dup
            invokespecial org.antlr.v4.parse.GrammarASTAdaptor.<init>:()V
            invokespecial org.antlr.runtime.tree.TreeVisitor.<init>:(Lorg/antlr/runtime/tree/TreeAdaptor;)V
            astore 8 /* v */
        start local 8 // org.antlr.runtime.tree.TreeVisitor v
        34: .line 347
            aload 8 /* v */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            new org.antlr.v4.tool.Grammar$2
            dup
            aload 0 /* this */
            aload 7 /* thiz */
            invokespecial org.antlr.v4.tool.Grammar$2.<init>:(Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/tool/Grammar;)V
            invokevirtual org.antlr.runtime.tree.TreeVisitor.visit:(Ljava/lang/Object;Lorg/antlr/runtime/tree/TreeVisitorAction;)Ljava/lang/Object;
            pop
        35: .line 353
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.initTokenSymbolTables:()V
        36: .line 355
            aload 3 /* tokenVocabSource */
            ifnull 38
        37: .line 356
            aload 0 /* this */
            aload 3 /* tokenVocabSource */
            invokevirtual org.antlr.v4.tool.Grammar.importVocab:(Lorg/antlr/v4/tool/Grammar;)V
        38: .line 359
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.runtime.tree.TreeVisitor
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            aload 0 /* this */
            iconst_0
            invokevirtual org.antlr.v4.Tool.process:(Lorg/antlr/v4/tool/Grammar;Z)V
        39: .line 360
            return
        end local 8 // org.antlr.runtime.tree.TreeVisitor v
        end local 7 // org.antlr.v4.tool.Grammar thiz
        end local 6 // org.antlr.runtime.ANTLRStringStream in
        end local 5 // org.antlr.v4.tool.ANTLRToolListener hush
        end local 4 // org.antlr.v4.tool.ANTLRToolListener listener
        end local 3 // org.antlr.v4.tool.Grammar tokenVocabSource
        end local 2 // java.lang.String grammarText
        end local 1 // java.lang.String fileName
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   40     0              this  Lorg/antlr/v4/tool/Grammar;
            0   40     1          fileName  Ljava/lang/String;
            0   40     2       grammarText  Ljava/lang/String;
            0   40     3  tokenVocabSource  Lorg/antlr/v4/tool/Grammar;
            0   40     4          listener  Lorg/antlr/v4/tool/ANTLRToolListener;
           21   40     5              hush  Lorg/antlr/v4/tool/ANTLRToolListener;
           24   40     6                in  Lorg/antlr/runtime/ANTLRStringStream;
           33   40     7              thiz  Lorg/antlr/v4/tool/Grammar;
           34   40     8                 v  Lorg/antlr/runtime/tree/TreeVisitor;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
                  Name  Flags
      fileName          
      grammarText       
      tokenVocabSource  
      listener          

  protected void initTokenSymbolTables();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 363
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            ldc "EOF"
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 366
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 367
            return
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/v4/tool/Grammar;

  public void loadImportedGrammars();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 370
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            ifnonnull 1
            return
         1: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            bipush 29
            invokevirtual org.antlr.v4.tool.ast.GrammarRootAST.getFirstChildWithType:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 1 /* i */
        start local 1 // org.antlr.v4.tool.ast.GrammarAST i
         2: .line 372
            aload 1 /* i */
            ifnonnull 3
            return
         3: .line 373
      StackMap locals: org.antlr.v4.tool.ast.GrammarAST
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* visited */
        start local 2 // java.util.Set visited
         4: .line 374
            aload 2 /* visited */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 375
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
         6: .line 376
            aload 1 /* i */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 32
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.tool.ast.GrammarAST java.util.Set top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* c */
        start local 3 // java.lang.Object c
         8: .line 377
            aload 3 /* c */
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 5 /* t */
        start local 5 // org.antlr.v4.tool.ast.GrammarAST t
         9: .line 378
            aconst_null
            astore 6 /* importedGrammarName */
        start local 6 // java.lang.String importedGrammarName
        10: .line 379
            aload 5 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getType:()I
            bipush 10
            if_icmpne 14
        11: .line 380
            aload 5 /* t */
            iconst_1
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 5 /* t */
        12: .line 381
            aload 5 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getText:()Ljava/lang/String;
            astore 6 /* importedGrammarName */
        13: .line 382
            goto 16
        14: .line 383
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.tool.ast.GrammarAST java.util.Set java.lang.Object java.util.Iterator org.antlr.v4.tool.ast.GrammarAST java.lang.String
      StackMap stack:
            aload 5 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getType:()I
            bipush 28
            if_icmpne 16
        15: .line 384
            aload 5 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getText:()Ljava/lang/String;
            astore 6 /* importedGrammarName */
        16: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* visited */
            aload 6 /* importedGrammarName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 387
            goto 32
        18: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            aload 0 /* this */
            aload 5 /* t */
            invokevirtual org.antlr.v4.Tool.loadImportedGrammar:(Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/tool/ast/GrammarAST;)Lorg/antlr/v4/tool/Grammar;
            astore 7 /* g */
        start local 7 // org.antlr.v4.tool.Grammar g
        19: .line 392
            goto 28
        end local 7 // org.antlr.v4.tool.Grammar g
        20: .line 393
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        21: .line 394
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            getfield org.antlr.v4.Tool.errMgr:Lorg/antlr/v4/tool/ErrorManager;
            getstatic org.antlr.v4.tool.ErrorType.ERROR_READING_IMPORTED_GRAMMAR:Lorg/antlr/v4/tool/ErrorType;
        22: .line 395
            aload 6 /* importedGrammarName */
        23: .line 396
            aload 5 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getToken:()Lorg/antlr/runtime/Token;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        24: .line 397
            aload 6 /* importedGrammarName */
            aastore
            dup
            iconst_1
        25: .line 398
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            aastore
        26: .line 394
            invokevirtual org.antlr.v4.tool.ErrorManager.grammarError:(Lorg/antlr/v4/tool/ErrorType;Ljava/lang/String;Lorg/antlr/runtime/Token;[Ljava/lang/Object;)V
        27: .line 399
            goto 32
        start local 7 // org.antlr.v4.tool.Grammar g
        28: .line 402
      StackMap locals: org.antlr.v4.tool.Grammar
      StackMap stack:
            aload 7 /* g */
            ifnonnull 29
            goto 32
        29: .line 403
      StackMap locals:
      StackMap stack:
            aload 7 /* g */
            aload 0 /* this */
            putfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
        30: .line 404
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
            aload 7 /* g */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 405
            aload 7 /* g */
            invokevirtual org.antlr.v4.tool.Grammar.loadImportedGrammars:()V
        end local 7 // org.antlr.v4.tool.Grammar g
        end local 6 // java.lang.String importedGrammarName
        end local 5 // org.antlr.v4.tool.ast.GrammarAST t
        end local 3 // java.lang.Object c
        32: .line 376
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.tool.ast.GrammarAST java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        33: .line 407
            return
        end local 2 // java.util.Set visited
        end local 1 // org.antlr.v4.tool.ast.GrammarAST i
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   34     0                 this  Lorg/antlr/v4/tool/Grammar;
            2   34     1                    i  Lorg/antlr/v4/tool/ast/GrammarAST;
            4   34     2              visited  Ljava/util/Set<Ljava/lang/String;>;
            8   32     3                    c  Ljava/lang/Object;
            9   32     5                    t  Lorg/antlr/v4/tool/ast/GrammarAST;
           10   32     6  importedGrammarName  Ljava/lang/String;
           19   20     7                    g  Lorg/antlr/v4/tool/Grammar;
           28   32     7                    g  Lorg/antlr/v4/tool/Grammar;
      Exception table:
        from    to  target  type
          18    19      20  Class java.io.IOException

  public void defineAction(org.antlr.v4.tool.ast.GrammarAST);
    descriptor: (Lorg/antlr/v4/tool/ast/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.tool.ast.GrammarAST atAST
         0: .line 410
            aload 1 /* atAST */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChildCount:()I
            iconst_2
            if_icmpne 4
         1: .line 411
            aload 1 /* atAST */
            iconst_0
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            invokeinterface org.antlr.runtime.tree.Tree.getText:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 412
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.namedActions:Ljava/util/Map;
            aload 2 /* name */
            aload 1 /* atAST */
            iconst_1
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.v4.tool.ast.ActionAST
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.String name
         3: .line 413
            goto 9
         4: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* atAST */
            iconst_0
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            invokeinterface org.antlr.runtime.tree.Tree.getText:()Ljava/lang/String;
            astore 2 /* scope */
        start local 2 // java.lang.String scope
         5: .line 416
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getTypeString:()Ljava/lang/String;
            astore 3 /* gtype */
        start local 3 // java.lang.String gtype
         6: .line 417
            aload 2 /* scope */
            aload 3 /* gtype */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 2 /* scope */
            ldc "parser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            aload 3 /* gtype */
            ldc "combined"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 418
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* atAST */
            iconst_1
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            invokeinterface org.antlr.runtime.tree.Tree.getText:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         8: .line 419
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.namedActions:Ljava/util/Map;
            aload 4 /* name */
            aload 1 /* atAST */
            iconst_2
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.v4.tool.ast.ActionAST
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String name
        end local 3 // java.lang.String gtype
        end local 2 // java.lang.String scope
         9: .line 422
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.antlr.v4.tool.ast.GrammarAST atAST
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/antlr/v4/tool/Grammar;
            0   10     1  atAST  Lorg/antlr/v4/tool/ast/GrammarAST;
            2    3     2   name  Ljava/lang/String;
            5    9     2  scope  Ljava/lang/String;
            6    9     3  gtype  Ljava/lang/String;
            8    9     4   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      atAST  

  public boolean defineRule(org.antlr.v4.tool.Rule);
    descriptor: (Lorg/antlr/v4/tool/Rule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.tool.Rule r
         0: .line 435
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.name:Ljava/lang/String;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 2
         1: .line 436
            iconst_0
            ireturn
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.name:Ljava/lang/String;
            aload 1 /* r */
            invokevirtual org.antlr.v4.misc.OrderedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 440
            aload 1 /* r */
            aload 0 /* this */
            dup
            getfield org.antlr.v4.tool.Grammar.ruleNumber:I
            dup_x1
            iconst_1
            iadd
            putfield org.antlr.v4.tool.Grammar.ruleNumber:I
            putfield org.antlr.v4.tool.Rule.index:I
         4: .line 441
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            aload 1 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 442
            iconst_1
            ireturn
        end local 1 // org.antlr.v4.tool.Rule r
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/antlr/v4/tool/Grammar;
            0    6     1     r  Lorg/antlr/v4/tool/Rule;
    MethodParameters:
      Name  Flags
      r     

  public boolean undefineRule(org.antlr.v4.tool.Rule);
    descriptor: (Lorg/antlr/v4/tool/Rule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.tool.Rule r
         0: .line 462
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.index:I
            iflt 1
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.index:I
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 1
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.index:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 1 /* r */
            if_acmpeq 2
         1: .line 463
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 466
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.v4.tool.Grammar.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.name:Ljava/lang/String;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 1 /* r */
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.name:Ljava/lang/String;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 469
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.index:I
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         5: .line 470
            aload 1 /* r */
            getfield org.antlr.v4.tool.Rule.index:I
            istore 2 /* i */
        start local 2 // int i
         6: goto 10
         7: .line 471
      StackMap locals: int
      StackMap stack:
            getstatic org.antlr.v4.tool.Grammar.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            getfield org.antlr.v4.tool.Rule.index:I
            iload 2 /* i */
            iconst_1
            iadd
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            dup
            getfield org.antlr.v4.tool.Rule.index:I
            iconst_1
            isub
            putfield org.antlr.v4.tool.Rule.index:I
         9: .line 470
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 7
        end local 2 // int i
        11: .line 475
            aload 0 /* this */
            dup
            getfield org.antlr.v4.tool.Grammar.ruleNumber:I
            iconst_1
            isub
            putfield org.antlr.v4.tool.Grammar.ruleNumber:I
        12: .line 476
            iconst_1
            ireturn
        end local 1 // org.antlr.v4.tool.Rule r
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/antlr/v4/tool/Grammar;
            0   13     1     r  Lorg/antlr/v4/tool/Rule;
            6   11     2     i  I
    MethodParameters:
      Name  Flags
      r     

  public org.antlr.v4.tool.Rule getRule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 489
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 1 /* name */
            invokevirtual org.antlr.v4.misc.OrderedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.v4.tool.Rule r
         1: .line 490
            aload 2 /* r */
            ifnull 2
            aload 2 /* r */
            areturn
         2: .line 491
      StackMap locals: org.antlr.v4.tool.Rule
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.antlr.v4.tool.Rule r
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/v4/tool/Grammar;
            0    3     1  name  Ljava/lang/String;
            1    3     2     r  Lorg/antlr/v4/tool/Rule;
    MethodParameters:
      Name  Flags
      name  

  public org.antlr.v4.runtime.atn.ATN getATN();
    descriptor: ()Lorg/antlr/v4/runtime/atn/ATN;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 504
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
            ifnonnull 3
         1: .line 505
            new org.antlr.v4.automata.ParserATNFactory
            dup
            aload 0 /* this */
            invokespecial org.antlr.v4.automata.ParserATNFactory.<init>:(Lorg/antlr/v4/tool/Grammar;)V
            astore 1 /* factory */
        start local 1 // org.antlr.v4.automata.ParserATNFactory factory
         2: .line 506
            aload 0 /* this */
            aload 1 /* factory */
            invokevirtual org.antlr.v4.automata.ParserATNFactory.createATN:()Lorg/antlr/v4/runtime/atn/ATN;
            putfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
        end local 1 // org.antlr.v4.automata.ParserATNFactory factory
         3: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/antlr/v4/tool/Grammar;
            2    3     1  factory  Lorg/antlr/v4/automata/ParserATNFactory;

  public org.antlr.v4.tool.Rule getRule(int);
    descriptor: (I)Lorg/antlr/v4/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int index
         0: .line 511
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToRule:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            areturn
        end local 1 // int index
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/antlr/v4/tool/Grammar;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.antlr.v4.tool.Rule getRule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String grammarName
        start local 2 // java.lang.String ruleName
         0: .line 514
            aload 1 /* grammarName */
            ifnull 5
         1: .line 515
            aload 0 /* this */
            aload 1 /* grammarName */
            invokevirtual org.antlr.v4.tool.Grammar.getImportedGrammar:(Ljava/lang/String;)Lorg/antlr/v4/tool/Grammar;
            astore 3 /* g */
        start local 3 // org.antlr.v4.tool.Grammar g
         2: .line 516
            aload 3 /* g */
            ifnonnull 4
         3: .line 517
            aconst_null
            areturn
         4: .line 519
      StackMap locals: org.antlr.v4.tool.Grammar
      StackMap stack:
            aload 3 /* g */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            aload 2 /* ruleName */
            invokevirtual org.antlr.v4.misc.OrderedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            areturn
        end local 3 // org.antlr.v4.tool.Grammar g
         5: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ruleName */
            invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
            areturn
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String grammarName
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/antlr/v4/tool/Grammar;
            0    6     1  grammarName  Ljava/lang/String;
            0    6     2     ruleName  Ljava/lang/String;
            2    5     3            g  Lorg/antlr/v4/tool/Grammar;
    MethodParameters:
             Name  Flags
      grammarName  
      ruleName     

  public java.util.List<org.antlr.v4.tool.Grammar> getAllImportedGrammars();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 529
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
            ifnonnull 2
         1: .line 530
            aconst_null
            areturn
         2: .line 533
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* delegates */
        start local 1 // java.util.LinkedHashMap delegates
         3: .line 534
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Grammar
            astore 2 /* d */
        start local 2 // org.antlr.v4.tool.Grammar d
         5: .line 535
            aload 1 /* delegates */
            aload 2 /* d */
            getfield org.antlr.v4.tool.Grammar.fileName:Ljava/lang/String;
            aload 2 /* d */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 536
            aload 2 /* d */
            invokevirtual org.antlr.v4.tool.Grammar.getAllImportedGrammars:()Ljava/util/List;
            astore 4 /* ds */
        start local 4 // java.util.List ds
         7: .line 537
            aload 4 /* ds */
            ifnull 12
         8: .line 538
            aload 4 /* ds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap org.antlr.v4.tool.Grammar java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Grammar
            astore 5 /* imported */
        start local 5 // org.antlr.v4.tool.Grammar imported
        10: .line 539
            aload 1 /* delegates */
            aload 5 /* imported */
            getfield org.antlr.v4.tool.Grammar.fileName:Ljava/lang/String;
            aload 5 /* imported */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.antlr.v4.tool.Grammar imported
        11: .line 538
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 4 // java.util.List ds
        end local 2 // org.antlr.v4.tool.Grammar d
        12: .line 534
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 544
            new java.util.ArrayList
            dup
            aload 1 /* delegates */
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 1 // java.util.LinkedHashMap delegates
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/antlr/v4/tool/Grammar;
            3   14     1  delegates  Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/v4/tool/Grammar;>;
            5   12     2          d  Lorg/antlr/v4/tool/Grammar;
            7   12     4         ds  Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;
           10   11     5   imported  Lorg/antlr/v4/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;

  public java.util.List<org.antlr.v4.tool.Grammar> getImportedGrammars();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 547
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;

  public org.antlr.v4.tool.LexerGrammar getImplicitLexer();
    descriptor: ()Lorg/antlr/v4/tool/LexerGrammar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 550
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.implicitLexer:Lorg/antlr/v4/tool/LexerGrammar;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;

  public static org.antlr.v4.tool.Grammar load(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/v4/tool/Grammar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 555
            new org.antlr.v4.Tool
            dup
            invokespecial org.antlr.v4.Tool.<init>:()V
            astore 1 /* antlr */
        start local 1 // org.antlr.v4.Tool antlr
         1: .line 556
            aload 1 /* antlr */
            aload 0 /* fileName */
            invokevirtual org.antlr.v4.Tool.loadGrammar:(Ljava/lang/String;)Lorg/antlr/v4/tool/Grammar;
            areturn
        end local 1 // org.antlr.v4.Tool antlr
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
            1    2     1     antlr  Lorg/antlr/v4/Tool;
    MethodParameters:
          Name  Flags
      fileName  

  public java.util.List<org.antlr.v4.tool.Grammar> getGrammarAncestors();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 563
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getOutermostGrammar:()Lorg/antlr/v4/tool/Grammar;
            astore 1 /* root */
        start local 1 // org.antlr.v4.tool.Grammar root
         1: .line 564
            aload 0 /* this */
            aload 1 /* root */
            if_acmpne 2
            aconst_null
            areturn
         2: .line 565
      StackMap locals: org.antlr.v4.tool.Grammar
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* grammars */
        start local 2 // java.util.List grammars
         3: .line 567
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
            astore 3 /* p */
        start local 3 // org.antlr.v4.tool.Grammar p
         4: .line 568
            goto 7
         5: .line 569
      StackMap locals: java.util.List org.antlr.v4.tool.Grammar
      StackMap stack:
            aload 2 /* grammars */
            iconst_0
            aload 3 /* p */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         6: .line 570
            aload 3 /* p */
            getfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
            astore 3 /* p */
         7: .line 568
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            ifnonnull 5
         8: .line 572
            aload 2 /* grammars */
            areturn
        end local 3 // org.antlr.v4.tool.Grammar p
        end local 2 // java.util.List grammars
        end local 1 // org.antlr.v4.tool.Grammar root
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/antlr/v4/tool/Grammar;
            1    9     1      root  Lorg/antlr/v4/tool/Grammar;
            3    9     2  grammars  Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;
            4    9     3         p  Lorg/antlr/v4/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;

  public org.antlr.v4.tool.Grammar getOutermostGrammar();
    descriptor: ()Lorg/antlr/v4/tool/Grammar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 579
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
            ifnonnull 1
            aload 0 /* this */
            areturn
         1: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
            invokevirtual org.antlr.v4.tool.Grammar.getOutermostGrammar:()Lorg/antlr/v4/tool/Grammar;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public java.lang.String getRecognizerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 589
            ldc ""
            astore 1 /* suffix */
        start local 1 // java.lang.String suffix
         1: .line 590
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getOutermostGrammar:()Lorg/antlr/v4/tool/Grammar;
            invokevirtual org.antlr.v4.tool.Grammar.getGrammarAncestors:()Ljava/util/List;
            astore 2 /* grammarsFromRootToMe */
        start local 2 // java.util.List grammarsFromRootToMe
         2: .line 591
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            astore 3 /* qualifiedName */
        start local 3 // java.lang.String qualifiedName
         3: .line 592
            aload 2 /* grammarsFromRootToMe */
            ifnull 12
         4: .line 593
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         5: .line 594
            aload 2 /* grammarsFromRootToMe */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String java.util.List java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Grammar
            astore 5 /* g */
        start local 5 // org.antlr.v4.tool.Grammar g
         7: .line 595
            aload 4 /* buf */
            aload 5 /* g */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 596
            aload 4 /* buf */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.antlr.v4.tool.Grammar g
         9: .line 594
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 598
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 599
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* qualifiedName */
        end local 4 // java.lang.StringBuilder buf
        12: .line 602
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isCombined:()Z
            ifne 13
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 14
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.implicitLexer:Lorg/antlr/v4/tool/LexerGrammar;
            ifnull 14
        13: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            invokestatic org.antlr.v4.tool.Grammar.getGrammarTypeToFileNameSuffix:(I)Ljava/lang/String;
            astore 1 /* suffix */
        14: .line 606
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* qualifiedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String qualifiedName
        end local 2 // java.util.List grammarsFromRootToMe
        end local 1 // java.lang.String suffix
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0                  this  Lorg/antlr/v4/tool/Grammar;
            1   15     1                suffix  Ljava/lang/String;
            2   15     2  grammarsFromRootToMe  Ljava/util/List<Lorg/antlr/v4/tool/Grammar;>;
            3   15     3         qualifiedName  Ljava/lang/String;
            5   12     4                   buf  Ljava/lang/StringBuilder;
            7    9     5                     g  Lorg/antlr/v4/tool/Grammar;

  public java.lang.String getStringLiteralLexerRuleName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String lit
         0: .line 610
            new java.lang.StringBuilder
            dup
            ldc "T__"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            dup
            getfield org.antlr.v4.tool.Grammar.stringLiteralRuleNumber:I
            dup_x1
            iconst_1
            iadd
            putfield org.antlr.v4.tool.Grammar.stringLiteralRuleNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String lit
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1   lit  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      lit   

  public org.antlr.v4.tool.Grammar getImportedGrammar(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/v4/tool/Grammar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 615
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.importedGrammars:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Grammar
            astore 2 /* g */
        start local 2 // org.antlr.v4.tool.Grammar g
         2: .line 616
            aload 2 /* g */
            getfield org.antlr.v4.tool.Grammar.name:Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 2 /* g */
            areturn
        end local 2 // org.antlr.v4.tool.Grammar g
         3: .line 615
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 618
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/antlr/v4/tool/Grammar;
            0    5     1  name  Ljava/lang/String;
            2    3     2     g  Lorg/antlr/v4/tool/Grammar;
    MethodParameters:
      Name  Flags
      name  

  public int getTokenType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String token
         0: .line 623
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 3
         1: .line 624
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* token */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* I */
        start local 2 // java.lang.Integer I
         2: .line 625
            goto 4
        end local 2 // java.lang.Integer I
         3: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            aload 1 /* token */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* I */
        start local 2 // java.lang.Integer I
         4: .line 629
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* I */
            ifnull 5
            aload 2 /* I */
            invokevirtual java.lang.Integer.intValue:()I
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* i */
        start local 3 // int i
         7: .line 631
            iload 3 /* i */
            ireturn
        end local 3 // int i
        end local 2 // java.lang.Integer I
        end local 1 // java.lang.String token
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/antlr/v4/tool/Grammar;
            0    8     1  token  Ljava/lang/String;
            2    3     2      I  Ljava/lang/Integer;
            4    8     2      I  Ljava/lang/Integer;
            7    8     3      i  I
    MethodParameters:
       Name  Flags
      token  

  public java.lang.String getTokenName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String literal
         0: .line 635
            aload 0 /* this */
            astore 2 /* grammar */
        start local 2 // org.antlr.v4.tool.Grammar grammar
         1: .line 636
            goto 5
         2: .line 637
      StackMap locals: org.antlr.v4.tool.Grammar
      StackMap stack:
            aload 2 /* grammar */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* literal */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 638
            aload 2 /* grammar */
            aload 2 /* grammar */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* literal */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.getTokenName:(I)Ljava/lang/String;
            areturn
         4: .line 639
      StackMap locals:
      StackMap stack:
            aload 2 /* grammar */
            getfield org.antlr.v4.tool.Grammar.parent:Lorg/antlr/v4/tool/Grammar;
            astore 2 /* grammar */
         5: .line 636
      StackMap locals:
      StackMap stack:
            aload 2 /* grammar */
            ifnonnull 2
         6: .line 641
            aconst_null
            areturn
        end local 2 // org.antlr.v4.tool.Grammar grammar
        end local 1 // java.lang.String literal
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/antlr/v4/tool/Grammar;
            0    7     1  literal  Ljava/lang/String;
            1    7     2  grammar  Lorg/antlr/v4/tool/Grammar;
    MethodParameters:
         Name  Flags
      literal  

  public java.lang.String getTokenDisplayName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int ttype
         0: .line 650
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 3
         1: .line 651
            iload 1 /* ttype */
            iflt 3
            iload 1 /* ttype */
            ldc 1114111
            if_icmpgt 3
         2: .line 653
            iload 1 /* ttype */
            invokestatic org.antlr.v4.misc.CharSupport.getANTLRCharLiteralForChar:(I)Ljava/lang/String;
            areturn
         3: .line 656
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iconst_m1
            if_icmpne 5
         4: .line 657
            ldc "EOF"
            areturn
         5: .line 660
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            ifne 7
         6: .line 661
            ldc "<INVALID>"
            areturn
         7: .line 664
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iflt 9
            iload 1 /* ttype */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 9
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnull 9
         8: .line 665
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         9: .line 668
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iflt 11
            iload 1 /* ttype */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 11
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnull 11
        10: .line 669
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        11: .line 672
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            areturn
        end local 1 // int ttype
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/antlr/v4/tool/Grammar;
            0   12     1  ttype  I
    MethodParameters:
       Name  Flags
      ttype  

  public java.lang.String getTokenName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int ttype
         0: .line 691
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 3
         1: .line 692
            iload 1 /* ttype */
            iflt 3
            iload 1 /* ttype */
            ldc 1114111
            if_icmpgt 3
         2: .line 694
            iload 1 /* ttype */
            invokestatic org.antlr.v4.misc.CharSupport.getANTLRCharLiteralForChar:(I)Ljava/lang/String;
            areturn
         3: .line 697
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iconst_m1
            if_icmpne 5
         4: .line 698
            ldc "EOF"
            areturn
         5: .line 701
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iflt 7
            iload 1 /* ttype */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 7
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnull 7
         6: .line 702
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         7: .line 705
      StackMap locals:
      StackMap stack:
            ldc "<INVALID>"
            areturn
        end local 1 // int ttype
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/antlr/v4/tool/Grammar;
            0    8     1  ttype  I
    MethodParameters:
       Name  Flags
      ttype  

  public int getChannelValue(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String channel
         0: .line 723
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
            aload 1 /* channel */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* I */
        start local 2 // java.lang.Integer I
         1: .line 724
            aload 2 /* I */
            ifnull 2
            aload 2 /* I */
            invokevirtual java.lang.Integer.intValue:()I
            goto 3
      StackMap locals: java.lang.Integer
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* i */
        start local 3 // int i
         4: .line 725
            iload 3 /* i */
            ireturn
        end local 3 // int i
        end local 2 // java.lang.Integer I
        end local 1 // java.lang.String channel
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/antlr/v4/tool/Grammar;
            0    5     1  channel  Ljava/lang/String;
            1    5     2        I  Ljava/lang/Integer;
            4    5     3        i  I
    MethodParameters:
         Name  Flags
      channel  

  public java.lang.String[] getRuleNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 739
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.size:()I
            anewarray java.lang.String
            astore 1 /* result */
        start local 1 // java.lang.String[] result
         1: .line 740
            aload 1 /* result */
            ldc "<invalid>"
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 741
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String[] top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            astore 2 /* rule */
        start local 2 // org.antlr.v4.tool.Rule rule
         4: .line 742
            aload 1 /* result */
            aload 2 /* rule */
            getfield org.antlr.v4.tool.Rule.index:I
            aload 2 /* rule */
            getfield org.antlr.v4.tool.Rule.name:Ljava/lang/String;
            aastore
        end local 2 // org.antlr.v4.tool.Rule rule
         5: .line 741
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 745
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String[] result
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/antlr/v4/tool/Grammar;
            1    7     1  result  [Ljava/lang/String;
            4    5     2    rule  Lorg/antlr/v4/tool/Rule;

  public java.lang.String[] getTokenNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 757
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxTokenType:()I
            istore 1 /* numTokens */
        start local 1 // int numTokens
         1: .line 758
            iload 1 /* numTokens */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 2 /* tokenNames */
        start local 2 // java.lang.String[] tokenNames
         2: .line 759
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 760
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* tokenNames */
            iload 3 /* i */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.antlr.v4.tool.Grammar.getTokenName:(I)Ljava/lang/String;
            aastore
         5: .line 759
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* tokenNames */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 763
            aload 2 /* tokenNames */
            areturn
        end local 2 // java.lang.String[] tokenNames
        end local 1 // int numTokens
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/antlr/v4/tool/Grammar;
            1    8     1   numTokens  I
            2    8     2  tokenNames  [Ljava/lang/String;
            3    7     3           i  I

  public java.lang.String[] getTokenDisplayNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 775
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxTokenType:()I
            istore 1 /* numTokens */
        start local 1 // int numTokens
         1: .line 776
            iload 1 /* numTokens */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 2 /* tokenNames */
        start local 2 // java.lang.String[] tokenNames
         2: .line 777
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 778
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* tokenNames */
            iload 3 /* i */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.antlr.v4.tool.Grammar.getTokenDisplayName:(I)Ljava/lang/String;
            aastore
         5: .line 777
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* tokenNames */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 781
            aload 2 /* tokenNames */
            areturn
        end local 2 // java.lang.String[] tokenNames
        end local 1 // int numTokens
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/antlr/v4/tool/Grammar;
            1    8     1   numTokens  I
            2    8     2  tokenNames  [Ljava/lang/String;
            3    7     3           i  I

  public java.lang.String[] getTokenLiteralNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 789
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxTokenType:()I
            istore 1 /* numTokens */
        start local 1 // int numTokens
         1: .line 790
            iload 1 /* numTokens */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 2 /* literalNames */
        start local 2 // java.lang.String[] literalNames
         2: .line 791
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 792
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* literalNames */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
         5: .line 791
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* literalNames */
            arraylength
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            if_icmplt 4
        end local 3 // int i
         7: .line 795
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.antlr.v4.tool.Grammar int java.lang.String[] top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         9: .line 796
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iflt 11
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 2 /* literalNames */
            arraylength
            if_icmpge 11
            aload 2 /* literalNames */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aaload
            ifnonnull 11
        10: .line 797
            aload 2 /* literalNames */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        end local 3 // java.util.Map$Entry entry
        11: .line 795
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 801
            aload 2 /* literalNames */
            areturn
        end local 2 // java.lang.String[] literalNames
        end local 1 // int numTokens
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/antlr/v4/tool/Grammar;
            1   13     1     numTokens  I
            2   13     2  literalNames  [Ljava/lang/String;
            3    7     3             i  I
            9   11     3         entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Integer;>;

  public java.lang.String[] getTokenSymbolicNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 809
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxTokenType:()I
            istore 1 /* numTokens */
        start local 1 // int numTokens
         1: .line 810
            iload 1 /* numTokens */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 2 /* symbolicNames */
        start local 2 // java.lang.String[] symbolicNames
         2: .line 811
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 812
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnull 7
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            ldc "T__"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 813
            goto 7
         6: .line 816
      StackMap locals:
      StackMap stack:
            aload 2 /* symbolicNames */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
         7: .line 811
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* symbolicNames */
            arraylength
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            if_icmplt 4
        end local 3 // int i
         9: .line 819
            aload 2 /* symbolicNames */
            areturn
        end local 2 // java.lang.String[] symbolicNames
        end local 1 // int numTokens
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/antlr/v4/tool/Grammar;
            1   10     1      numTokens  I
            2   10     2  symbolicNames  [Ljava/lang/String;
            3    9     3              i  I

  public org.antlr.v4.runtime.Vocabulary getVocabulary();
    descriptor: ()Lorg/antlr/v4/runtime/Vocabulary;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 828
            new org.antlr.v4.runtime.VocabularyImpl
            dup
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getTokenLiteralNames:()[Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getTokenSymbolicNames:()[Ljava/lang/String;
            invokespecial org.antlr.v4.runtime.VocabularyImpl.<init>:([Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;

  public java.lang.String getSemanticContextDisplayString(org.antlr.v4.runtime.atn.SemanticContext);
    descriptor: (Lorg/antlr/v4/runtime/atn/SemanticContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.atn.SemanticContext semctx
         0: .line 835
            aload 1 /* semctx */
            instanceof org.antlr.v4.runtime.atn.SemanticContext$Predicate
            ifeq 2
         1: .line 836
            aload 0 /* this */
            aload 1 /* semctx */
            checkcast org.antlr.v4.runtime.atn.SemanticContext$Predicate
            invokevirtual org.antlr.v4.tool.Grammar.getPredicateDisplayString:(Lorg/antlr/v4/runtime/atn/SemanticContext$Predicate;)Ljava/lang/String;
            areturn
         2: .line 838
      StackMap locals:
      StackMap stack:
            aload 1 /* semctx */
            instanceof org.antlr.v4.runtime.atn.SemanticContext$AND
            ifeq 5
         3: .line 839
            aload 1 /* semctx */
            checkcast org.antlr.v4.runtime.atn.SemanticContext$AND
            astore 2 /* and */
        start local 2 // org.antlr.v4.runtime.atn.SemanticContext$AND and
         4: .line 840
            aload 0 /* this */
            aload 2 /* and */
            ldc " and "
            invokevirtual org.antlr.v4.tool.Grammar.joinPredicateOperands:(Lorg/antlr/v4/runtime/atn/SemanticContext$Operator;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.runtime.atn.SemanticContext$AND and
         5: .line 842
      StackMap locals:
      StackMap stack:
            aload 1 /* semctx */
            instanceof org.antlr.v4.runtime.atn.SemanticContext$OR
            ifeq 8
         6: .line 843
            aload 1 /* semctx */
            checkcast org.antlr.v4.runtime.atn.SemanticContext$OR
            astore 2 /* or */
        start local 2 // org.antlr.v4.runtime.atn.SemanticContext$OR or
         7: .line 844
            aload 0 /* this */
            aload 2 /* or */
            ldc " or "
            invokevirtual org.antlr.v4.tool.Grammar.joinPredicateOperands:(Lorg/antlr/v4/runtime/atn/SemanticContext$Operator;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.runtime.atn.SemanticContext$OR or
         8: .line 846
      StackMap locals:
      StackMap stack:
            aload 1 /* semctx */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.antlr.v4.runtime.atn.SemanticContext semctx
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/antlr/v4/tool/Grammar;
            0    9     1  semctx  Lorg/antlr/v4/runtime/atn/SemanticContext;
            4    5     2     and  Lorg/antlr/v4/runtime/atn/SemanticContext$AND;
            7    8     2      or  Lorg/antlr/v4/runtime/atn/SemanticContext$OR;
    MethodParameters:
        Name  Flags
      semctx  

  public java.lang.String joinPredicateOperands(org.antlr.v4.runtime.atn.SemanticContext$Operator, java.lang.String);
    descriptor: (Lorg/antlr/v4/runtime/atn/SemanticContext$Operator;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.atn.SemanticContext$Operator op
        start local 2 // java.lang.String separator
         0: .line 850
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 851
            aload 1 /* op */
            invokevirtual org.antlr.v4.runtime.atn.SemanticContext$Operator.getOperands:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.runtime.atn.SemanticContext$Operator java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.atn.SemanticContext
            astore 4 /* operand */
        start local 4 // org.antlr.v4.runtime.atn.SemanticContext operand
         3: .line 852
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 5
         4: .line 853
            aload 3 /* buf */
            aload 2 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 856
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.runtime.atn.SemanticContext$Operator java.lang.String java.lang.StringBuilder org.antlr.v4.runtime.atn.SemanticContext java.util.Iterator
      StackMap stack:
            aload 3 /* buf */
            aload 0 /* this */
            aload 4 /* operand */
            invokevirtual org.antlr.v4.tool.Grammar.getSemanticContextDisplayString:(Lorg/antlr/v4/runtime/atn/SemanticContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.antlr.v4.runtime.atn.SemanticContext operand
         6: .line 851
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.runtime.atn.SemanticContext$Operator java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 859
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String separator
        end local 1 // org.antlr.v4.runtime.atn.SemanticContext$Operator op
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/antlr/v4/tool/Grammar;
            0    8     1         op  Lorg/antlr/v4/runtime/atn/SemanticContext$Operator;
            0    8     2  separator  Ljava/lang/String;
            1    8     3        buf  Ljava/lang/StringBuilder;
            3    6     4    operand  Lorg/antlr/v4/runtime/atn/SemanticContext;
    MethodParameters:
           Name  Flags
      op         
      separator  

  public java.util.LinkedHashMap<java.lang.Integer, org.antlr.v4.tool.ast.PredAST> getIndexToPredicateMap();
    descriptor: ()Ljava/util/LinkedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 863
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* indexToPredMap */
        start local 1 // java.util.LinkedHashMap indexToPredMap
         1: .line 864
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.rules:Lorg/antlr/v4/misc/OrderedHashMap;
            invokevirtual org.antlr.v4.misc.OrderedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.v4.tool.Rule r
         3: .line 865
            aload 2 /* r */
            getfield org.antlr.v4.tool.Rule.actions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap org.antlr.v4.tool.Rule java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.ActionAST
            astore 4 /* a */
        start local 4 // org.antlr.v4.tool.ast.ActionAST a
         5: .line 866
            aload 4 /* a */
            instanceof org.antlr.v4.tool.ast.PredAST
            ifeq 8
         6: .line 867
            aload 4 /* a */
            checkcast org.antlr.v4.tool.ast.PredAST
            astore 6 /* p */
        start local 6 // org.antlr.v4.tool.ast.PredAST p
         7: .line 868
            aload 1 /* indexToPredMap */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.sempreds:Ljava/util/LinkedHashMap;
            aload 6 /* p */
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            aload 6 /* p */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.antlr.v4.tool.ast.PredAST p
        end local 4 // org.antlr.v4.tool.ast.ActionAST a
         8: .line 865
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // org.antlr.v4.tool.Rule r
         9: .line 864
      StackMap locals: org.antlr.v4.tool.Grammar java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 872
            aload 1 /* indexToPredMap */
            areturn
        end local 1 // java.util.LinkedHashMap indexToPredMap
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/antlr/v4/tool/Grammar;
            1   11     1  indexToPredMap  Ljava/util/LinkedHashMap<Ljava/lang/Integer;Lorg/antlr/v4/tool/ast/PredAST;>;
            3    9     2               r  Lorg/antlr/v4/tool/Rule;
            5    8     4               a  Lorg/antlr/v4/tool/ast/ActionAST;
            7    8     6               p  Lorg/antlr/v4/tool/ast/PredAST;
    Signature: ()Ljava/util/LinkedHashMap<Ljava/lang/Integer;Lorg/antlr/v4/tool/ast/PredAST;>;

  public java.lang.String getPredicateDisplayString(org.antlr.v4.runtime.atn.SemanticContext$Predicate);
    descriptor: (Lorg/antlr/v4/runtime/atn/SemanticContext$Predicate;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.atn.SemanticContext$Predicate pred
         0: .line 876
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToPredMap:Ljava/util/LinkedHashMap;
            ifnonnull 2
         1: .line 877
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getIndexToPredicateMap:()Ljava/util/LinkedHashMap;
            putfield org.antlr.v4.tool.Grammar.indexToPredMap:Ljava/util/LinkedHashMap;
         2: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.indexToPredMap:Ljava/util/LinkedHashMap;
            aload 1 /* pred */
            getfield org.antlr.v4.runtime.atn.SemanticContext$Predicate.predIndex:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.ActionAST
            astore 2 /* actionAST */
        start local 2 // org.antlr.v4.tool.ast.ActionAST actionAST
         3: .line 880
            aload 2 /* actionAST */
            invokevirtual org.antlr.v4.tool.ast.ActionAST.getText:()Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST actionAST
        end local 1 // org.antlr.v4.runtime.atn.SemanticContext$Predicate pred
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/v4/tool/Grammar;
            0    4     1       pred  Lorg/antlr/v4/runtime/atn/SemanticContext$Predicate;
            3    4     2  actionAST  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      pred  

  public int getMaxCharValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 887
            ldc 1114111
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;

  public org.antlr.v4.runtime.misc.IntSet getTokenTypes();
    descriptor: ()Lorg/antlr/v4/runtime/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 898
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 2
         1: .line 899
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getAllCharValues:()Lorg/antlr/v4/runtime/misc/IntSet;
            areturn
         2: .line 901
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxTokenType:()I
            invokestatic org.antlr.v4.runtime.misc.IntervalSet.of:(II)Lorg/antlr/v4/runtime/misc/IntervalSet;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/v4/tool/Grammar;

  public org.antlr.v4.runtime.misc.IntSet getAllCharValues();
    descriptor: ()Lorg/antlr/v4/runtime/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 908
            iconst_0
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getMaxCharValue:()I
            invokestatic org.antlr.v4.runtime.misc.IntervalSet.of:(II)Lorg/antlr/v4/runtime/misc/IntervalSet;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;

  public int getMaxTokenType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 913
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;

  public int getNewTokenType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 918
            aload 0 /* this */
            dup
            getfield org.antlr.v4.tool.Grammar.maxTokenType:I
            iconst_1
            iadd
            putfield org.antlr.v4.tool.Grammar.maxTokenType:I
         1: .line 919
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxTokenType:I
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public int getNewChannelNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 924
            aload 0 /* this */
            dup
            getfield org.antlr.v4.tool.Grammar.maxChannelType:I
            iconst_1
            iadd
            putfield org.antlr.v4.tool.Grammar.maxChannelType:I
         1: .line 925
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxChannelType:I
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public void importTokensFromTokensFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 929
            aload 0 /* this */
            ldc "tokenVocab"
            invokevirtual org.antlr.v4.tool.Grammar.getOptionString:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* vocab */
        start local 1 // java.lang.String vocab
         1: .line 930
            aload 1 /* vocab */
            ifnull 10
         2: .line 931
            new org.antlr.v4.parse.TokenVocabParser
            dup
            aload 0 /* this */
            invokespecial org.antlr.v4.parse.TokenVocabParser.<init>:(Lorg/antlr/v4/tool/Grammar;)V
            astore 2 /* vparser */
        start local 2 // org.antlr.v4.parse.TokenVocabParser vparser
         3: .line 932
            aload 2 /* vparser */
            invokevirtual org.antlr.v4.parse.TokenVocabParser.load:()Ljava/util/Map;
            astore 3 /* tokens */
        start local 3 // java.util.Map tokens
         4: .line 933
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tool:Lorg/antlr/v4/Tool;
            ldc "grammar"
            new java.lang.StringBuilder
            dup
            ldc "tokens="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* tokens */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.antlr.v4.Tool.log:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 934
            aload 3 /* tokens */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String org.antlr.v4.parse.TokenVocabParser java.util.Map top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* t */
        start local 4 // java.lang.String t
         7: .line 935
            aload 4 /* t */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 8
            aload 0 /* this */
            aload 4 /* t */
            aload 3 /* tokens */
            aload 4 /* t */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineStringLiteral:(Ljava/lang/String;I)I
            pop
            goto 9
         8: .line 936
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String org.antlr.v4.parse.TokenVocabParser java.util.Map java.lang.String java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* t */
            aload 3 /* tokens */
            aload 4 /* t */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineTokenName:(Ljava/lang/String;I)I
            pop
        end local 4 // java.lang.String t
         9: .line 934
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String org.antlr.v4.parse.TokenVocabParser java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // java.util.Map tokens
        end local 2 // org.antlr.v4.parse.TokenVocabParser vparser
        10: .line 939
      StackMap locals: org.antlr.v4.tool.Grammar java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String vocab
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/antlr/v4/tool/Grammar;
            1   11     1    vocab  Ljava/lang/String;
            3   10     2  vparser  Lorg/antlr/v4/parse/TokenVocabParser;
            4   10     3   tokens  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
            7    9     4        t  Ljava/lang/String;

  public void importVocab(org.antlr.v4.tool.Grammar);
    descriptor: (Lorg/antlr/v4/tool/Grammar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.tool.Grammar importG
         0: .line 942
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.tool.Grammar top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* tokenName */
        start local 2 // java.lang.String tokenName
         2: .line 943
            aload 0 /* this */
            aload 2 /* tokenName */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            aload 2 /* tokenName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineTokenName:(Ljava/lang/String;I)I
            pop
        end local 2 // java.lang.String tokenName
         3: .line 942
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 945
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* tokenName */
        start local 2 // java.lang.String tokenName
         6: .line 946
            aload 0 /* this */
            aload 2 /* tokenName */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 2 /* tokenName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineStringLiteral:(Ljava/lang/String;I)I
            pop
        end local 2 // java.lang.String tokenName
         7: .line 945
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 948
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* channel */
        start local 2 // java.util.Map$Entry channel
        10: .line 949
            aload 0 /* this */
            aload 2 /* channel */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* channel */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineChannelName:(Ljava/lang/String;I)I
            pop
        end local 2 // java.util.Map$Entry channel
        11: .line 948
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 953
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* max */
        start local 2 // int max
        13: .line 954
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 2 /* max */
            invokestatic org.antlr.v4.misc.Utils.setSize:(Ljava/util/List;I)V
        14: .line 955
            iconst_0
            istore 3 /* ttype */
        start local 3 // int ttype
        15: goto 19
        16: .line 956
      StackMap locals: org.antlr.v4.tool.Grammar org.antlr.v4.tool.Grammar int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxTokenType:I
            iload 3 /* ttype */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.v4.tool.Grammar.maxTokenType:I
        17: .line 957
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 3 /* ttype */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 3 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 955
            iinc 3 /* ttype */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* ttype */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 16
        end local 3 // int ttype
        20: .line 960
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* max */
        21: .line 961
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 2 /* max */
            invokestatic org.antlr.v4.misc.Utils.setSize:(Ljava/util/List;I)V
        22: .line 962
            iconst_0
            istore 3 /* channelValue */
        start local 3 // int channelValue
        23: goto 27
        24: .line 963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxChannelType:I
            iload 3 /* channelValue */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.v4.tool.Grammar.maxChannelType:I
        25: .line 964
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 3 /* channelValue */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 3 /* channelValue */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 962
            iinc 3 /* channelValue */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* channelValue */
            aload 1 /* importG */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 24
        end local 3 // int channelValue
        28: .line 966
            return
        end local 2 // int max
        end local 1 // org.antlr.v4.tool.Grammar importG
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Lorg/antlr/v4/tool/Grammar;
            0   29     1       importG  Lorg/antlr/v4/tool/Grammar;
            2    3     2     tokenName  Ljava/lang/String;
            6    7     2     tokenName  Ljava/lang/String;
           10   11     2       channel  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Integer;>;
           13   29     2           max  I
           15   20     3         ttype  I
           23   28     3  channelValue  I
    MethodParameters:
         Name  Flags
      importG  

  public int defineTokenName(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 969
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* prev */
        start local 2 // java.lang.Integer prev
         1: .line 970
            aload 2 /* prev */
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getNewTokenType:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineTokenName:(Ljava/lang/String;I)I
            ireturn
         2: .line 971
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* prev */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer prev
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/v4/tool/Grammar;
            0    3     1  name  Ljava/lang/String;
            1    3     2  prev  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      name  

  public int defineTokenName(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
        start local 2 // int ttype
         0: .line 975
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* prev */
        start local 3 // java.lang.Integer prev
         1: .line 976
            aload 3 /* prev */
            ifnull 2
            aload 3 /* prev */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         2: .line 977
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.tokenNameToTypeMap:Ljava/util/Map;
            aload 1 /* name */
            iload 2 /* ttype */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 978
            aload 0 /* this */
            iload 2 /* ttype */
            aload 1 /* name */
            invokevirtual org.antlr.v4.tool.Grammar.setTokenForType:(ILjava/lang/String;)V
         4: .line 979
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxTokenType:I
            iload 2 /* ttype */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.v4.tool.Grammar.maxTokenType:I
         5: .line 980
            iload 2 /* ttype */
            ireturn
        end local 3 // java.lang.Integer prev
        end local 2 // int ttype
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/antlr/v4/tool/Grammar;
            0    6     1   name  Ljava/lang/String;
            0    6     2  ttype  I
            1    6     3   prev  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      name   
      ttype  

  public int defineStringLiteral(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String lit
         0: .line 984
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* lit */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 985
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* lit */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         2: .line 987
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lit */
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getNewTokenType:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineStringLiteral:(Ljava/lang/String;I)I
            ireturn
        end local 1 // java.lang.String lit
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/v4/tool/Grammar;
            0    3     1   lit  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      lit   

  public int defineStringLiteral(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String lit
        start local 2 // int ttype
         0: .line 992
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* lit */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 7
         1: .line 993
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* lit */
            iload 2 /* ttype */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 995
            iload 2 /* ttype */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
         3: .line 996
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            iload 2 /* ttype */
            iconst_1
            iadd
            invokestatic org.antlr.v4.misc.Utils.setSize:(Ljava/util/List;I)V
         4: .line 998
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToStringLiteralList:Ljava/util/List;
            iload 2 /* ttype */
            aload 1 /* lit */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1000
            aload 0 /* this */
            iload 2 /* ttype */
            aload 1 /* lit */
            invokevirtual org.antlr.v4.tool.Grammar.setTokenForType:(ILjava/lang/String;)V
         6: .line 1001
            iload 2 /* ttype */
            ireturn
         7: .line 1003
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int ttype
        end local 1 // java.lang.String lit
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/antlr/v4/tool/Grammar;
            0    8     1    lit  Ljava/lang/String;
            0    8     2  ttype  I
    MethodParameters:
       Name  Flags
      lit    
      ttype  

  public int defineTokenAlias(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String lit
         0: .line 1007
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.antlr.v4.tool.Grammar.defineTokenName:(Ljava/lang/String;)I
            istore 3 /* ttype */
        start local 3 // int ttype
         1: .line 1008
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 2 /* lit */
            iload 3 /* ttype */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1009
            aload 0 /* this */
            iload 3 /* ttype */
            aload 1 /* name */
            invokevirtual org.antlr.v4.tool.Grammar.setTokenForType:(ILjava/lang/String;)V
         3: .line 1010
            iload 3 /* ttype */
            ireturn
        end local 3 // int ttype
        end local 2 // java.lang.String lit
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/antlr/v4/tool/Grammar;
            0    4     1   name  Ljava/lang/String;
            0    4     2    lit  Ljava/lang/String;
            1    4     3  ttype  I
    MethodParameters:
      Name  Flags
      name  
      lit   

  public void setTokenForType(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int ttype
        start local 2 // java.lang.String text
         0: .line 1014
            iload 1 /* ttype */
            iconst_m1
            if_icmpne 2
         1: .line 1016
            return
         2: .line 1019
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
         3: .line 1020
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            iconst_1
            iadd
            invokestatic org.antlr.v4.misc.Utils.setSize:(Ljava/util/List;I)V
         4: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* prevToken */
        start local 3 // java.lang.String prevToken
         5: .line 1023
            aload 3 /* prevToken */
            ifnull 6
            aload 3 /* prevToken */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 7
         6: .line 1025
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.typeToTokenList:Ljava/util/List;
            iload 1 /* ttype */
            aload 2 /* text */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1027
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String prevToken
        end local 2 // java.lang.String text
        end local 1 // int ttype
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/antlr/v4/tool/Grammar;
            0    8     1      ttype  I
            0    8     2       text  Ljava/lang/String;
            5    8     3  prevToken  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      ttype  
      text   

  public int defineChannelName(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 1040
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* prev */
        start local 2 // java.lang.Integer prev
         1: .line 1041
            aload 2 /* prev */
            ifnonnull 3
         2: .line 1042
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getNewChannelNumber:()I
            invokevirtual org.antlr.v4.tool.Grammar.defineChannelName:(Ljava/lang/String;I)I
            ireturn
         3: .line 1045
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* prev */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer prev
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/antlr/v4/tool/Grammar;
            0    4     1  name  Ljava/lang/String;
            1    4     2  prev  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      name  

  public int defineChannelName(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String name
        start local 2 // int value
         0: .line 1059
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* prev */
        start local 3 // java.lang.Integer prev
         1: .line 1060
            aload 3 /* prev */
            ifnull 3
         2: .line 1061
            aload 3 /* prev */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         3: .line 1064
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelNameToValueMap:Ljava/util/Map;
            aload 1 /* name */
            iload 2 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1065
            aload 0 /* this */
            iload 2 /* value */
            aload 1 /* name */
            invokevirtual org.antlr.v4.tool.Grammar.setChannelNameForValue:(ILjava/lang/String;)V
         5: .line 1066
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.maxChannelType:I
            iload 2 /* value */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.v4.tool.Grammar.maxChannelType:I
         6: .line 1067
            iload 2 /* value */
            ireturn
        end local 3 // java.lang.Integer prev
        end local 2 // int value
        end local 1 // java.lang.String name
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/antlr/v4/tool/Grammar;
            0    7     1   name  Ljava/lang/String;
            0    7     2  value  I
            1    7     3   prev  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void setChannelNameForValue(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int channelValue
        start local 2 // java.lang.String name
         0: .line 1081
            iload 1 /* channelValue */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 2
         1: .line 1082
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 1 /* channelValue */
            iconst_1
            iadd
            invokestatic org.antlr.v4.misc.Utils.setSize:(Ljava/util/List;I)V
         2: .line 1085
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 1 /* channelValue */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* prevChannel */
        start local 3 // java.lang.String prevChannel
         3: .line 1086
            aload 3 /* prevChannel */
            ifnonnull 5
         4: .line 1087
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            iload 1 /* channelValue */
            aload 2 /* name */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1089
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String prevChannel
        end local 2 // java.lang.String name
        end local 1 // int channelValue
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/antlr/v4/tool/Grammar;
            0    6     1  channelValue  I
            0    6     2          name  Ljava/lang/String;
            3    6     3   prevChannel  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      channelValue  
      name          

  public org.antlr.v4.tool.Attribute resolveToAttribute(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Lorg/antlr/v4/tool/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1094
            aconst_null
            areturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST node
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      node  

  public org.antlr.v4.tool.Attribute resolveToAttribute(java.lang.String, java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Lorg/antlr/v4/tool/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // java.lang.String y
        start local 3 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1100
            aconst_null
            areturn
        end local 3 // org.antlr.v4.tool.ast.ActionAST node
        end local 2 // java.lang.String y
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2     y  Ljava/lang/String;
            0    1     3  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      y     
      node  

  public boolean resolvesToLabel(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1104
            iconst_0
            ireturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST node
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      node  

  public boolean resolvesToListLabel(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1107
            iconst_0
            ireturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST node
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      node  

  public boolean resolvesToToken(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1110
            iconst_0
            ireturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST node
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      node  

  public boolean resolvesToAttributeDict(java.lang.String, org.antlr.v4.tool.ast.ActionAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/v4/tool/ast/ActionAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String x
        start local 2 // org.antlr.v4.tool.ast.ActionAST node
         0: .line 1114
            iconst_0
            ireturn
        end local 2 // org.antlr.v4.tool.ast.ActionAST node
        end local 1 // java.lang.String x
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1     x  Ljava/lang/String;
            0    1     2  node  Lorg/antlr/v4/tool/ast/ActionAST;
    MethodParameters:
      Name  Flags
      x     
      node  

  public java.lang.String getDefaultActionScope();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1122
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            lookupswitch { // 3
                   31: 1
                   44: 2
                   81: 2
              default: 3
          }
         1: .line 1124
      StackMap locals:
      StackMap stack:
            ldc "lexer"
            areturn
         2: .line 1127
      StackMap locals:
      StackMap stack:
            ldc "parser"
            areturn
         3: .line 1129
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/antlr/v4/tool/Grammar;

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1133
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            ifnull 1
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            getfield org.antlr.v4.tool.ast.GrammarRootAST.grammarType:I
            ireturn
         1: .line 1134
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public org.antlr.runtime.TokenStream getTokenStream();
    descriptor: ()Lorg/antlr/runtime/TokenStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1138
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            ifnull 1
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            getfield org.antlr.v4.tool.ast.GrammarRootAST.tokenStream:Lorg/antlr/runtime/TokenStream;
            areturn
         1: .line 1139
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public boolean isLexer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1142
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            bipush 31
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public boolean isParser();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1143
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            bipush 44
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public boolean isCombined();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1144
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            bipush 81
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public static boolean isTokenName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String id
         0: .line 1148
            aload 0 /* id */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ireturn
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public java.lang.String getTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1152
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1153
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.v4.parse.ANTLRParser.tokenNames:[Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getType:()I
            aaload
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            areturn
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/v4/tool/Grammar;

  public static java.lang.String getGrammarTypeToFileNameSuffix(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int type
         0: .line 1157
            iload 0 /* type */
            lookupswitch { // 3
                   31: 1
                   44: 2
                   81: 3
              default: 4
          }
         1: .line 1158
      StackMap locals:
      StackMap stack:
            ldc "Lexer"
            areturn
         2: .line 1159
      StackMap locals:
      StackMap stack:
            ldc "Parser"
            areturn
         3: .line 1162
      StackMap locals:
      StackMap stack:
            ldc "Parser"
            areturn
         4: .line 1164
      StackMap locals:
      StackMap stack:
            ldc "<invalid>"
            areturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public java.lang.String getOptionString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // java.lang.String key
         0: .line 1168
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            aload 1 /* key */
            invokevirtual org.antlr.v4.tool.ast.GrammarRootAST.getOptionString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/tool/Grammar;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public static void setNodeOptions(org.antlr.v4.tool.ast.GrammarAST, org.antlr.v4.tool.ast.GrammarAST);
    descriptor: (Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.antlr.v4.tool.ast.GrammarAST node
        start local 1 // org.antlr.v4.tool.ast.GrammarAST options
         0: .line 1174
            aload 1 /* options */
            ifnonnull 1
            return
         1: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            checkcast org.antlr.v4.tool.ast.GrammarASTWithOptions
            astore 2 /* t */
        start local 2 // org.antlr.v4.tool.ast.GrammarASTWithOptions t
         2: .line 1176
            aload 2 /* t */
            invokevirtual org.antlr.v4.tool.ast.GrammarASTWithOptions.getChildCount:()I
            ifeq 3
            aload 1 /* options */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChildCount:()I
            ifne 4
      StackMap locals: org.antlr.v4.tool.ast.GrammarASTWithOptions
      StackMap stack:
         3: return
         4: .line 1177
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarASTWithOptions top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* o */
        start local 3 // java.lang.Object o
         6: .line 1178
            aload 3 /* o */
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 5 /* c */
        start local 5 // org.antlr.v4.tool.ast.GrammarAST c
         7: .line 1179
            aload 5 /* c */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getType:()I
            bipush 10
            if_icmpne 10
         8: .line 1180
            aload 2 /* t */
            aload 5 /* c */
            iconst_0
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            invokeinterface org.antlr.runtime.tree.Tree.getText:()Ljava/lang/String;
            aload 5 /* c */
            iconst_1
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            invokevirtual org.antlr.v4.tool.ast.GrammarASTWithOptions.setOption:(Ljava/lang/String;Lorg/antlr/v4/tool/ast/GrammarAST;)V
         9: .line 1181
            goto 11
        10: .line 1183
      StackMap locals: org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarASTWithOptions java.lang.Object java.util.Iterator org.antlr.v4.tool.ast.GrammarAST
      StackMap stack:
            aload 2 /* t */
            aload 5 /* c */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getText:()Ljava/lang/String;
            aconst_null
            invokevirtual org.antlr.v4.tool.ast.GrammarASTWithOptions.setOption:(Ljava/lang/String;Lorg/antlr/v4/tool/ast/GrammarAST;)V
        end local 5 // org.antlr.v4.tool.ast.GrammarAST c
        end local 3 // java.lang.Object o
        11: .line 1177
      StackMap locals: org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarAST org.antlr.v4.tool.ast.GrammarASTWithOptions top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 1186
            return
        end local 2 // org.antlr.v4.tool.ast.GrammarASTWithOptions t
        end local 1 // org.antlr.v4.tool.ast.GrammarAST options
        end local 0 // org.antlr.v4.tool.ast.GrammarAST node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     node  Lorg/antlr/v4/tool/ast/GrammarAST;
            0   13     1  options  Lorg/antlr/v4/tool/ast/GrammarAST;
            2   13     2        t  Lorg/antlr/v4/tool/ast/GrammarASTWithOptions;
            6   11     3        o  Ljava/lang/Object;
            7   11     5        c  Lorg/antlr/v4/tool/ast/GrammarAST;
    MethodParameters:
         Name  Flags
      node     
      options  

  public static java.util.List<org.antlr.v4.runtime.misc.Pair<org.antlr.v4.tool.ast.GrammarAST, org.antlr.v4.tool.ast.GrammarAST>> getStringLiteralAliasesFromLexerRules(org.antlr.v4.tool.ast.GrammarRootAST);
    descriptor: (Lorg/antlr/v4/tool/ast/GrammarRootAST;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // org.antlr.v4.tool.ast.GrammarRootAST ast
         0: .line 1190
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 1191
            ldc "(RULE %name:TOKEN_REF (BLOCK (ALT %lit:STRING_LITERAL)))"
            aastore
            dup
            iconst_1
         2: .line 1192
            ldc "(RULE %name:TOKEN_REF (BLOCK (ALT %lit:STRING_LITERAL ACTION)))"
            aastore
            dup
            iconst_2
         3: .line 1193
            ldc "(RULE %name:TOKEN_REF (BLOCK (ALT %lit:STRING_LITERAL SEMPRED)))"
            aastore
            dup
            iconst_3
         4: .line 1194
            ldc "(RULE %name:TOKEN_REF (BLOCK (LEXER_ALT_ACTION (ALT %lit:STRING_LITERAL) .)))"
            aastore
            dup
            iconst_4
         5: .line 1195
            ldc "(RULE %name:TOKEN_REF (BLOCK (LEXER_ALT_ACTION (ALT %lit:STRING_LITERAL) . .)))"
            aastore
            dup
            iconst_5
         6: .line 1196
            ldc "(RULE %name:TOKEN_REF (BLOCK (LEXER_ALT_ACTION (ALT %lit:STRING_LITERAL) (LEXER_ACTION_CALL . .))))"
            aastore
            dup
            bipush 6
         7: .line 1197
            ldc "(RULE %name:TOKEN_REF (BLOCK (LEXER_ALT_ACTION (ALT %lit:STRING_LITERAL) . (LEXER_ACTION_CALL . .))))"
            aastore
            dup
            bipush 7
         8: .line 1198
            ldc "(RULE %name:TOKEN_REF (BLOCK (LEXER_ALT_ACTION (ALT %lit:STRING_LITERAL) (LEXER_ACTION_CALL . .) .)))"
            aastore
         9: .line 1190
            astore 1 /* patterns */
        start local 1 // java.lang.String[] patterns
        10: .line 1201
            new org.antlr.v4.parse.GrammarASTAdaptor
            dup
            aload 0 /* ast */
            getfield org.antlr.v4.tool.ast.GrammarRootAST.token:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getInputStream:()Lorg/antlr/runtime/CharStream;
            invokespecial org.antlr.v4.parse.GrammarASTAdaptor.<init>:(Lorg/antlr/runtime/CharStream;)V
            astore 2 /* adaptor */
        start local 2 // org.antlr.v4.parse.GrammarASTAdaptor adaptor
        11: .line 1202
            new org.antlr.runtime.tree.TreeWizard
            dup
            aload 2 /* adaptor */
            getstatic org.antlr.v4.parse.ANTLRParser.tokenNames:[Ljava/lang/String;
            invokespecial org.antlr.runtime.tree.TreeWizard.<init>:(Lorg/antlr/runtime/tree/TreeAdaptor;[Ljava/lang/String;)V
            astore 3 /* wiz */
        start local 3 // org.antlr.runtime.tree.TreeWizard wiz
        12: .line 1204
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
        13: .line 1203
            astore 4 /* lexerRuleToStringLiteral */
        start local 4 // java.util.List lexerRuleToStringLiteral
        14: .line 1206
            aload 0 /* ast */
            bipush 94
            invokevirtual org.antlr.v4.tool.ast.GrammarRootAST.getNodesWithType:(I)Ljava/util/List;
            astore 5 /* ruleNodes */
        start local 5 // java.util.List ruleNodes
        15: .line 1207
            aload 5 /* ruleNodes */
            ifnull 16
            aload 5 /* ruleNodes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 17
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST java.lang.String[] org.antlr.v4.parse.GrammarASTAdaptor org.antlr.runtime.tree.TreeWizard java.util.List java.util.List
      StackMap stack:
        16: aconst_null
            areturn
        17: .line 1209
      StackMap locals:
      StackMap stack:
            aload 5 /* ruleNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 28
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST java.lang.String[] org.antlr.v4.parse.GrammarASTAdaptor org.antlr.runtime.tree.TreeWizard java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        18: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 6 /* r */
        start local 6 // org.antlr.v4.tool.ast.GrammarAST r
        19: .line 1212
            aload 6 /* r */
            iconst_0
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            astore 8 /* name */
        start local 8 // org.antlr.runtime.tree.Tree name
        20: .line 1213
            aload 8 /* name */
            invokeinterface org.antlr.runtime.tree.Tree.getType:()I
            bipush 66
            if_icmpne 28
        21: .line 1216
            aload 1 /* patterns */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 27
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST java.lang.String[] org.antlr.v4.parse.GrammarASTAdaptor org.antlr.runtime.tree.TreeWizard java.util.List java.util.List org.antlr.v4.tool.ast.GrammarAST java.util.Iterator org.antlr.runtime.tree.Tree top top int int java.lang.String[]
      StackMap stack:
        22: aload 13
            iload 11
            aaload
            astore 10 /* pattern */
        start local 10 // java.lang.String pattern
        23: .line 1218
            aload 6 /* r */
            aload 10 /* pattern */
            aload 3 /* wiz */
            aload 4 /* lexerRuleToStringLiteral */
            invokestatic org.antlr.v4.tool.Grammar.defAlias:(Lorg/antlr/v4/tool/ast/GrammarAST;Ljava/lang/String;Lorg/antlr/runtime/tree/TreeWizard;Ljava/util/List;)Z
        24: .line 1217
            istore 9 /* isLitRule */
        start local 9 // boolean isLitRule
        25: .line 1219
            iload 9 /* isLitRule */
            ifeq 26
            goto 28
        end local 10 // java.lang.String pattern
        end local 9 // boolean isLitRule
        26: .line 1216
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        27: iload 11
            iload 12
            if_icmplt 22
        end local 8 // org.antlr.runtime.tree.Tree name
        end local 6 // org.antlr.v4.tool.ast.GrammarAST r
        28: .line 1209
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST java.lang.String[] org.antlr.v4.parse.GrammarASTAdaptor org.antlr.runtime.tree.TreeWizard java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        29: .line 1224
            aload 4 /* lexerRuleToStringLiteral */
            areturn
        end local 5 // java.util.List ruleNodes
        end local 4 // java.util.List lexerRuleToStringLiteral
        end local 3 // org.antlr.runtime.tree.TreeWizard wiz
        end local 2 // org.antlr.v4.parse.GrammarASTAdaptor adaptor
        end local 1 // java.lang.String[] patterns
        end local 0 // org.antlr.v4.tool.ast.GrammarRootAST ast
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   30     0                       ast  Lorg/antlr/v4/tool/ast/GrammarRootAST;
           10   30     1                  patterns  [Ljava/lang/String;
           11   30     2                   adaptor  Lorg/antlr/v4/parse/GrammarASTAdaptor;
           12   30     3                       wiz  Lorg/antlr/runtime/tree/TreeWizard;
           14   30     4  lexerRuleToStringLiteral  Ljava/util/List<Lorg/antlr/v4/runtime/misc/Pair<Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;>;>;
           15   30     5                 ruleNodes  Ljava/util/List<Lorg/antlr/v4/tool/ast/GrammarAST;>;
           19   28     6                         r  Lorg/antlr/v4/tool/ast/GrammarAST;
           20   28     8                      name  Lorg/antlr/runtime/tree/Tree;
           25   26     9                 isLitRule  Z
           23   26    10                   pattern  Ljava/lang/String;
    Signature: (Lorg/antlr/v4/tool/ast/GrammarRootAST;)Ljava/util/List<Lorg/antlr/v4/runtime/misc/Pair<Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;>;>;
    MethodParameters:
      Name  Flags
      ast   

  protected static boolean defAlias(org.antlr.v4.tool.ast.GrammarAST, java.lang.String, org.antlr.runtime.tree.TreeWizard, java.util.List<org.antlr.v4.runtime.misc.Pair<org.antlr.v4.tool.ast.GrammarAST, org.antlr.v4.tool.ast.GrammarAST>>);
    descriptor: (Lorg/antlr/v4/tool/ast/GrammarAST;Ljava/lang/String;Lorg/antlr/runtime/tree/TreeWizard;Ljava/util/List;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.antlr.v4.tool.ast.GrammarAST r
        start local 1 // java.lang.String pattern
        start local 2 // org.antlr.runtime.tree.TreeWizard wiz
        start local 3 // java.util.List lexerRuleToStringLiteral
         0: .line 1231
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* nodes */
        start local 4 // java.util.HashMap nodes
         1: .line 1232
            aload 2 /* wiz */
            aload 0 /* r */
            aload 1 /* pattern */
            aload 4 /* nodes */
            invokevirtual org.antlr.runtime.tree.TreeWizard.parse:(Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)Z
            ifeq 8
         2: .line 1233
            aload 4 /* nodes */
            ldc "lit"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 5 /* litNode */
        start local 5 // org.antlr.v4.tool.ast.GrammarAST litNode
         3: .line 1234
            aload 4 /* nodes */
            ldc "name"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 6 /* nameNode */
        start local 6 // org.antlr.v4.tool.ast.GrammarAST nameNode
         4: .line 1236
            new org.antlr.v4.runtime.misc.Pair
            dup
            aload 6 /* nameNode */
            aload 5 /* litNode */
            invokespecial org.antlr.v4.runtime.misc.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 1235
            astore 7 /* pair */
        start local 7 // org.antlr.v4.runtime.misc.Pair pair
         6: .line 1237
            aload 3 /* lexerRuleToStringLiteral */
            aload 7 /* pair */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1238
            iconst_1
            ireturn
        end local 7 // org.antlr.v4.runtime.misc.Pair pair
        end local 6 // org.antlr.v4.tool.ast.GrammarAST nameNode
        end local 5 // org.antlr.v4.tool.ast.GrammarAST litNode
         8: .line 1240
      StackMap locals: java.util.HashMap
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.util.HashMap nodes
        end local 3 // java.util.List lexerRuleToStringLiteral
        end local 2 // org.antlr.runtime.tree.TreeWizard wiz
        end local 1 // java.lang.String pattern
        end local 0 // org.antlr.v4.tool.ast.GrammarAST r
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    9     0                         r  Lorg/antlr/v4/tool/ast/GrammarAST;
            0    9     1                   pattern  Ljava/lang/String;
            0    9     2                       wiz  Lorg/antlr/runtime/tree/TreeWizard;
            0    9     3  lexerRuleToStringLiteral  Ljava/util/List<Lorg/antlr/v4/runtime/misc/Pair<Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;>;>;
            1    9     4                     nodes  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
            3    8     5                   litNode  Lorg/antlr/v4/tool/ast/GrammarAST;
            4    8     6                  nameNode  Lorg/antlr/v4/tool/ast/GrammarAST;
            6    8     7                      pair  Lorg/antlr/v4/runtime/misc/Pair<Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;>;
    Signature: (Lorg/antlr/v4/tool/ast/GrammarAST;Ljava/lang/String;Lorg/antlr/runtime/tree/TreeWizard;Ljava/util/List<Lorg/antlr/v4/runtime/misc/Pair<Lorg/antlr/v4/tool/ast/GrammarAST;Lorg/antlr/v4/tool/ast/GrammarAST;>;>;)Z
    MethodParameters:
                          Name  Flags
      r                         
      pattern                   
      wiz                       
      lexerRuleToStringLiteral  

  public java.util.Set<java.lang.String> getStringLiterals();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.antlr.v4.tool.Grammar this
         0: .line 1244
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 1 /* strings */
        start local 1 // java.util.Set strings
         1: .line 1245
            new org.antlr.v4.tool.Grammar$3
            dup
            aload 0 /* this */
            aload 1 /* strings */
            invokespecial org.antlr.v4.tool.Grammar$3.<init>:(Lorg/antlr/v4/tool/Grammar;Ljava/util/Set;)V
            astore 2 /* collector */
        start local 2 // org.antlr.v4.parse.GrammarTreeVisitor collector
         2: .line 1253
            aload 2 /* collector */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            invokevirtual org.antlr.v4.parse.GrammarTreeVisitor.visitGrammar:(Lorg/antlr/v4/tool/ast/GrammarAST;)V
         3: .line 1254
            aload 1 /* strings */
            areturn
        end local 2 // org.antlr.v4.parse.GrammarTreeVisitor collector
        end local 1 // java.util.Set strings
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/v4/tool/Grammar;
            1    4     1    strings  Ljava/util/Set<Ljava/lang/String;>;
            2    4     2  collector  Lorg/antlr/v4/parse/GrammarTreeVisitor;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void setLookaheadDFA(int, org.antlr.v4.runtime.dfa.DFA);
    descriptor: (ILorg/antlr/v4/runtime/dfa/DFA;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int decision
        start local 2 // org.antlr.v4.runtime.dfa.DFA lookaheadDFA
         0: .line 1258
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.decisionDFAs:Ljava/util/Map;
            iload 1 /* decision */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* lookaheadDFA */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1259
            return
        end local 2 // org.antlr.v4.runtime.dfa.DFA lookaheadDFA
        end local 1 // int decision
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/antlr/v4/tool/Grammar;
            0    2     1      decision  I
            0    2     2  lookaheadDFA  Lorg/antlr/v4/runtime/dfa/DFA;
    MethodParameters:
              Name  Flags
      decision      
      lookaheadDFA  

  public static java.util.Map<java.lang.Integer, org.antlr.v4.runtime.misc.Interval> getStateToGrammarRegionMap(org.antlr.v4.tool.ast.GrammarRootAST, org.antlr.v4.runtime.misc.IntervalSet);
    descriptor: (Lorg/antlr/v4/tool/ast/GrammarRootAST;Lorg/antlr/v4/runtime/misc/IntervalSet;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.antlr.v4.tool.ast.GrammarRootAST ast
        start local 1 // org.antlr.v4.runtime.misc.IntervalSet grammarTokenTypes
         0: .line 1262
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* stateToGrammarRegionMap */
        start local 2 // java.util.Map stateToGrammarRegionMap
         1: .line 1263
            aload 0 /* ast */
            ifnonnull 2
            aload 2 /* stateToGrammarRegionMap */
            areturn
         2: .line 1265
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* ast */
            aload 1 /* grammarTokenTypes */
            invokevirtual org.antlr.v4.tool.ast.GrammarRootAST.getNodesWithType:(Lorg/antlr/v4/runtime/misc/IntervalSet;)Ljava/util/List;
            astore 3 /* nodes */
        start local 3 // java.util.List nodes
         3: .line 1266
            aload 3 /* nodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST org.antlr.v4.runtime.misc.IntervalSet java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.tool.ast.GrammarAST
            astore 4 /* n */
        start local 4 // org.antlr.v4.tool.ast.GrammarAST n
         5: .line 1267
            aload 4 /* n */
            getfield org.antlr.v4.tool.ast.GrammarAST.atnState:Lorg/antlr/v4/runtime/atn/ATNState;
            ifnull 19
         6: .line 1268
            aload 4 /* n */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getTokenStartIndex:()I
            aload 4 /* n */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getTokenStopIndex:()I
            invokestatic org.antlr.v4.runtime.misc.Interval.of:(II)Lorg/antlr/v4/runtime/misc/Interval;
            astore 6 /* tokenRegion */
        start local 6 // org.antlr.v4.runtime.misc.Interval tokenRegion
         7: .line 1269
            aconst_null
            astore 7 /* ruleNode */
        start local 7 // org.antlr.runtime.tree.Tree ruleNode
         8: .line 1271
            aload 4 /* n */
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getType:()I
            lookupswitch { // 3
                   78: 11
                   80: 11
                   94: 9
              default: 12
          }
         9: .line 1273
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST org.antlr.v4.runtime.misc.IntervalSet java.util.Map java.util.List org.antlr.v4.tool.ast.GrammarAST java.util.Iterator org.antlr.v4.runtime.misc.Interval org.antlr.runtime.tree.Tree
      StackMap stack:
            aload 4 /* n */
            astore 7 /* ruleNode */
        10: .line 1274
            goto 12
        11: .line 1277
      StackMap locals:
      StackMap stack:
            aload 4 /* n */
            bipush 94
            invokevirtual org.antlr.v4.tool.ast.GrammarAST.getAncestor:(I)Lorg/antlr/runtime/tree/Tree;
            astore 7 /* ruleNode */
        12: .line 1280
      StackMap locals:
      StackMap stack:
            aload 7 /* ruleNode */
            instanceof org.antlr.v4.tool.ast.RuleAST
            ifeq 18
        13: .line 1281
            aload 7 /* ruleNode */
            checkcast org.antlr.v4.tool.ast.RuleAST
            invokevirtual org.antlr.v4.tool.ast.RuleAST.getRuleName:()Ljava/lang/String;
            astore 8 /* ruleName */
        start local 8 // java.lang.String ruleName
        14: .line 1282
            aload 0 /* ast */
            getfield org.antlr.v4.tool.ast.GrammarRootAST.g:Lorg/antlr/v4/tool/Grammar;
            aload 8 /* ruleName */
            invokevirtual org.antlr.v4.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/v4/tool/Rule;
            astore 9 /* r */
        start local 9 // org.antlr.v4.tool.Rule r
        15: .line 1283
            aload 9 /* r */
            instanceof org.antlr.v4.tool.LeftRecursiveRule
            ifeq 18
        16: .line 1284
            aload 9 /* r */
            checkcast org.antlr.v4.tool.LeftRecursiveRule
            invokevirtual org.antlr.v4.tool.LeftRecursiveRule.getOriginalAST:()Lorg/antlr/v4/tool/ast/RuleAST;
            astore 10 /* originalAST */
        start local 10 // org.antlr.v4.tool.ast.RuleAST originalAST
        17: .line 1285
            aload 10 /* originalAST */
            invokevirtual org.antlr.v4.tool.ast.RuleAST.getTokenStartIndex:()I
            aload 10 /* originalAST */
            invokevirtual org.antlr.v4.tool.ast.RuleAST.getTokenStopIndex:()I
            invokestatic org.antlr.v4.runtime.misc.Interval.of:(II)Lorg/antlr/v4/runtime/misc/Interval;
            astore 6 /* tokenRegion */
        end local 10 // org.antlr.v4.tool.ast.RuleAST originalAST
        end local 9 // org.antlr.v4.tool.Rule r
        end local 8 // java.lang.String ruleName
        18: .line 1288
      StackMap locals:
      StackMap stack:
            aload 2 /* stateToGrammarRegionMap */
            aload 4 /* n */
            getfield org.antlr.v4.tool.ast.GrammarAST.atnState:Lorg/antlr/v4/runtime/atn/ATNState;
            getfield org.antlr.v4.runtime.atn.ATNState.stateNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 6 /* tokenRegion */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.antlr.runtime.tree.Tree ruleNode
        end local 6 // org.antlr.v4.runtime.misc.Interval tokenRegion
        end local 4 // org.antlr.v4.tool.ast.GrammarAST n
        19: .line 1266
      StackMap locals: org.antlr.v4.tool.ast.GrammarRootAST org.antlr.v4.runtime.misc.IntervalSet java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        20: .line 1291
            aload 2 /* stateToGrammarRegionMap */
            areturn
        end local 3 // java.util.List nodes
        end local 2 // java.util.Map stateToGrammarRegionMap
        end local 1 // org.antlr.v4.runtime.misc.IntervalSet grammarTokenTypes
        end local 0 // org.antlr.v4.tool.ast.GrammarRootAST ast
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   21     0                      ast  Lorg/antlr/v4/tool/ast/GrammarRootAST;
            0   21     1        grammarTokenTypes  Lorg/antlr/v4/runtime/misc/IntervalSet;
            1   21     2  stateToGrammarRegionMap  Ljava/util/Map<Ljava/lang/Integer;Lorg/antlr/v4/runtime/misc/Interval;>;
            3   21     3                    nodes  Ljava/util/List<Lorg/antlr/v4/tool/ast/GrammarAST;>;
            5   19     4                        n  Lorg/antlr/v4/tool/ast/GrammarAST;
            7   19     6              tokenRegion  Lorg/antlr/v4/runtime/misc/Interval;
            8   19     7                 ruleNode  Lorg/antlr/runtime/tree/Tree;
           14   18     8                 ruleName  Ljava/lang/String;
           15   18     9                        r  Lorg/antlr/v4/tool/Rule;
           17   18    10              originalAST  Lorg/antlr/v4/tool/ast/RuleAST;
    Signature: (Lorg/antlr/v4/tool/ast/GrammarRootAST;Lorg/antlr/v4/runtime/misc/IntervalSet;)Ljava/util/Map<Ljava/lang/Integer;Lorg/antlr/v4/runtime/misc/Interval;>;
    MethodParameters:
                   Name  Flags
      ast                
      grammarTokenTypes  

  public org.antlr.v4.runtime.misc.Interval getStateToGrammarRegion(int);
    descriptor: (I)Lorg/antlr/v4/runtime/misc/Interval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // int atnStateNumber
         0: .line 1296
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stateToGrammarRegionMap:Ljava/util/Map;
            ifnonnull 2
         1: .line 1297
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.ast:Lorg/antlr/v4/tool/ast/GrammarRootAST;
            aconst_null
            invokestatic org.antlr.v4.tool.Grammar.getStateToGrammarRegionMap:(Lorg/antlr/v4/tool/ast/GrammarRootAST;Lorg/antlr/v4/runtime/misc/IntervalSet;)Ljava/util/Map;
            putfield org.antlr.v4.tool.Grammar.stateToGrammarRegionMap:Ljava/util/Map;
         2: .line 1299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stateToGrammarRegionMap:Ljava/util/Map;
            ifnonnull 3
            getstatic org.antlr.v4.runtime.misc.Interval.INVALID:Lorg/antlr/v4/runtime/misc/Interval;
            areturn
         3: .line 1301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.stateToGrammarRegionMap:Ljava/util/Map;
            iload 1 /* atnStateNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.misc.Interval
            areturn
        end local 1 // int atnStateNumber
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/antlr/v4/tool/Grammar;
            0    4     1  atnStateNumber  I
    MethodParameters:
                Name  Flags
      atnStateNumber  

  public org.antlr.v4.runtime.LexerInterpreter createLexerInterpreter(org.antlr.v4.runtime.CharStream);
    descriptor: (Lorg/antlr/v4/runtime/CharStream;)Lorg/antlr/v4/runtime/LexerInterpreter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.CharStream input
         0: .line 1305
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isParser:()Z
            ifeq 2
         1: .line 1306
            new java.lang.IllegalStateException
            dup
            ldc "A lexer interpreter can only be created for a lexer or combined grammar."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isCombined:()Z
            ifeq 4
         3: .line 1310
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.implicitLexer:Lorg/antlr/v4/tool/LexerGrammar;
            aload 1 /* input */
            invokevirtual org.antlr.v4.tool.LexerGrammar.createLexerInterpreter:(Lorg/antlr/v4/runtime/CharStream;)Lorg/antlr/v4/runtime/LexerInterpreter;
            areturn
         4: .line 1313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
            invokestatic org.antlr.v4.runtime.atn.ATNSerializer.getSerializedAsChars:(Lorg/antlr/v4/runtime/atn/ATN;)[C
            astore 2 /* serializedAtn */
        start local 2 // char[] serializedAtn
         5: .line 1314
            new org.antlr.v4.runtime.atn.ATNDeserializer
            dup
            invokespecial org.antlr.v4.runtime.atn.ATNDeserializer.<init>:()V
            aload 2 /* serializedAtn */
            invokevirtual org.antlr.v4.runtime.atn.ATNDeserializer.deserialize:([C)Lorg/antlr/v4/runtime/atn/ATN;
            astore 3 /* deserialized */
        start local 3 // org.antlr.v4.runtime.atn.ATN deserialized
         6: .line 1315
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allChannels */
        start local 4 // java.util.List allChannels
         7: .line 1316
            aload 4 /* allChannels */
            ldc "DEFAULT_TOKEN_CHANNEL"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1317
            aload 4 /* allChannels */
            ldc "HIDDEN"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1318
            aload 4 /* allChannels */
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.channelValueToNameList:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 1319
            new org.antlr.v4.runtime.LexerInterpreter
            dup
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.fileName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getVocabulary:()Lorg/antlr/v4/runtime/Vocabulary;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getRuleNames:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 4 /* allChannels */
            aload 0 /* this */
            checkcast org.antlr.v4.tool.LexerGrammar
            getfield org.antlr.v4.tool.LexerGrammar.modes:Lorg/antlr/v4/runtime/misc/MultiMap;
            invokevirtual org.antlr.v4.runtime.misc.MultiMap.keySet:()Ljava/util/Set;
            aload 3 /* deserialized */
            aload 1 /* input */
            invokespecial org.antlr.v4.runtime.LexerInterpreter.<init>:(Ljava/lang/String;Lorg/antlr/v4/runtime/Vocabulary;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Lorg/antlr/v4/runtime/atn/ATN;Lorg/antlr/v4/runtime/CharStream;)V
            areturn
        end local 4 // java.util.List allChannels
        end local 3 // org.antlr.v4.runtime.atn.ATN deserialized
        end local 2 // char[] serializedAtn
        end local 1 // org.antlr.v4.runtime.CharStream input
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/antlr/v4/tool/Grammar;
            0   11     1          input  Lorg/antlr/v4/runtime/CharStream;
            5   11     2  serializedAtn  [C
            6   11     3   deserialized  Lorg/antlr/v4/runtime/atn/ATN;
            7   11     4    allChannels  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      input  

  public org.antlr.v4.tool.GrammarParserInterpreter createGrammarParserInterpreter(org.antlr.v4.runtime.TokenStream);
    descriptor: (Lorg/antlr/v4/runtime/TokenStream;)Lorg/antlr/v4/tool/GrammarParserInterpreter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.TokenStream tokenStream
         0: .line 1324
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 2
         1: .line 1325
            new java.lang.IllegalStateException
            dup
            ldc "A parser interpreter can only be created for a parser or combined grammar."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
            invokestatic org.antlr.v4.runtime.atn.ATNSerializer.getSerializedAsChars:(Lorg/antlr/v4/runtime/atn/ATN;)[C
            astore 2 /* serializedAtn */
        start local 2 // char[] serializedAtn
         3: .line 1328
            new org.antlr.v4.runtime.atn.ATNDeserializer
            dup
            invokespecial org.antlr.v4.runtime.atn.ATNDeserializer.<init>:()V
            aload 2 /* serializedAtn */
            invokevirtual org.antlr.v4.runtime.atn.ATNDeserializer.deserialize:([C)Lorg/antlr/v4/runtime/atn/ATN;
            astore 3 /* deserialized */
        start local 3 // org.antlr.v4.runtime.atn.ATN deserialized
         4: .line 1329
            new org.antlr.v4.tool.GrammarParserInterpreter
            dup
            aload 0 /* this */
            aload 3 /* deserialized */
            aload 1 /* tokenStream */
            invokespecial org.antlr.v4.tool.GrammarParserInterpreter.<init>:(Lorg/antlr/v4/tool/Grammar;Lorg/antlr/v4/runtime/atn/ATN;Lorg/antlr/v4/runtime/TokenStream;)V
            areturn
        end local 3 // org.antlr.v4.runtime.atn.ATN deserialized
        end local 2 // char[] serializedAtn
        end local 1 // org.antlr.v4.runtime.TokenStream tokenStream
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/antlr/v4/tool/Grammar;
            0    5     1    tokenStream  Lorg/antlr/v4/runtime/TokenStream;
            3    5     2  serializedAtn  [C
            4    5     3   deserialized  Lorg/antlr/v4/runtime/atn/ATN;
    MethodParameters:
             Name  Flags
      tokenStream  

  public org.antlr.v4.runtime.ParserInterpreter createParserInterpreter(org.antlr.v4.runtime.TokenStream);
    descriptor: (Lorg/antlr/v4/runtime/TokenStream;)Lorg/antlr/v4/runtime/ParserInterpreter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.antlr.v4.tool.Grammar this
        start local 1 // org.antlr.v4.runtime.TokenStream tokenStream
         0: .line 1333
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.isLexer:()Z
            ifeq 2
         1: .line 1334
            new java.lang.IllegalStateException
            dup
            ldc "A parser interpreter can only be created for a parser or combined grammar."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.atn:Lorg/antlr/v4/runtime/atn/ATN;
            invokestatic org.antlr.v4.runtime.atn.ATNSerializer.getSerializedAsChars:(Lorg/antlr/v4/runtime/atn/ATN;)[C
            astore 2 /* serializedAtn */
        start local 2 // char[] serializedAtn
         3: .line 1338
            new org.antlr.v4.runtime.atn.ATNDeserializer
            dup
            invokespecial org.antlr.v4.runtime.atn.ATNDeserializer.<init>:()V
            aload 2 /* serializedAtn */
            invokevirtual org.antlr.v4.runtime.atn.ATNDeserializer.deserialize:([C)Lorg/antlr/v4/runtime/atn/ATN;
            astore 3 /* deserialized */
        start local 3 // org.antlr.v4.runtime.atn.ATN deserialized
         4: .line 1339
            new org.antlr.v4.runtime.ParserInterpreter
            dup
            aload 0 /* this */
            getfield org.antlr.v4.tool.Grammar.fileName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getVocabulary:()Lorg/antlr/v4/runtime/Vocabulary;
            aload 0 /* this */
            invokevirtual org.antlr.v4.tool.Grammar.getRuleNames:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* deserialized */
            aload 1 /* tokenStream */
            invokespecial org.antlr.v4.runtime.ParserInterpreter.<init>:(Ljava/lang/String;Lorg/antlr/v4/runtime/Vocabulary;Ljava/util/Collection;Lorg/antlr/v4/runtime/atn/ATN;Lorg/antlr/v4/runtime/TokenStream;)V
            areturn
        end local 3 // org.antlr.v4.runtime.atn.ATN deserialized
        end local 2 // char[] serializedAtn
        end local 1 // org.antlr.v4.runtime.TokenStream tokenStream
        end local 0 // org.antlr.v4.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/antlr/v4/tool/Grammar;
            0    5     1    tokenStream  Lorg/antlr/v4/runtime/TokenStream;
            3    5     2  serializedAtn  [C
            4    5     3   deserialized  Lorg/antlr/v4/runtime/atn/ATN;
    MethodParameters:
             Name  Flags
      tokenStream  
}
SourceFile: "Grammar.java"
NestMembers:
  org.antlr.v4.tool.Grammar$1  org.antlr.v4.tool.Grammar$2  org.antlr.v4.tool.Grammar$3
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public AND = org.antlr.v4.runtime.atn.SemanticContext$AND of org.antlr.v4.runtime.atn.SemanticContext
  public OR = org.antlr.v4.runtime.atn.SemanticContext$OR of org.antlr.v4.runtime.atn.SemanticContext
  public abstract Operator = org.antlr.v4.runtime.atn.SemanticContext$Operator of org.antlr.v4.runtime.atn.SemanticContext
  public Predicate = org.antlr.v4.runtime.atn.SemanticContext$Predicate of org.antlr.v4.runtime.atn.SemanticContext
  org.antlr.v4.tool.Grammar$1
  org.antlr.v4.tool.Grammar$2
  org.antlr.v4.tool.Grammar$3