public class org.antlr.v4.runtime.dfa.DFA
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.runtime.dfa.DFA
  super_class: java.lang.Object
{
  public final java.util.Map<org.antlr.v4.runtime.dfa.DFAState, org.antlr.v4.runtime.dfa.DFAState> states;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/antlr/v4/runtime/dfa/DFAState;Lorg/antlr/v4/runtime/dfa/DFAState;>;

  public volatile org.antlr.v4.runtime.dfa.DFAState s0;
    descriptor: Lorg/antlr/v4/runtime/dfa/DFAState;
    flags: (0x0041) ACC_PUBLIC, ACC_VOLATILE

  public final int decision;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.antlr.v4.runtime.atn.DecisionState atnStartState;
    descriptor: Lorg/antlr/v4/runtime/atn/DecisionState;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final boolean precedenceDfa;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.antlr.v4.runtime.atn.DecisionState);
    descriptor: (Lorg/antlr/v4/runtime/atn/DecisionState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // org.antlr.v4.runtime.atn.DecisionState atnStartState
         0: .line 46
            aload 0 /* this */
            aload 1 /* atnStartState */
            iconst_0
            invokespecial org.antlr.v4.runtime.dfa.DFA.<init>:(Lorg/antlr/v4/runtime/atn/DecisionState;I)V
         1: .line 47
            return
        end local 1 // org.antlr.v4.runtime.atn.DecisionState atnStartState
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/antlr/v4/runtime/dfa/DFA;
            0    2     1  atnStartState  Lorg/antlr/v4/runtime/atn/DecisionState;
    MethodParameters:
               Name  Flags
      atnStartState  

  public void <init>(org.antlr.v4.runtime.atn.DecisionState, int);
    descriptor: (Lorg/antlr/v4/runtime/atn/DecisionState;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // org.antlr.v4.runtime.atn.DecisionState atnStartState
        start local 2 // int decision
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.v4.runtime.dfa.DFA.states:Ljava/util/Map;
         2: .line 50
            aload 0 /* this */
            aload 1 /* atnStartState */
            putfield org.antlr.v4.runtime.dfa.DFA.atnStartState:Lorg/antlr/v4/runtime/atn/DecisionState;
         3: .line 51
            aload 0 /* this */
            iload 2 /* decision */
            putfield org.antlr.v4.runtime.dfa.DFA.decision:I
         4: .line 53
            iconst_0
            istore 3 /* precedenceDfa */
        start local 3 // boolean precedenceDfa
         5: .line 54
            aload 1 /* atnStartState */
            instanceof org.antlr.v4.runtime.atn.StarLoopEntryState
            ifeq 13
         6: .line 55
            aload 1 /* atnStartState */
            checkcast org.antlr.v4.runtime.atn.StarLoopEntryState
            getfield org.antlr.v4.runtime.atn.StarLoopEntryState.isPrecedenceDecision:Z
            ifeq 13
         7: .line 56
            iconst_1
            istore 3 /* precedenceDfa */
         8: .line 57
            new org.antlr.v4.runtime.dfa.DFAState
            dup
            new org.antlr.v4.runtime.atn.ATNConfigSet
            dup
            invokespecial org.antlr.v4.runtime.atn.ATNConfigSet.<init>:()V
            invokespecial org.antlr.v4.runtime.dfa.DFAState.<init>:(Lorg/antlr/v4/runtime/atn/ATNConfigSet;)V
            astore 4 /* precedenceState */
        start local 4 // org.antlr.v4.runtime.dfa.DFAState precedenceState
         9: .line 58
            aload 4 /* precedenceState */
            iconst_0
            anewarray org.antlr.v4.runtime.dfa.DFAState
            putfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
        10: .line 59
            aload 4 /* precedenceState */
            iconst_0
            putfield org.antlr.v4.runtime.dfa.DFAState.isAcceptState:Z
        11: .line 60
            aload 4 /* precedenceState */
            iconst_0
            putfield org.antlr.v4.runtime.dfa.DFAState.requiresFullContext:Z
        12: .line 61
            aload 0 /* this */
            aload 4 /* precedenceState */
            putfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
        end local 4 // org.antlr.v4.runtime.dfa.DFAState precedenceState
        13: .line 65
      StackMap locals: org.antlr.v4.runtime.dfa.DFA org.antlr.v4.runtime.atn.DecisionState int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* precedenceDfa */
            putfield org.antlr.v4.runtime.dfa.DFA.precedenceDfa:Z
        14: .line 66
            return
        end local 3 // boolean precedenceDfa
        end local 2 // int decision
        end local 1 // org.antlr.v4.runtime.atn.DecisionState atnStartState
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/antlr/v4/runtime/dfa/DFA;
            0   15     1    atnStartState  Lorg/antlr/v4/runtime/atn/DecisionState;
            0   15     2         decision  I
            5   15     3    precedenceDfa  Z
            9   13     4  precedenceState  Lorg/antlr/v4/runtime/dfa/DFAState;
    MethodParameters:
               Name  Flags
      atnStartState  
      decision       

  public final boolean isPrecedenceDfa();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
         0: .line 80
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.precedenceDfa:Z
            ireturn
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/dfa/DFA;

  public final org.antlr.v4.runtime.dfa.DFAState getPrecedenceStartState(int);
    descriptor: (I)Lorg/antlr/v4/runtime/dfa/DFAState;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // int precedence
         0: .line 95
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.dfa.DFA.isPrecedenceDfa:()Z
            ifne 2
         1: .line 96
            new java.lang.IllegalStateException
            dup
            ldc "Only precedence DFAs may contain a precedence start state."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 100
      StackMap locals:
      StackMap stack:
            iload 1 /* precedence */
            iflt 3
            iload 1 /* precedence */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            getfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
            arraylength
            if_icmplt 4
         3: .line 101
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            getfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
            iload 1 /* precedence */
            aaload
            areturn
        end local 1 // int precedence
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/antlr/v4/runtime/dfa/DFA;
            0    5     1  precedence  I
    MethodParameters:
            Name  Flags
      precedence  

  public final void setPrecedenceStartState(int, org.antlr.v4.runtime.dfa.DFAState);
    descriptor: (ILorg/antlr/v4/runtime/dfa/DFAState;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // int precedence
        start local 2 // org.antlr.v4.runtime.dfa.DFAState startState
         0: .line 119
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.dfa.DFA.isPrecedenceDfa:()Z
            ifne 2
         1: .line 120
            new java.lang.IllegalStateException
            dup
            ldc "Only precedence DFAs may contain a precedence start state."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 123
      StackMap locals:
      StackMap stack:
            iload 1 /* precedence */
            ifge 4
         3: .line 124
            return
         4: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            dup
            astore 3
            monitorenter
         5: .line 131
            iload 1 /* precedence */
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            getfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
            arraylength
            if_icmplt 7
         6: .line 132
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            getfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
            iload 1 /* precedence */
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.dfa.DFAState[]
            putfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
         7: .line 135
      StackMap locals: org.antlr.v4.runtime.dfa.DFAState
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            getfield org.antlr.v4.runtime.dfa.DFAState.edges:[Lorg/antlr/v4/runtime/dfa/DFAState;
            iload 1 /* precedence */
            aload 2 /* startState */
            aastore
         8: .line 129
            aload 3
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        12: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.antlr.v4.runtime.dfa.DFAState startState
        end local 1 // int precedence
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/antlr/v4/runtime/dfa/DFA;
            0   13     1  precedence  I
            0   13     2  startState  Lorg/antlr/v4/runtime/dfa/DFAState;
      Exception table:
        from    to  target  type
           5     9      10  any
          10    11      10  any
    MethodParameters:
            Name  Flags
      precedence  
      startState  

  public final void setPrecedenceDfa(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // boolean precedenceDfa
         0: .line 152
            iload 1 /* precedenceDfa */
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.dfa.DFA.isPrecedenceDfa:()Z
            if_icmpeq 2
         1: .line 153
            new java.lang.UnsupportedOperationException
            dup
            ldc "The precedenceDfa field cannot change after a DFA is constructed."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean precedenceDfa
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/antlr/v4/runtime/dfa/DFA;
            0    3     1  precedenceDfa  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      precedenceDfa  

  public java.util.List<org.antlr.v4.runtime.dfa.DFAState> getStates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
         0: .line 162
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.states:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 163
            aload 1 /* result */
            new org.antlr.v4.runtime.dfa.DFA$1
            dup
            aload 0 /* this */
            invokespecial org.antlr.v4.runtime.dfa.DFA$1.<init>:(Lorg/antlr/v4/runtime/dfa/DFA;)V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         2: .line 170
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/antlr/v4/runtime/dfa/DFA;
            1    3     1  result  Ljava/util/List<Lorg/antlr/v4/runtime/dfa/DFAState;>;
    Signature: ()Ljava/util/List<Lorg/antlr/v4/runtime/dfa/DFAState;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
         0: .line 174
            aload 0 /* this */
            getstatic org.antlr.v4.runtime.VocabularyImpl.EMPTY_VOCABULARY:Lorg/antlr/v4/runtime/VocabularyImpl;
            invokevirtual org.antlr.v4.runtime.dfa.DFA.toString:(Lorg/antlr/v4/runtime/Vocabulary;)Ljava/lang/String;
            areturn
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/dfa/DFA;

  public java.lang.String toString(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // java.lang.String[] tokenNames
         0: .line 181
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            ifnonnull 1
            ldc ""
            areturn
         1: .line 182
      StackMap locals:
      StackMap stack:
            new org.antlr.v4.runtime.dfa.DFASerializer
            dup
            aload 0 /* this */
            aload 1 /* tokenNames */
            invokespecial org.antlr.v4.runtime.dfa.DFASerializer.<init>:(Lorg/antlr/v4/runtime/dfa/DFA;[Ljava/lang/String;)V
            astore 2 /* serializer */
        start local 2 // org.antlr.v4.runtime.dfa.DFASerializer serializer
         2: .line 183
            aload 2 /* serializer */
            invokevirtual org.antlr.v4.runtime.dfa.DFASerializer.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.runtime.dfa.DFASerializer serializer
        end local 1 // java.lang.String[] tokenNames
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/antlr/v4/runtime/dfa/DFA;
            0    3     1  tokenNames  [Ljava/lang/String;
            2    3     2  serializer  Lorg/antlr/v4/runtime/dfa/DFASerializer;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      tokenNames  

  public java.lang.String toString(org.antlr.v4.runtime.Vocabulary);
    descriptor: (Lorg/antlr/v4/runtime/Vocabulary;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
        start local 1 // org.antlr.v4.runtime.Vocabulary vocabulary
         0: .line 187
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            ifnonnull 2
         1: .line 188
            ldc ""
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            new org.antlr.v4.runtime.dfa.DFASerializer
            dup
            aload 0 /* this */
            aload 1 /* vocabulary */
            invokespecial org.antlr.v4.runtime.dfa.DFASerializer.<init>:(Lorg/antlr/v4/runtime/dfa/DFA;Lorg/antlr/v4/runtime/Vocabulary;)V
            astore 2 /* serializer */
        start local 2 // org.antlr.v4.runtime.dfa.DFASerializer serializer
         3: .line 192
            aload 2 /* serializer */
            invokevirtual org.antlr.v4.runtime.dfa.DFASerializer.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.antlr.v4.runtime.dfa.DFASerializer serializer
        end local 1 // org.antlr.v4.runtime.Vocabulary vocabulary
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/antlr/v4/runtime/dfa/DFA;
            0    4     1  vocabulary  Lorg/antlr/v4/runtime/Vocabulary;
            3    4     2  serializer  Lorg/antlr/v4/runtime/dfa/DFASerializer;
    MethodParameters:
            Name  Flags
      vocabulary  

  public java.lang.String toLexerString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.antlr.v4.runtime.dfa.DFA this
         0: .line 196
            aload 0 /* this */
            getfield org.antlr.v4.runtime.dfa.DFA.s0:Lorg/antlr/v4/runtime/dfa/DFAState;
            ifnonnull 1
            ldc ""
            areturn
         1: .line 197
      StackMap locals:
      StackMap stack:
            new org.antlr.v4.runtime.dfa.LexerDFASerializer
            dup
            aload 0 /* this */
            invokespecial org.antlr.v4.runtime.dfa.LexerDFASerializer.<init>:(Lorg/antlr/v4/runtime/dfa/DFA;)V
            astore 1 /* serializer */
        start local 1 // org.antlr.v4.runtime.dfa.DFASerializer serializer
         2: .line 198
            aload 1 /* serializer */
            invokevirtual org.antlr.v4.runtime.dfa.DFASerializer.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.antlr.v4.runtime.dfa.DFASerializer serializer
        end local 0 // org.antlr.v4.runtime.dfa.DFA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/antlr/v4/runtime/dfa/DFA;
            2    3     1  serializer  Lorg/antlr/v4/runtime/dfa/DFASerializer;
}
SourceFile: "DFA.java"
NestMembers:
  org.antlr.v4.runtime.dfa.DFA$1
InnerClasses:
  org.antlr.v4.runtime.dfa.DFA$1