public class org.antlr.v4.runtime.tree.IterativeParseTreeWalker extends org.antlr.v4.runtime.tree.ParseTreeWalker
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.runtime.tree.IterativeParseTreeWalker
  super_class: org.antlr.v4.runtime.tree.ParseTreeWalker
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.tree.IterativeParseTreeWalker this
         0: .line 19
            aload 0 /* this */
            invokespecial org.antlr.v4.runtime.tree.ParseTreeWalker.<init>:()V
            return
        end local 0 // org.antlr.v4.runtime.tree.IterativeParseTreeWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/tree/IterativeParseTreeWalker;

  public void walk(org.antlr.v4.runtime.tree.ParseTreeListener, org.antlr.v4.runtime.tree.ParseTree);
    descriptor: (Lorg/antlr/v4/runtime/tree/ParseTreeListener;Lorg/antlr/v4/runtime/tree/ParseTree;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.antlr.v4.runtime.tree.IterativeParseTreeWalker this
        start local 1 // org.antlr.v4.runtime.tree.ParseTreeListener listener
        start local 2 // org.antlr.v4.runtime.tree.ParseTree t
         0: .line 24
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 3 /* nodeStack */
        start local 3 // java.util.Deque nodeStack
         1: .line 25
            new org.antlr.v4.runtime.misc.IntegerStack
            dup
            invokespecial org.antlr.v4.runtime.misc.IntegerStack.<init>:()V
            astore 4 /* indexStack */
        start local 4 // org.antlr.v4.runtime.misc.IntegerStack indexStack
         2: .line 27
            aload 2 /* t */
            astore 5 /* currentNode */
        start local 5 // org.antlr.v4.runtime.tree.ParseTree currentNode
         3: .line 28
            iconst_0
            istore 6 /* currentIndex */
        start local 6 // int currentIndex
         4: .line 30
            goto 31
         5: .line 33
      StackMap locals: org.antlr.v4.runtime.tree.IterativeParseTreeWalker org.antlr.v4.runtime.tree.ParseTreeListener org.antlr.v4.runtime.tree.ParseTree java.util.Deque org.antlr.v4.runtime.misc.IntegerStack org.antlr.v4.runtime.tree.ParseTree int
      StackMap stack:
            aload 5 /* currentNode */
            instanceof org.antlr.v4.runtime.tree.ErrorNode
            ifeq 8
         6: .line 34
            aload 1 /* listener */
            aload 5 /* currentNode */
            checkcast org.antlr.v4.runtime.tree.ErrorNode
            invokeinterface org.antlr.v4.runtime.tree.ParseTreeListener.visitErrorNode:(Lorg/antlr/v4/runtime/tree/ErrorNode;)V
         7: .line 35
            goto 13
         8: .line 36
      StackMap locals:
      StackMap stack:
            aload 5 /* currentNode */
            instanceof org.antlr.v4.runtime.tree.TerminalNode
            ifeq 11
         9: .line 37
            aload 1 /* listener */
            aload 5 /* currentNode */
            checkcast org.antlr.v4.runtime.tree.TerminalNode
            invokeinterface org.antlr.v4.runtime.tree.ParseTreeListener.visitTerminal:(Lorg/antlr/v4/runtime/tree/TerminalNode;)V
        10: .line 38
            goto 13
        11: .line 40
      StackMap locals:
      StackMap stack:
            aload 5 /* currentNode */
            checkcast org.antlr.v4.runtime.tree.RuleNode
            astore 7 /* r */
        start local 7 // org.antlr.v4.runtime.tree.RuleNode r
        12: .line 41
            aload 0 /* this */
            aload 1 /* listener */
            aload 7 /* r */
            invokevirtual org.antlr.v4.runtime.tree.IterativeParseTreeWalker.enterRule:(Lorg/antlr/v4/runtime/tree/ParseTreeListener;Lorg/antlr/v4/runtime/tree/RuleNode;)V
        end local 7 // org.antlr.v4.runtime.tree.RuleNode r
        13: .line 45
      StackMap locals:
      StackMap stack:
            aload 5 /* currentNode */
            invokeinterface org.antlr.v4.runtime.tree.ParseTree.getChildCount:()I
            ifle 19
        14: .line 46
            aload 3 /* nodeStack */
            aload 5 /* currentNode */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        15: .line 47
            aload 4 /* indexStack */
            iload 6 /* currentIndex */
            invokevirtual org.antlr.v4.runtime.misc.IntegerStack.push:(I)V
        16: .line 48
            iconst_0
            istore 6 /* currentIndex */
        17: .line 49
            aload 5 /* currentNode */
            iconst_0
            invokeinterface org.antlr.v4.runtime.tree.ParseTree.getChild:(I)Lorg/antlr/v4/runtime/tree/ParseTree;
            astore 5 /* currentNode */
        18: .line 50
            goto 31
        19: .line 57
      StackMap locals:
      StackMap stack:
            aload 5 /* currentNode */
            instanceof org.antlr.v4.runtime.tree.RuleNode
            ifeq 21
        20: .line 58
            aload 0 /* this */
            aload 1 /* listener */
            aload 5 /* currentNode */
            checkcast org.antlr.v4.runtime.tree.RuleNode
            invokevirtual org.antlr.v4.runtime.tree.IterativeParseTreeWalker.exitRule:(Lorg/antlr/v4/runtime/tree/ParseTreeListener;Lorg/antlr/v4/runtime/tree/RuleNode;)V
        21: .line 62
      StackMap locals:
      StackMap stack:
            aload 3 /* nodeStack */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 25
        22: .line 63
            aconst_null
            astore 5 /* currentNode */
        23: .line 64
            iconst_0
            istore 6 /* currentIndex */
        24: .line 65
            goto 31
        25: .line 69
      StackMap locals:
      StackMap stack:
            aload 3 /* nodeStack */
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.tree.ParseTree
            iinc 6 /* currentIndex */ 1
            iload 6 /* currentIndex */
            invokeinterface org.antlr.v4.runtime.tree.ParseTree.getChild:(I)Lorg/antlr/v4/runtime/tree/ParseTree;
            astore 5 /* currentNode */
        26: .line 70
            aload 5 /* currentNode */
            ifnull 28
        27: .line 71
            goto 31
        28: .line 75
      StackMap locals:
      StackMap stack:
            aload 3 /* nodeStack */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.tree.ParseTree
            astore 5 /* currentNode */
        29: .line 76
            aload 4 /* indexStack */
            invokevirtual org.antlr.v4.runtime.misc.IntegerStack.pop:()I
            istore 6 /* currentIndex */
        30: .line 78
            aload 5 /* currentNode */
            ifnonnull 19
        31: .line 30
      StackMap locals:
      StackMap stack:
            aload 5 /* currentNode */
            ifnonnull 5
        32: .line 80
            return
        end local 6 // int currentIndex
        end local 5 // org.antlr.v4.runtime.tree.ParseTree currentNode
        end local 4 // org.antlr.v4.runtime.misc.IntegerStack indexStack
        end local 3 // java.util.Deque nodeStack
        end local 2 // org.antlr.v4.runtime.tree.ParseTree t
        end local 1 // org.antlr.v4.runtime.tree.ParseTreeListener listener
        end local 0 // org.antlr.v4.runtime.tree.IterativeParseTreeWalker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lorg/antlr/v4/runtime/tree/IterativeParseTreeWalker;
            0   33     1      listener  Lorg/antlr/v4/runtime/tree/ParseTreeListener;
            0   33     2             t  Lorg/antlr/v4/runtime/tree/ParseTree;
            1   33     3     nodeStack  Ljava/util/Deque<Lorg/antlr/v4/runtime/tree/ParseTree;>;
            2   33     4    indexStack  Lorg/antlr/v4/runtime/misc/IntegerStack;
            3   33     5   currentNode  Lorg/antlr/v4/runtime/tree/ParseTree;
            4   33     6  currentIndex  I
           12   13     7             r  Lorg/antlr/v4/runtime/tree/RuleNode;
    MethodParameters:
          Name  Flags
      listener  
      t         
}
SourceFile: "IterativeParseTreeWalker.java"