public class com.oracle.truffle.js.nodes.access.IteratorNextNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.access.IteratorNextNode
  super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
  private com.oracle.truffle.js.nodes.function.JSFunctionCallNode methodCallNode;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IsJSObjectNode isObjectNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final com.oracle.truffle.api.profiles.BranchProfile errorBranch;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
         0: .line 59
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
         1: .line 57
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.nodes.access.IteratorNextNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
         2: .line 60
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            putfield com.oracle.truffle.js.nodes.access.IteratorNextNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
         3: .line 61
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.access.IsJSObjectNode.create:()Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            putfield com.oracle.truffle.js.nodes.access.IteratorNextNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
         4: .line 62
            return
        end local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;

  public static com.oracle.truffle.js.nodes.access.IteratorNextNode create();
    descriptor: ()Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 65
            new com.oracle.truffle.js.nodes.access.IteratorNextNode
            dup
            invokespecial com.oracle.truffle.js.nodes.access.IteratorNextNode.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.js.runtime.objects.IteratorRecord, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
        start local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        start local 2 // java.lang.Object value
         0: .line 69
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getNextMethod:()Ljava/lang/Object;
            astore 3 /* nextMethod */
        start local 3 // java.lang.Object nextMethod
         1: .line 70
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getIterator:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* iterator */
        start local 4 // com.oracle.truffle.api.object.DynamicObject iterator
         2: .line 71
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 4 /* iterator */
            aload 3 /* nextMethod */
            aload 2 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         3: .line 72
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            aload 5 /* result */
            invokevirtual com.oracle.truffle.js.nodes.access.IsJSObjectNode.executeBoolean:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 73
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         5: .line 74
            aload 5 /* result */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorIteratorResultNotObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         6: .line 76
      StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack:
            aload 5 /* result */
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 5 // java.lang.Object result
        end local 4 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 3 // java.lang.Object nextMethod
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
            0    7     1  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            0    7     2           value  Ljava/lang/Object;
            1    7     3      nextMethod  Ljava/lang/Object;
            2    7     4        iterator  Lcom/oracle/truffle/api/object/DynamicObject;
            3    7     5          result  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      iteratorRecord  
      value           

  public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.js.runtime.objects.IteratorRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
        start local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         0: .line 80
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getNextMethod:()Ljava/lang/Object;
            astore 2 /* nextMethod */
        start local 2 // java.lang.Object nextMethod
         1: .line 81
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getIterator:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* iterator */
        start local 3 // com.oracle.truffle.api.object.DynamicObject iterator
         2: .line 82
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 3 /* iterator */
            aload 2 /* nextMethod */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         3: .line 83
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            aload 4 /* result */
            invokevirtual com.oracle.truffle.js.nodes.access.IsJSObjectNode.executeBoolean:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 84
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.access.IteratorNextNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         5: .line 85
            aload 4 /* result */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorIteratorResultNotObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         6: .line 87
      StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack:
            aload 4 /* result */
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 4 // java.lang.Object result
        end local 3 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 2 // java.lang.Object nextMethod
        end local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 0 // com.oracle.truffle.js.nodes.access.IteratorNextNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
            0    7     1  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            1    7     2      nextMethod  Ljava/lang/Object;
            2    7     3        iterator  Lcom/oracle/truffle/api/object/DynamicObject;
            3    7     4          result  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      iteratorRecord  
}
SourceFile: "IteratorNextNode.java"
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node