public class org.antlr.v4.runtime.VocabularyImpl implements org.antlr.v4.runtime.Vocabulary
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.runtime.VocabularyImpl
  super_class: java.lang.Object
{
  private static final java.lang.String[] EMPTY_NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.antlr.v4.runtime.VocabularyImpl EMPTY_VOCABULARY;
    descriptor: Lorg/antlr/v4/runtime/VocabularyImpl;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.lang.String[] literalNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] symbolicNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] displayNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxTokenType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 17
            iconst_0
            anewarray java.lang.String
            putstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
         1: .line 27
            new org.antlr.v4.runtime.VocabularyImpl
            dup
            getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
            getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
            getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
            invokespecial org.antlr.v4.runtime.VocabularyImpl.<init>:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            putstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_VOCABULARY:Lorg/antlr/v4/runtime/VocabularyImpl;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.runtime.VocabularyImpl this
        start local 1 // java.lang.String[] literalNames
        start local 2 // java.lang.String[] symbolicNames
         0: .line 51
            aload 0 /* this */
            aload 1 /* literalNames */
            aload 2 /* symbolicNames */
            aconst_null
            invokespecial org.antlr.v4.runtime.VocabularyImpl.<init>:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
         1: .line 52
            return
        end local 2 // java.lang.String[] symbolicNames
        end local 1 // java.lang.String[] literalNames
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/antlr/v4/runtime/VocabularyImpl;
            0    2     1   literalNames  [Ljava/lang/String;
            0    2     2  symbolicNames  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      literalNames   
      symbolicNames  

  public void <init>(java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.antlr.v4.runtime.VocabularyImpl this
        start local 1 // java.lang.String[] literalNames
        start local 2 // java.lang.String[] symbolicNames
        start local 3 // java.lang.String[] displayNames
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            aload 1 /* literalNames */
            ifnull 2
            aload 1 /* literalNames */
            goto 3
      StackMap locals: org.antlr.v4.runtime.VocabularyImpl java.lang.String[] java.lang.String[] java.lang.String[]
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl
         2: getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
      StackMap locals: org.antlr.v4.runtime.VocabularyImpl java.lang.String[] java.lang.String[] java.lang.String[]
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl java.lang.String[]
         3: putfield org.antlr.v4.runtime.VocabularyImpl.literalNames:[Ljava/lang/String;
         4: .line 73
            aload 0 /* this */
            aload 2 /* symbolicNames */
            ifnull 5
            aload 2 /* symbolicNames */
            goto 6
      StackMap locals:
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl
         5: getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
      StackMap locals: org.antlr.v4.runtime.VocabularyImpl java.lang.String[] java.lang.String[] java.lang.String[]
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl java.lang.String[]
         6: putfield org.antlr.v4.runtime.VocabularyImpl.symbolicNames:[Ljava/lang/String;
         7: .line 74
            aload 0 /* this */
            aload 3 /* displayNames */
            ifnull 8
            aload 3 /* displayNames */
            goto 9
      StackMap locals:
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl
         8: getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_NAMES:[Ljava/lang/String;
      StackMap locals: org.antlr.v4.runtime.VocabularyImpl java.lang.String[] java.lang.String[] java.lang.String[]
      StackMap stack: org.antlr.v4.runtime.VocabularyImpl java.lang.String[]
         9: putfield org.antlr.v4.runtime.VocabularyImpl.displayNames:[Ljava/lang/String;
        10: .line 76
            aload 0 /* this */
        11: .line 77
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.displayNames:[Ljava/lang/String;
            arraylength
        12: .line 78
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.literalNames:[Ljava/lang/String;
            arraylength
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.symbolicNames:[Ljava/lang/String;
            arraylength
            invokestatic java.lang.Math.max:(II)I
        13: .line 77
            invokestatic java.lang.Math.max:(II)I
        14: .line 78
            iconst_1
        15: .line 77
            isub
        16: .line 76
            putfield org.antlr.v4.runtime.VocabularyImpl.maxTokenType:I
        17: .line 79
            return
        end local 3 // java.lang.String[] displayNames
        end local 2 // java.lang.String[] symbolicNames
        end local 1 // java.lang.String[] literalNames
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/antlr/v4/runtime/VocabularyImpl;
            0   18     1   literalNames  [Ljava/lang/String;
            0   18     2  symbolicNames  [Ljava/lang/String;
            0   18     3   displayNames  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      literalNames   
      symbolicNames  
      displayNames   

  public static org.antlr.v4.runtime.Vocabulary fromTokenNames(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lorg/antlr/v4/runtime/Vocabulary;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.String[] tokenNames
         0: .line 96
            aload 0 /* tokenNames */
            ifnull 1
            aload 0 /* tokenNames */
            arraylength
            ifne 2
         1: .line 97
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_VOCABULARY:Lorg/antlr/v4/runtime/VocabularyImpl;
            areturn
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* tokenNames */
            aload 0 /* tokenNames */
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* literalNames */
        start local 1 // java.lang.String[] literalNames
         3: .line 101
            aload 0 /* tokenNames */
            aload 0 /* tokenNames */
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* symbolicNames */
        start local 2 // java.lang.String[] symbolicNames
         4: .line 102
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 20
         6: .line 103
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 0 /* tokenNames */
            iload 3 /* i */
            aaload
            astore 4 /* tokenName */
        start local 4 // java.lang.String tokenName
         7: .line 104
            aload 4 /* tokenName */
            ifnonnull 9
         8: .line 105
            goto 19
         9: .line 108
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* tokenName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 17
        10: .line 109
            aload 4 /* tokenName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* firstChar */
        start local 5 // char firstChar
        11: .line 110
            iload 5 /* firstChar */
            bipush 39
            if_icmpne 14
        12: .line 111
            aload 2 /* symbolicNames */
            iload 3 /* i */
            aconst_null
            aastore
        13: .line 112
            goto 19
        14: .line 114
      StackMap locals: int
      StackMap stack:
            iload 5 /* firstChar */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 17
        15: .line 115
            aload 1 /* literalNames */
            iload 3 /* i */
            aconst_null
            aastore
        16: .line 116
            goto 19
        end local 5 // char firstChar
        17: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* literalNames */
            iload 3 /* i */
            aconst_null
            aastore
        18: .line 122
            aload 2 /* symbolicNames */
            iload 3 /* i */
            aconst_null
            aastore
        end local 4 // java.lang.String tokenName
        19: .line 102
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 0 /* tokenNames */
            arraylength
            if_icmplt 6
        end local 3 // int i
        21: .line 125
            new org.antlr.v4.runtime.VocabularyImpl
            dup
            aload 1 /* literalNames */
            aload 2 /* symbolicNames */
            aload 0 /* tokenNames */
            invokespecial org.antlr.v4.runtime.VocabularyImpl.<init>:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String[] symbolicNames
        end local 1 // java.lang.String[] literalNames
        end local 0 // java.lang.String[] tokenNames
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0     tokenNames  [Ljava/lang/String;
            3   22     1   literalNames  [Ljava/lang/String;
            4   22     2  symbolicNames  [Ljava/lang/String;
            5   21     3              i  I
            7   19     4      tokenName  Ljava/lang/String;
           11   17     5      firstChar  C
    MethodParameters:
            Name  Flags
      tokenNames  

  public int getMaxTokenType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.VocabularyImpl this
         0: .line 130
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.maxTokenType:I
            ireturn
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/VocabularyImpl;

  public java.lang.String getLiteralName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.VocabularyImpl this
        start local 1 // int tokenType
         0: .line 135
            iload 1 /* tokenType */
            iflt 2
            iload 1 /* tokenType */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.literalNames:[Ljava/lang/String;
            arraylength
            if_icmpge 2
         1: .line 136
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.literalNames:[Ljava/lang/String;
            iload 1 /* tokenType */
            aaload
            areturn
         2: .line 139
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int tokenType
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/antlr/v4/runtime/VocabularyImpl;
            0    3     1  tokenType  I
    MethodParameters:
           Name  Flags
      tokenType  

  public java.lang.String getSymbolicName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.VocabularyImpl this
        start local 1 // int tokenType
         0: .line 144
            iload 1 /* tokenType */
            iflt 2
            iload 1 /* tokenType */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.symbolicNames:[Ljava/lang/String;
            arraylength
            if_icmpge 2
         1: .line 145
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.symbolicNames:[Ljava/lang/String;
            iload 1 /* tokenType */
            aaload
            areturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            iload 1 /* tokenType */
            iconst_m1
            if_icmpne 4
         3: .line 149
            ldc "EOF"
            areturn
         4: .line 152
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int tokenType
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/antlr/v4/runtime/VocabularyImpl;
            0    5     1  tokenType  I
    MethodParameters:
           Name  Flags
      tokenType  

  public java.lang.String getDisplayName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.v4.runtime.VocabularyImpl this
        start local 1 // int tokenType
         0: .line 157
            iload 1 /* tokenType */
            iflt 4
            iload 1 /* tokenType */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.displayNames:[Ljava/lang/String;
            arraylength
            if_icmpge 4
         1: .line 158
            aload 0 /* this */
            getfield org.antlr.v4.runtime.VocabularyImpl.displayNames:[Ljava/lang/String;
            iload 1 /* tokenType */
            aaload
            astore 2 /* displayName */
        start local 2 // java.lang.String displayName
         2: .line 159
            aload 2 /* displayName */
            ifnull 4
         3: .line 160
            aload 2 /* displayName */
            areturn
        end local 2 // java.lang.String displayName
         4: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tokenType */
            invokevirtual org.antlr.v4.runtime.VocabularyImpl.getLiteralName:(I)Ljava/lang/String;
            astore 2 /* literalName */
        start local 2 // java.lang.String literalName
         5: .line 165
            aload 2 /* literalName */
            ifnull 7
         6: .line 166
            aload 2 /* literalName */
            areturn
         7: .line 169
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tokenType */
            invokevirtual org.antlr.v4.runtime.VocabularyImpl.getSymbolicName:(I)Ljava/lang/String;
            astore 3 /* symbolicName */
        start local 3 // java.lang.String symbolicName
         8: .line 170
            aload 3 /* symbolicName */
            ifnull 10
         9: .line 171
            aload 3 /* symbolicName */
            areturn
        10: .line 174
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* tokenType */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String symbolicName
        end local 2 // java.lang.String literalName
        end local 1 // int tokenType
        end local 0 // org.antlr.v4.runtime.VocabularyImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/antlr/v4/runtime/VocabularyImpl;
            0   11     1     tokenType  I
            2    4     2   displayName  Ljava/lang/String;
            5   11     2   literalName  Ljava/lang/String;
            8   11     3  symbolicName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      tokenType  
}
SourceFile: "VocabularyImpl.java"