public class org.antlr.runtime.debug.ParseTreeBuilder extends org.antlr.runtime.debug.BlankDebugEventListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.runtime.debug.ParseTreeBuilder
  super_class: org.antlr.runtime.debug.BlankDebugEventListener
{
  public static final java.lang.String EPSILON_PAYLOAD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<epsilon>"

  java.util.Stack<org.antlr.runtime.tree.ParseTree> callStack;
    descriptor: Ljava/util/Stack;
    flags: (0x0000) 
    Signature: Ljava/util/Stack<Lorg/antlr/runtime/tree/ParseTree;>;

  java.util.List<org.antlr.runtime.Token> hiddenTokens;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lorg/antlr/runtime/Token;>;

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

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // java.lang.String grammarName
         0: .line 48
            aload 0 /* this */
            invokespecial org.antlr.runtime.debug.BlankDebugEventListener.<init>:()V
         1: .line 44
            aload 0 /* this */
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
         2: .line 45
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.runtime.debug.ParseTreeBuilder.hiddenTokens:Ljava/util/List;
         3: .line 46
            aload 0 /* this */
            iconst_0
            putfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
         4: .line 49
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "<grammar "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* grammarName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.create:(Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
            astore 2 /* root */
        start local 2 // org.antlr.runtime.tree.ParseTree root
         5: .line 50
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            aload 2 /* root */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 51
            return
        end local 2 // org.antlr.runtime.tree.ParseTree root
        end local 1 // java.lang.String grammarName
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    7     1  grammarName  Ljava/lang/String;
            5    7     2         root  Lorg/antlr/runtime/tree/ParseTree;
    MethodParameters:
             Name  Flags
      grammarName  

  public org.antlr.runtime.tree.ParseTree getTree();
    descriptor: ()Lorg/antlr/runtime/tree/ParseTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
         0: .line 54
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            iconst_0
            invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
            checkcast org.antlr.runtime.tree.ParseTree
            areturn
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/runtime/debug/ParseTreeBuilder;

  public org.antlr.runtime.tree.ParseTree create(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // java.lang.Object payload
         0: .line 61
            new org.antlr.runtime.tree.ParseTree
            dup
            aload 1 /* payload */
            invokespecial org.antlr.runtime.tree.ParseTree.<init>:(Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object payload
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    1     1  payload  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      payload  

  public org.antlr.runtime.tree.ParseTree epsilonNode();
    descriptor: ()Lorg/antlr/runtime/tree/ParseTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
         0: .line 65
            aload 0 /* this */
            ldc "<epsilon>"
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.create:(Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
            areturn
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/runtime/debug/ParseTreeBuilder;

  public void enterDecision(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // int d
        start local 2 // boolean couldBacktrack
         0: .line 70
            aload 0 /* this */
            dup
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            iconst_1
            iadd
            putfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            return
        end local 2 // boolean couldBacktrack
        end local 1 // int d
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    1     1               d  I
            0    1     2  couldBacktrack  Z
    MethodParameters:
                Name  Flags
      d               
      couldBacktrack  

  public void exitDecision(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // int i
         0: .line 72
            aload 0 /* this */
            dup
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            iconst_1
            isub
            putfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            return
        end local 1 // int i
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public void enterRule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // java.lang.String filename
        start local 2 // java.lang.String ruleName
         0: .line 76
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            ifle 1
            return
         1: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast org.antlr.runtime.tree.ParseTree
            astore 3 /* parentRuleNode */
        start local 3 // org.antlr.runtime.tree.ParseTree parentRuleNode
         2: .line 78
            aload 0 /* this */
            aload 2 /* ruleName */
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.create:(Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
            astore 4 /* ruleNode */
        start local 4 // org.antlr.runtime.tree.ParseTree ruleNode
         3: .line 79
            aload 3 /* parentRuleNode */
            aload 4 /* ruleNode */
            invokevirtual org.antlr.runtime.tree.ParseTree.addChild:(Lorg/antlr/runtime/tree/Tree;)V
         4: .line 80
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            aload 4 /* ruleNode */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 81
            return
        end local 4 // org.antlr.runtime.tree.ParseTree ruleNode
        end local 3 // org.antlr.runtime.tree.ParseTree parentRuleNode
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String filename
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    6     1        filename  Ljava/lang/String;
            0    6     2        ruleName  Ljava/lang/String;
            2    6     3  parentRuleNode  Lorg/antlr/runtime/tree/ParseTree;
            3    6     4        ruleNode  Lorg/antlr/runtime/tree/ParseTree;
    MethodParameters:
          Name  Flags
      filename  
      ruleName  

  public void exitRule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // java.lang.String filename
        start local 2 // java.lang.String ruleName
         0: .line 85
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            ifle 1
            return
         1: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast org.antlr.runtime.tree.ParseTree
            astore 3 /* ruleNode */
        start local 3 // org.antlr.runtime.tree.ParseTree ruleNode
         2: .line 87
            aload 3 /* ruleNode */
            invokevirtual org.antlr.runtime.tree.ParseTree.getChildCount:()I
            ifne 4
         3: .line 88
            aload 3 /* ruleNode */
            aload 0 /* this */
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.epsilonNode:()Lorg/antlr/runtime/tree/ParseTree;
            invokevirtual org.antlr.runtime.tree.ParseTree.addChild:(Lorg/antlr/runtime/tree/Tree;)V
         4: .line 90
      StackMap locals: org.antlr.runtime.tree.ParseTree
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
         5: .line 91
            return
        end local 3 // org.antlr.runtime.tree.ParseTree ruleNode
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String filename
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    6     1  filename  Ljava/lang/String;
            0    6     2  ruleName  Ljava/lang/String;
            2    6     3  ruleNode  Lorg/antlr/runtime/tree/ParseTree;
    MethodParameters:
          Name  Flags
      filename  
      ruleName  

  public void consumeToken(org.antlr.runtime.Token);
    descriptor: (Lorg/antlr/runtime/Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // org.antlr.runtime.Token token
         0: .line 95
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            ifle 1
            return
         1: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast org.antlr.runtime.tree.ParseTree
            astore 2 /* ruleNode */
        start local 2 // org.antlr.runtime.tree.ParseTree ruleNode
         2: .line 97
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.create:(Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
            astore 3 /* elementNode */
        start local 3 // org.antlr.runtime.tree.ParseTree elementNode
         3: .line 98
            aload 3 /* elementNode */
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.hiddenTokens:Ljava/util/List;
            putfield org.antlr.runtime.tree.ParseTree.hiddenTokens:Ljava/util/List;
         4: .line 99
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.runtime.debug.ParseTreeBuilder.hiddenTokens:Ljava/util/List;
         5: .line 100
            aload 2 /* ruleNode */
            aload 3 /* elementNode */
            invokevirtual org.antlr.runtime.tree.ParseTree.addChild:(Lorg/antlr/runtime/tree/Tree;)V
         6: .line 101
            return
        end local 3 // org.antlr.runtime.tree.ParseTree elementNode
        end local 2 // org.antlr.runtime.tree.ParseTree ruleNode
        end local 1 // org.antlr.runtime.Token token
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    7     1        token  Lorg/antlr/runtime/Token;
            2    7     2     ruleNode  Lorg/antlr/runtime/tree/ParseTree;
            3    7     3  elementNode  Lorg/antlr/runtime/tree/ParseTree;
    MethodParameters:
       Name  Flags
      token  

  public void consumeHiddenToken(org.antlr.runtime.Token);
    descriptor: (Lorg/antlr/runtime/Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // org.antlr.runtime.Token token
         0: .line 105
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            ifle 1
            return
         1: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.hiddenTokens:Ljava/util/List;
            aload 1 /* token */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 107
            return
        end local 1 // org.antlr.runtime.Token token
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    3     1  token  Lorg/antlr/runtime/Token;
    MethodParameters:
       Name  Flags
      token  

  public void recognitionException(org.antlr.runtime.RecognitionException);
    descriptor: (Lorg/antlr/runtime/RecognitionException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
        start local 1 // org.antlr.runtime.RecognitionException e
         0: .line 111
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.backtracking:I
            ifle 1
            return
         1: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.runtime.debug.ParseTreeBuilder.callStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast org.antlr.runtime.tree.ParseTree
            astore 2 /* ruleNode */
        start local 2 // org.antlr.runtime.tree.ParseTree ruleNode
         2: .line 113
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual org.antlr.runtime.debug.ParseTreeBuilder.create:(Ljava/lang/Object;)Lorg/antlr/runtime/tree/ParseTree;
            astore 3 /* errorNode */
        start local 3 // org.antlr.runtime.tree.ParseTree errorNode
         3: .line 114
            aload 2 /* ruleNode */
            aload 3 /* errorNode */
            invokevirtual org.antlr.runtime.tree.ParseTree.addChild:(Lorg/antlr/runtime/tree/Tree;)V
         4: .line 115
            return
        end local 3 // org.antlr.runtime.tree.ParseTree errorNode
        end local 2 // org.antlr.runtime.tree.ParseTree ruleNode
        end local 1 // org.antlr.runtime.RecognitionException e
        end local 0 // org.antlr.runtime.debug.ParseTreeBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/antlr/runtime/debug/ParseTreeBuilder;
            0    5     1          e  Lorg/antlr/runtime/RecognitionException;
            2    5     2   ruleNode  Lorg/antlr/runtime/tree/ParseTree;
            3    5     3  errorNode  Lorg/antlr/runtime/tree/ParseTree;
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "ParseTreeBuilder.java"