public final class com.oracle.js.parser.ir.ForNode extends com.oracle.js.parser.ir.LoopNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.js.parser.ir.ForNode
  super_class: com.oracle.js.parser.ir.LoopNode
{
  private final com.oracle.js.parser.ir.Expression init;
    descriptor: Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.js.parser.ir.JoinPredecessorExpression modify;
    descriptor: Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.js.parser.ir.Symbol iterator;
    descriptor: Lcom/oracle/js/parser/ir/Symbol;
    flags: (0x0002) ACC_PRIVATE

  public static final int IS_FOR_IN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int IS_FOR_EACH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PER_ITERATION_SCOPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int IS_FOR_OF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int IS_FOR_AWAIT_OF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

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

  public void <init>(int, long, int, com.oracle.js.parser.ir.Block, int, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.JoinPredecessorExpression, com.oracle.js.parser.ir.JoinPredecessorExpression);
    descriptor: (IJILcom/oracle/js/parser/ir/Block;ILcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=9
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // int lineNumber
        start local 2 // long token
        start local 4 // int finish
        start local 5 // com.oracle.js.parser.ir.Block body
        start local 6 // int flags
        start local 7 // com.oracle.js.parser.ir.Expression init
        start local 8 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        start local 9 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
         0: .line 97
            aload 0 /* this */
            iload 1 /* lineNumber */
            lload 2 /* token */
            iload 4 /* finish */
            aload 5 /* body */
            aload 8 /* test */
            iconst_0
            invokespecial com.oracle.js.parser.ir.LoopNode.<init>:(IJILcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Z)V
         1: .line 98
            aload 0 /* this */
            iload 6 /* flags */
            putfield com.oracle.js.parser.ir.ForNode.flags:I
         2: .line 99
            aload 0 /* this */
            aload 7 /* init */
            putfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
         3: .line 100
            aload 0 /* this */
            aload 9 /* modify */
            putfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
         4: .line 102
            return
        end local 9 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        end local 8 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 7 // com.oracle.js.parser.ir.Expression init
        end local 6 // int flags
        end local 5 // com.oracle.js.parser.ir.Block body
        end local 4 // int finish
        end local 2 // long token
        end local 1 // int lineNumber
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/js/parser/ir/ForNode;
            0    5     1  lineNumber  I
            0    5     2       token  J
            0    5     4      finish  I
            0    5     5        body  Lcom/oracle/js/parser/ir/Block;
            0    5     6       flags  I
            0    5     7        init  Lcom/oracle/js/parser/ir/Expression;
            0    5     8        test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            0    5     9      modify  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    MethodParameters:
            Name  Flags
      lineNumber  final
      token       final
      finish      final
      body        final
      flags       final
      init        final
      test        final
      modify      final

  private void <init>(com.oracle.js.parser.ir.ForNode, com.oracle.js.parser.ir.Expression, com.oracle.js.parser.ir.JoinPredecessorExpression, com.oracle.js.parser.ir.Block, com.oracle.js.parser.ir.JoinPredecessorExpression, int, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=8
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.ForNode forNode
        start local 2 // com.oracle.js.parser.ir.Expression init
        start local 3 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        start local 4 // com.oracle.js.parser.ir.Block body
        start local 5 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        start local 6 // int flags
        start local 7 // boolean controlFlowEscapes
         0: .line 106
            aload 0 /* this */
            aload 1 /* forNode */
            aload 3 /* test */
            aload 4 /* body */
            iload 7 /* controlFlowEscapes */
            invokespecial com.oracle.js.parser.ir.LoopNode.<init>:(Lcom/oracle/js/parser/ir/LoopNode;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Z)V
         1: .line 107
            aload 0 /* this */
            aload 2 /* init */
            putfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
         2: .line 108
            aload 0 /* this */
            aload 5 /* modify */
            putfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
         3: .line 109
            aload 0 /* this */
            iload 6 /* flags */
            putfield com.oracle.js.parser.ir.ForNode.flags:I
         4: .line 113
            aload 0 /* this */
            aload 1 /* forNode */
            getfield com.oracle.js.parser.ir.ForNode.iterator:Lcom/oracle/js/parser/ir/Symbol;
            putfield com.oracle.js.parser.ir.ForNode.iterator:Lcom/oracle/js/parser/ir/Symbol;
         5: .line 114
            return
        end local 7 // boolean controlFlowEscapes
        end local 6 // int flags
        end local 5 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        end local 4 // com.oracle.js.parser.ir.Block body
        end local 3 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 2 // com.oracle.js.parser.ir.Expression init
        end local 1 // com.oracle.js.parser.ir.ForNode forNode
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lcom/oracle/js/parser/ir/ForNode;
            0    6     1             forNode  Lcom/oracle/js/parser/ir/ForNode;
            0    6     2                init  Lcom/oracle/js/parser/ir/Expression;
            0    6     3                test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            0    6     4                body  Lcom/oracle/js/parser/ir/Block;
            0    6     5              modify  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            0    6     6               flags  I
            0    6     7  controlFlowEscapes  Z
    MethodParameters:
                    Name  Flags
      forNode             final
      init                final
      test                final
      body                final
      modify              final
      flags               final
      controlFlowEscapes  final

  public com.oracle.js.parser.ir.Node accept(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.visitor.NodeVisitor<? extends com.oracle.js.parser.ir.LexicalContext>);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
         0: .line 118
            aload 2 /* visitor */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.enterForNode:(Lcom/oracle/js/parser/ir/ForNode;)Z
            ifeq 13
         1: .line 120
            aload 2 /* visitor */
         2: .line 121
            aload 0 /* this */
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext
         3: aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 2 /* visitor */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.Expression
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.Expression
         4: invokevirtual com.oracle.js.parser.ir.ForNode.setInit:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/ForNode;
         5: .line 122
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext
         6: aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 2 /* visitor */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.JoinPredecessorExpression
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.JoinPredecessorExpression
         7: invokevirtual com.oracle.js.parser.ir.ForNode.setTest:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/ForNode;
         8: .line 123
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext
         9: aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 2 /* visitor */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.JoinPredecessorExpression
      StackMap locals: com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.visitor.NodeVisitor
      StackMap stack: com.oracle.js.parser.ir.visitor.NodeVisitor com.oracle.js.parser.ir.ForNode com.oracle.js.parser.ir.LexicalContext com.oracle.js.parser.ir.JoinPredecessorExpression
        10: invokevirtual com.oracle.js.parser.ir.ForNode.setModify:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/ForNode;
        11: .line 124
            aload 1 /* lc */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 2 /* visitor */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            checkcast com.oracle.js.parser.ir.Block
            invokevirtual com.oracle.js.parser.ir.ForNode.setBody:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/ForNode;
        12: .line 120
            invokevirtual com.oracle.js.parser.ir.visitor.NodeVisitor.leaveForNode:(Lcom/oracle/js/parser/ir/ForNode;)Lcom/oracle/js/parser/ir/Node;
            areturn
        13: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // com.oracle.js.parser.ir.visitor.NodeVisitor visitor
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lcom/oracle/js/parser/ir/ForNode;
            0   14     1       lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0   14     2  visitor  Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;
    Signature: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/NodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;>;)Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      lc       final
      visitor  final

  public <R> R accept(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor<? extends com.oracle.js.parser.ir.LexicalContext, R>);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor visitor
         0: .line 133
            aload 2 /* visitor */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor.enterForNode:(Lcom/oracle/js/parser/ir/ForNode;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.js.parser.ir.visitor.TranslatorNodeVisitor visitor
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/js/parser/ir/ForNode;
            0    1     1       lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    1     2  visitor  Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;TR;>;
    Signature: <R:Ljava/lang/Object;>(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/visitor/TranslatorNodeVisitor<+Lcom/oracle/js/parser/ir/LexicalContext;TR;>;)TR;
    MethodParameters:
         Name  Flags
      lc       
      visitor  

  public void toString(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // boolean printTypes
         0: .line 138
            aload 1 /* sb */
            ldc "for"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 139
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 140
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForEach:()Z
            ifeq 4
         3: .line 141
            aload 1 /* sb */
            ldc "each "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 145
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForIn:()Z
            ifeq 10
         6: .line 146
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
         7: .line 147
            aload 1 /* sb */
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 148
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.toString:(Ljava/lang/StringBuilder;Z)V
         9: .line 149
            goto 23
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
            ifeq 15
        11: .line 150
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
        12: .line 151
            aload 1 /* sb */
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 152
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.toString:(Ljava/lang/StringBuilder;Z)V
        14: .line 153
            goto 23
        15: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            ifnull 17
        16: .line 155
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.Expression.toString:(Ljava/lang/StringBuilder;Z)V
        17: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 158
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnull 20
        19: .line 159
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.toString:(Ljava/lang/StringBuilder;Z)V
        20: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 162
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnull 23
        22: .line 163
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 1 /* sb */
            iload 2 /* printTypes */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.toString:(Ljava/lang/StringBuilder;Z)V
        23: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 168
            return
        end local 2 // boolean printTypes
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Lcom/oracle/js/parser/ir/ForNode;
            0   25     1          sb  Ljava/lang/StringBuilder;
            0   25     2  printTypes  Z
    MethodParameters:
            Name  Flags
      sb          final
      printTypes  final

  public boolean hasGoto();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 172
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForInOrOf:()Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean mustEnter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 177
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForInOrOf:()Z
            ifeq 2
         1: .line 178
            iconst_0
            ireturn
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            ifnonnull 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public com.oracle.js.parser.ir.Expression getInit();
    descriptor: ()Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 189
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public com.oracle.js.parser.ir.ForNode setInit(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.Expression);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Expression;)Lcom/oracle/js/parser/ir/ForNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.Expression init
         0: .line 200
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 2 /* init */
            if_acmpne 2
         1: .line 201
            aload 0 /* this */
            areturn
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            aload 0 /* this */
            aload 2 /* init */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.controlFlowEscapes:Z
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.ForNode
            areturn
        end local 2 // com.oracle.js.parser.ir.Expression init
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/ForNode;
            0    3     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  init  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
      Name  Flags
      lc    final
      init  final

  public boolean isForIn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 212
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean isForEach();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 221
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean isForOf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 230
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            bipush 8
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean isForAwaitOf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 239
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            bipush 16
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean isForInOrOf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 248
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForIn:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForOf:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForAwaitOf:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public com.oracle.js.parser.ir.Symbol getIterator();
    descriptor: ()Lcom/oracle/js/parser/ir/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 257
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.iterator:Lcom/oracle/js/parser/ir/Symbol;
            areturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public void setIterator(com.oracle.js.parser.ir.Symbol);
    descriptor: (Lcom/oracle/js/parser/ir/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.Symbol iterator
         0: .line 266
            aload 0 /* this */
            aload 1 /* iterator */
            putfield com.oracle.js.parser.ir.ForNode.iterator:Lcom/oracle/js/parser/ir/Symbol;
         1: .line 267
            return
        end local 1 // com.oracle.js.parser.ir.Symbol iterator
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/js/parser/ir/ForNode;
            0    2     1  iterator  Lcom/oracle/js/parser/ir/Symbol;
    MethodParameters:
          Name  Flags
      iterator  final

  public com.oracle.js.parser.ir.JoinPredecessorExpression getModify();
    descriptor: ()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 275
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            areturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public com.oracle.js.parser.ir.ForNode setModify(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.JoinPredecessorExpression);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/ForNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
         0: .line 286
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 2 /* modify */
            if_acmpne 2
         1: .line 287
            aload 0 /* this */
            areturn
         2: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 2 /* modify */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.controlFlowEscapes:Z
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.ForNode
            areturn
        end local 2 // com.oracle.js.parser.ir.JoinPredecessorExpression modify
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/oracle/js/parser/ir/ForNode;
            0    3     1      lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  modify  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    MethodParameters:
        Name  Flags
      lc      final
      modify  final

  public com.oracle.js.parser.ir.ForNode setTest(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.JoinPredecessorExpression);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/ForNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.JoinPredecessorExpression test
         0: .line 294
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 2 /* test */
            if_acmpne 2
         1: .line 295
            aload 0 /* this */
            areturn
         2: .line 297
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 2 /* test */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.controlFlowEscapes:Z
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.ForNode
            areturn
        end local 2 // com.oracle.js.parser.ir.JoinPredecessorExpression test
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/ForNode;
            0    3     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  test  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
    MethodParameters:
      Name  Flags
      lc    final
      test  final

  public com.oracle.js.parser.ir.Block getBody();
    descriptor: ()Lcom/oracle/js/parser/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 302
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            areturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public com.oracle.js.parser.ir.ForNode setBody(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/ForNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // com.oracle.js.parser.ir.Block body
         0: .line 307
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 2 /* body */
            if_acmpne 2
         1: .line 308
            aload 0 /* this */
            areturn
         2: .line 310
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 2 /* body */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.controlFlowEscapes:Z
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.ForNode
            areturn
        end local 2 // com.oracle.js.parser.ir.Block body
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/js/parser/ir/ForNode;
            0    3     1    lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  body  Lcom/oracle/js/parser/ir/Block;
    MethodParameters:
      Name  Flags
      lc    final
      body  final

  public com.oracle.js.parser.ir.ForNode setControlFlowEscapes(com.oracle.js.parser.ir.LexicalContext, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Z)Lcom/oracle/js/parser/ir/ForNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=3, args_size=3
        start local 0 // com.oracle.js.parser.ir.ForNode this
        start local 1 // com.oracle.js.parser.ir.LexicalContext lc
        start local 2 // boolean controlFlowEscapes
         0: .line 315
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.controlFlowEscapes:Z
            iload 2 /* controlFlowEscapes */
            if_icmpne 2
         1: .line 316
            aload 0 /* this */
            areturn
         2: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* lc */
            aload 0 /* this */
            new com.oracle.js.parser.ir.ForNode
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.init:Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.test:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.body:Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.modify:Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            iload 2 /* controlFlowEscapes */
            invokespecial com.oracle.js.parser.ir.ForNode.<init>:(Lcom/oracle/js/parser/ir/ForNode;Lcom/oracle/js/parser/ir/Expression;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;Lcom/oracle/js/parser/ir/Block;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;IZ)V
            invokestatic com.oracle.js.parser.ir.Node.replaceInLexicalContext:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/LexicalContextNode;Lcom/oracle/js/parser/ir/LexicalContextNode;)Lcom/oracle/js/parser/ir/LexicalContextNode;
            checkcast com.oracle.js.parser.ir.ForNode
            areturn
        end local 2 // boolean controlFlowEscapes
        end local 1 // com.oracle.js.parser.ir.LexicalContext lc
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/oracle/js/parser/ir/ForNode;
            0    3     1                  lc  Lcom/oracle/js/parser/ir/LexicalContext;
            0    3     2  controlFlowEscapes  Z
    MethodParameters:
                    Name  Flags
      lc                  final
      controlFlowEscapes  final

  public boolean hasPerIterationScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.js.parser.ir.ForNode this
         0: .line 323
            aload 0 /* this */
            getfield com.oracle.js.parser.ir.ForNode.flags:I
            iconst_4
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.js.parser.ir.ForNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/js/parser/ir/ForNode;

  public boolean isBreakableWithoutLabel();
    descriptor: ()Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.oracle.js.parser.ir.LoopNode.isBreakableWithoutLabel:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.js.parser.ir.LoopNode setTest(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.JoinPredecessorExpression);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/LoopNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual com.oracle.js.parser.ir.ForNode.setTest:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Lcom/oracle/js/parser/ir/ForNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.js.parser.ir.LoopNode setBody(com.oracle.js.parser.ir.LexicalContext, com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/LoopNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual com.oracle.js.parser.ir.ForNode.setBody:(Lcom/oracle/js/parser/ir/LexicalContext;Lcom/oracle/js/parser/ir/Block;)Lcom/oracle/js/parser/ir/ForNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.js.parser.ir.LoopNode setControlFlowEscapes(com.oracle.js.parser.ir.LexicalContext, boolean);
    descriptor: (Lcom/oracle/js/parser/ir/LexicalContext;Z)Lcom/oracle/js/parser/ir/LoopNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual com.oracle.js.parser.ir.ForNode.setControlFlowEscapes:(Lcom/oracle/js/parser/ir/LexicalContext;Z)Lcom/oracle/js/parser/ir/ForNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ForNode.java"