public final class jdk.nashorn.internal.ir.debug.PrintVisitor extends jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.ir.debug.PrintVisitor
  super_class: jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
{
  private static final int TABWIDTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private final java.lang.StringBuilder sb;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int indent;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private int lastLineNumber;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  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=1, locals=0, args_size=0
         0: .line 63
            ldc Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            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 jdk.nashorn.internal.ir.debug.PrintVisitor.$assertionsDisabled:Z
         3: .line 65
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
         0: .line 88
            aload 0 /* this */
            iconst_1
            iconst_1
            invokespecial jdk.nashorn.internal.ir.debug.PrintVisitor.<init>:(ZZ)V
         1: .line 89
            return
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;

  public void <init>(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // boolean printLineNumbers
        start local 2 // boolean printTypes
         0: .line 97
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
         1: .line 82
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.lastLineNumber:I
         2: .line 98
            aload 0 /* this */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
         3: .line 99
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
         4: .line 100
            aload 0 /* this */
            iload 1 /* printLineNumbers */
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.printLineNumbers:Z
         5: .line 101
            aload 0 /* this */
            iload 2 /* printTypes */
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
         6: .line 102
            return
        end local 2 // boolean printTypes
        end local 1 // boolean printLineNumbers
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    7     1  printLineNumbers  Z
            0    7     2        printTypes  Z
    MethodParameters:
                  Name  Flags
      printLineNumbers  final
      printTypes        final

  public void <init>(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.Node root
         0: .line 110
            aload 0 /* this */
            aload 1 /* root */
            iconst_1
            iconst_1
            invokespecial jdk.nashorn.internal.ir.debug.PrintVisitor.<init>:(Ljdk/nashorn/internal/ir/Node;ZZ)V
         1: .line 111
            return
        end local 1 // jdk.nashorn.internal.ir.Node root
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  root  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      root  final

  public void <init>(jdk.nashorn.internal.ir.Node, boolean, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Node;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.Node root
        start local 2 // boolean printLineNumbers
        start local 3 // boolean printTypes
         0: .line 121
            aload 0 /* this */
            iload 2 /* printLineNumbers */
            iload 3 /* printTypes */
            invokespecial jdk.nashorn.internal.ir.debug.PrintVisitor.<init>:(ZZ)V
         1: .line 122
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.visit:(Ljdk/nashorn/internal/ir/Node;)V
         2: .line 123
            return
        end local 3 // boolean printTypes
        end local 2 // boolean printLineNumbers
        end local 1 // jdk.nashorn.internal.ir.Node root
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1              root  Ljdk/nashorn/internal/ir/Node;
            0    3     2  printLineNumbers  Z
            0    3     3        printTypes  Z
    MethodParameters:
                  Name  Flags
      root              final
      printLineNumbers  final
      printTypes        final

  private void visit(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.Node root
         0: .line 126
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         1: .line 127
            return
        end local 1 // jdk.nashorn.internal.ir.Node root
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  root  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      root  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
         0: .line 131
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;

  private void indent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
         0: .line 138
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 139
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 138
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            ifgt 2
        end local 1 // int i
         5: .line 141
            return
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            1    5     1     i  I

  public boolean enterDefault(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.Node node
         0: .line 149
            aload 1 /* node */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.Node.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 150
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Node node
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  node  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterContinueNode(jdk.nashorn.internal.ir.ContinueNode);
    descriptor: (Ljdk/nashorn/internal/ir/ContinueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.ContinueNode node
         0: .line 155
            aload 1 /* node */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.ContinueNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 156
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 157
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ContinueNode node
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  node  Ljdk/nashorn/internal/ir/ContinueNode;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterBreakNode(jdk.nashorn.internal.ir.BreakNode);
    descriptor: (Ljdk/nashorn/internal/ir/BreakNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.BreakNode node
         0: .line 162
            aload 1 /* node */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.BreakNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 163
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 164
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BreakNode node
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  node  Ljdk/nashorn/internal/ir/BreakNode;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterThrowNode(jdk.nashorn.internal.ir.ThrowNode);
    descriptor: (Ljdk/nashorn/internal/ir/ThrowNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.ThrowNode node
         0: .line 169
            aload 1 /* node */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 170
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 171
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ThrowNode node
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  node  Ljdk/nashorn/internal/ir/ThrowNode;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterBlock(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 176
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 177
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 179
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            iadd
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
         3: .line 181
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            astore 2 /* statements */
        start local 2 // java.util.List statements
         4: .line 183
            aload 2 /* statements */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 26
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.Block java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Statement
            astore 3 /* statement */
        start local 3 // jdk.nashorn.internal.ir.Statement statement
         6: .line 184
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printLineNumbers:Z
            ifeq 13
         7: .line 185
            aload 3 /* statement */
            invokevirtual jdk.nashorn.internal.ir.Statement.getLineNumber:()I
            istore 5 /* lineNumber */
        start local 5 // int lineNumber
         8: .line 186
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 187
            iload 5 /* lineNumber */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.lastLineNumber:I
            if_icmpeq 12
        10: .line 188
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
        11: .line 189
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "[|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* lineNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "|];"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 191
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Statement java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* lineNumber */
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.lastLineNumber:I
        end local 5 // int lineNumber
        13: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
        14: .line 195
            aload 3 /* statement */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Statement.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        15: .line 197
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            istore 5 /* lastIndex */
        start local 5 // int lastIndex
        16: .line 198
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            iload 5 /* lastIndex */
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            istore 6 /* lastChar */
        start local 6 // char lastChar
        17: .line 199
            goto 19
        18: .line 200
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            iinc 5 /* lastIndex */ -1
            iload 5 /* lastIndex */
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            istore 6 /* lastChar */
        19: .line 199
      StackMap locals:
      StackMap stack:
            iload 6 /* lastChar */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 20
            iload 5 /* lastIndex */
            ifge 18
        20: .line 203
      StackMap locals:
      StackMap stack:
            iload 6 /* lastChar */
            bipush 125
            if_icmpeq 22
            iload 6 /* lastChar */
            bipush 59
            if_icmpeq 22
        21: .line 204
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 207
      StackMap locals:
      StackMap stack:
            aload 3 /* statement */
            invokevirtual jdk.nashorn.internal.ir.Statement.hasGoto:()Z
            ifeq 24
        23: .line 208
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " [GOTO]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 211
      StackMap locals:
      StackMap stack:
            aload 3 /* statement */
            invokevirtual jdk.nashorn.internal.ir.Statement.isTerminal:()Z
            ifeq 26
        25: .line 212
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " [TERMINAL]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // char lastChar
        end local 5 // int lastIndex
        end local 3 // jdk.nashorn.internal.ir.Statement statement
        26: .line 183
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.Block java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        27: .line 216
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            isub
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
        28: .line 218
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 219
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
        30: .line 220
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 221
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        32: .line 223
            iconst_0
            ireturn
        end local 2 // java.util.List statements
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   33     1       block  Ljdk/nashorn/internal/ir/Block;
            4   33     2  statements  Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;
            6   26     3   statement  Ljdk/nashorn/internal/ir/Statement;
            8   13     5  lineNumber  I
           16   26     5   lastIndex  I
           17   26     6    lastChar  C
    MethodParameters:
       Name  Flags
      block  final

  public boolean enterBlockStatement(jdk.nashorn.internal.ir.BlockStatement);
    descriptor: (Ljdk/nashorn/internal/ir/BlockStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.BlockStatement statement
         0: .line 228
            aload 1 /* statement */
            invokevirtual jdk.nashorn.internal.ir.BlockStatement.getBlock:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         1: .line 229
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BlockStatement statement
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  statement  Ljdk/nashorn/internal/ir/BlockStatement;
    MethodParameters:
           Name  Flags
      statement  final

  public boolean enterBinaryNode(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 234
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         1: .line 235
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 236
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         3: .line 237
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 238
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         5: .line 239
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    6     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  public boolean enterJoinPredecessorExpression(jdk.nashorn.internal.ir.JoinPredecessorExpression);
    descriptor: (Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.JoinPredecessorExpression expr
         0: .line 244
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         1: .line 245
            aload 0 /* this */
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 246
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.JoinPredecessorExpression expr
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  expr  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
    MethodParameters:
      Name  Flags
      expr  final

  public boolean enterIdentNode(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
         0: .line 251
            aload 1 /* identNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 252
            aload 0 /* this */
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 253
            iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  identNode  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
           Name  Flags
      identNode  final

  private void printLocalVariableConversion(jdk.nashorn.internal.ir.JoinPredecessor);
    descriptor: (Ljdk/nashorn/internal/ir/JoinPredecessor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.JoinPredecessor joinPredecessor
         0: .line 257
            aload 1 /* joinPredecessor */
            invokeinterface jdk.nashorn.internal.ir.JoinPredecessor.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.toString:(Ljdk/nashorn/internal/ir/LocalVariableConversion;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
            pop
         1: .line 258
            return
        end local 1 // jdk.nashorn.internal.ir.JoinPredecessor joinPredecessor
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  joinPredecessor  Ljdk/nashorn/internal/ir/JoinPredecessor;
    MethodParameters:
                 Name  Flags
      joinPredecessor  final

  public boolean enterUnaryNode(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 262
            aload 1 /* unaryNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            new jdk.nashorn.internal.ir.debug.PrintVisitor$1
            dup
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokespecial jdk.nashorn.internal.ir.debug.PrintVisitor$1.<init>:(Ljdk/nashorn/internal/ir/debug/PrintVisitor;Ljdk/nashorn/internal/ir/UnaryNode;)V
         1: .line 267
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
         2: .line 262
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.toString:(Ljava/lang/StringBuilder;Ljava/lang/Runnable;Z)V
         3: .line 268
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    4     1  unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
    MethodParameters:
           Name  Flags
      unaryNode  final

  public boolean enterExpressionStatement(jdk.nashorn.internal.ir.ExpressionStatement);
    descriptor: (Ljdk/nashorn/internal/ir/ExpressionStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
         0: .line 273
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         1: .line 274
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    2     1  expressionStatement  Ljdk/nashorn/internal/ir/ExpressionStatement;
    MethodParameters:
                     Name  Flags
      expressionStatement  final

  public boolean enterForNode(jdk.nashorn.internal.ir.ForNode);
    descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.ForNode forNode
         0: .line 279
            aload 1 /* forNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.ForNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 280
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         2: .line 281
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ForNode forNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  forNode  Ljdk/nashorn/internal/ir/ForNode;
    MethodParameters:
         Name  Flags
      forNode  final

  public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 286
            aload 1 /* functionNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 287
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.enterBlock:(Ljdk/nashorn/internal/ir/Block;)Z
            pop
         2: .line 288
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
              Name  Flags
      functionNode  final

  public boolean enterIfNode(jdk.nashorn.internal.ir.IfNode);
    descriptor: (Ljdk/nashorn/internal/ir/IfNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.IfNode ifNode
         0: .line 293
            aload 1 /* ifNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.IfNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 294
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getPass:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         2: .line 296
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getFail:()Ljdk/nashorn/internal/ir/Block;
            astore 2 /* fail */
        start local 2 // jdk.nashorn.internal.ir.Block fail
         3: .line 298
            aload 2 /* fail */
            ifnull 6
         4: .line 299
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " else "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 300
            aload 2 /* fail */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         6: .line 302
      StackMap locals: jdk.nashorn.internal.ir.Block
      StackMap stack:
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            ifnull 11
         7: .line 303
            getstatic jdk.nashorn.internal.ir.debug.PrintVisitor.$assertionsDisabled:Z
            ifne 8
            aload 2 /* fail */
            ifnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " else "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 305
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        10: .line 306
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 308
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Block fail
        end local 1 // jdk.nashorn.internal.ir.IfNode ifNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   12     1  ifNode  Ljdk/nashorn/internal/ir/IfNode;
            3   12     2    fail  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
        Name  Flags
      ifNode  final

  public boolean enterLabelNode(jdk.nashorn.internal.ir.LabelNode);
    descriptor: (Ljdk/nashorn/internal/ir/LabelNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.LabelNode labeledNode
         0: .line 313
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            isub
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
         1: .line 314
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
         2: .line 315
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            iadd
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
         3: .line 316
            aload 1 /* labeledNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.LabelNode.toString:(Ljava/lang/StringBuilder;Z)V
         4: .line 317
            aload 1 /* labeledNode */
            invokevirtual jdk.nashorn.internal.ir.LabelNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         5: .line 318
            aload 0 /* this */
            aload 1 /* labeledNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         6: .line 319
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.LabelNode labeledNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    7     1  labeledNode  Ljdk/nashorn/internal/ir/LabelNode;
    MethodParameters:
             Name  Flags
      labeledNode  final

  public boolean enterSplitNode(jdk.nashorn.internal.ir.SplitNode);
    descriptor: (Ljdk/nashorn/internal/ir/SplitNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
         0: .line 324
            aload 1 /* splitNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.SplitNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 325
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 326
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            iadd
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
         3: .line 327
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
         4: .line 328
            iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    5     1  splitNode  Ljdk/nashorn/internal/ir/SplitNode;
    MethodParameters:
           Name  Flags
      splitNode  final

  public jdk.nashorn.internal.ir.Node leaveSplitNode(jdk.nashorn.internal.ir.SplitNode);
    descriptor: (Ljdk/nashorn/internal/ir/SplitNode;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
         0: .line 333
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "</split>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 334
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 335
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            isub
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
         3: .line 336
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
         4: .line 337
            aload 1 /* splitNode */
            areturn
        end local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    5     1  splitNode  Ljdk/nashorn/internal/ir/SplitNode;
    MethodParameters:
           Name  Flags
      splitNode  final

  public boolean enterSwitchNode(jdk.nashorn.internal.ir.SwitchNode);
    descriptor: (Ljdk/nashorn/internal/ir/SwitchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
         0: .line 342
            aload 1 /* switchNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 343
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 345
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getCases:()Ljava/util/List;
            astore 2 /* cases */
        start local 2 // java.util.List cases
         3: .line 347
            aload 2 /* cases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.SwitchNode java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CaseNode
            astore 3 /* caseNode */
        start local 3 // jdk.nashorn.internal.ir.CaseNode caseNode
         5: .line 348
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 349
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
         7: .line 350
            aload 3 /* caseNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.CaseNode.toString:(Ljava/lang/StringBuilder;Z)V
         8: .line 351
            aload 0 /* this */
            aload 3 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         9: .line 352
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            iadd
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
        10: .line 353
            aload 3 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        11: .line 354
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
            iconst_4
            isub
            putfield jdk.nashorn.internal.ir.debug.PrintVisitor.indent:I
        12: .line 355
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // jdk.nashorn.internal.ir.CaseNode caseNode
        13: .line 347
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 357
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            ifnull 20
        15: .line 358
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 359
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
        17: .line 360
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "default: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 361
            aload 0 /* this */
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        19: .line 362
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "{}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 364
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.SwitchNode java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.EOLN:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 365
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.indent:()V
        22: .line 366
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 368
            iconst_0
            ireturn
        end local 2 // java.util.List cases
        end local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   24     1  switchNode  Ljdk/nashorn/internal/ir/SwitchNode;
            3   24     2       cases  Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;
            5   13     3    caseNode  Ljdk/nashorn/internal/ir/CaseNode;
    MethodParameters:
            Name  Flags
      switchNode  final

  public boolean enterTryNode(jdk.nashorn.internal.ir.TryNode);
    descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.TryNode tryNode
         0: .line 373
            aload 1 /* tryNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.TryNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 374
            aload 0 /* this */
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 375
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         3: .line 377
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getCatchBlocks:()Ljava/util/List;
            astore 2 /* catchBlocks */
        start local 2 // java.util.List catchBlocks
         4: .line 379
            aload 2 /* catchBlocks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.TryNode java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 3 /* catchBlock */
        start local 3 // jdk.nashorn.internal.ir.Block catchBlock
         6: .line 380
            aload 3 /* catchBlock */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CatchNode
            astore 5 /* catchNode */
        start local 5 // jdk.nashorn.internal.ir.CatchNode catchNode
         7: .line 381
            aload 5 /* catchNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.CatchNode.toString:(Ljava/lang/StringBuilder;Z)V
         8: .line 382
            aload 5 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        end local 5 // jdk.nashorn.internal.ir.CatchNode catchNode
        end local 3 // jdk.nashorn.internal.ir.Block catchBlock
         9: .line 379
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 385
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
            astore 3 /* finallyBody */
        start local 3 // jdk.nashorn.internal.ir.Block finallyBody
        11: .line 387
            aload 3 /* finallyBody */
            ifnull 14
        12: .line 388
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " finally "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 389
            aload 3 /* finallyBody */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        14: .line 392
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.TryNode java.util.List jdk.nashorn.internal.ir.Block
      StackMap stack:
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinallies:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.TryNode java.util.List jdk.nashorn.internal.ir.Block top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 4 /* inlinedFinally */
        start local 4 // jdk.nashorn.internal.ir.Block inlinedFinally
        16: .line 393
            aload 4 /* inlinedFinally */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        end local 4 // jdk.nashorn.internal.ir.Block inlinedFinally
        17: .line 392
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 395
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.ir.Block finallyBody
        end local 2 // java.util.List catchBlocks
        end local 1 // jdk.nashorn.internal.ir.TryNode tryNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   19     1         tryNode  Ljdk/nashorn/internal/ir/TryNode;
            4   19     2     catchBlocks  Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;
            6    9     3      catchBlock  Ljdk/nashorn/internal/ir/Block;
            7    9     5       catchNode  Ljdk/nashorn/internal/ir/CatchNode;
           11   19     3     finallyBody  Ljdk/nashorn/internal/ir/Block;
           16   17     4  inlinedFinally  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
         Name  Flags
      tryNode  final

  public boolean enterVarNode(jdk.nashorn.internal.ir.VarNode);
    descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.VarNode varNode
         0: .line 400
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isConst:()Z
            ifeq 1
            ldc "const "
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         1: aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isLet:()Z
            ifeq 2
            ldc "let "
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         2: ldc "var "
      StackMap locals: jdk.nashorn.internal.ir.debug.PrintVisitor jdk.nashorn.internal.ir.VarNode
      StackMap stack: java.lang.StringBuilder java.lang.String
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 401
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.IdentNode.toString:(Ljava/lang/StringBuilder;Z)V
         5: .line 402
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         6: .line 403
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* init */
        start local 2 // jdk.nashorn.internal.ir.Node init
         7: .line 404
            aload 2 /* init */
            ifnull 10
         8: .line 405
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 406
            aload 2 /* init */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        10: .line 409
      StackMap locals: jdk.nashorn.internal.ir.Node
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Node init
        end local 1 // jdk.nashorn.internal.ir.VarNode varNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   11     1  varNode  Ljdk/nashorn/internal/ir/VarNode;
            7   11     2     init  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
         Name  Flags
      varNode  final

  public boolean enterWhileNode(jdk.nashorn.internal.ir.WhileNode);
    descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
         0: .line 414
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.debug.PrintVisitor.printLocalVariableConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         1: .line 415
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.isDoWhile:()Z
            ifeq 7
         2: .line 416
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            ldc "do"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 417
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         4: .line 418
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 419
            aload 1 /* whileNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.WhileNode.toString:(Ljava/lang/StringBuilder;Z)V
         6: .line 420
            goto 9
         7: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* whileNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.WhileNode.toString:(Ljava/lang/StringBuilder;Z)V
         8: .line 422
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         9: .line 425
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0   10     1  whileNode  Ljdk/nashorn/internal/ir/WhileNode;
    MethodParameters:
           Name  Flags
      whileNode  final

  public boolean enterWithNode(jdk.nashorn.internal.ir.WithNode);
    descriptor: (Ljdk/nashorn/internal/ir/WithNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
        start local 1 // jdk.nashorn.internal.ir.WithNode withNode
         0: .line 430
            aload 1 /* withNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.sb:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.debug.PrintVisitor.printTypes:Z
            invokevirtual jdk.nashorn.internal.ir.WithNode.toString:(Ljava/lang/StringBuilder;Z)V
         1: .line 431
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.ir.WithNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         2: .line 433
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.WithNode withNode
        end local 0 // jdk.nashorn.internal.ir.debug.PrintVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/ir/debug/PrintVisitor;
            0    3     1  withNode  Ljdk/nashorn/internal/ir/WithNode;
    MethodParameters:
          Name  Flags
      withNode  final
}
SourceFile: "PrintVisitor.java"
NestMembers:
  jdk.nashorn.internal.ir.debug.PrintVisitor$1
InnerClasses:
  jdk.nashorn.internal.ir.debug.PrintVisitor$1