class com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node extends com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node
  super_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode
{
  protected com.oracle.truffle.js.nodes.JavaScriptNode argument0;
    descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  protected void <init>(com.oracle.truffle.js.nodes.access.JSTargetableNode, com.oracle.truffle.js.nodes.JavaScriptNode, byte);
    descriptor: (Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
        start local 1 // com.oracle.truffle.js.nodes.access.JSTargetableNode functionNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument0
        start local 3 // byte flags
         0: .line 810
            aload 0 /* this */
            aconst_null
            aload 1 /* functionNode */
            aload 2 /* argument0 */
            iload 3 /* flags */
            invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
         1: .line 811
            return
        end local 3 // byte flags
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument0
        end local 1 // com.oracle.truffle.js.nodes.access.JSTargetableNode functionNode
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;
            0    2     1  functionNode  Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            0    2     2     argument0  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     3         flags  B
    MethodParameters:
              Name  Flags
      functionNode  
      argument0     
      flags         

  protected void <init>(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSTargetableNode, com.oracle.truffle.js.nodes.JavaScriptNode, byte);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 2 // com.oracle.truffle.js.nodes.access.JSTargetableNode functionNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argument0
        start local 4 // byte flags
         0: .line 814
            aload 0 /* this */
            aload 1 /* targetNode */
            aload 2 /* functionNode */
            iload 4 /* flags */
            invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;B)V
         1: .line 815
            aload 0 /* this */
            aload 3 /* argument0 */
            putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         2: .line 816
            return
        end local 4 // byte flags
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argument0
        end local 2 // com.oracle.truffle.js.nodes.access.JSTargetableNode functionNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;
            0    3     1    targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     2  functionNode  Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            0    3     3     argument0  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     4         flags  B
    MethodParameters:
              Name  Flags
      targetNode    
      functionNode  
      argument0     
      flags         

  protected final java.lang.Object[] createArguments(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object target
        start local 3 // java.lang.Object function
         0: .line 820
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 4 /* arg0 */
        start local 4 // java.lang.Object arg0
         1: .line 821
            aload 2 /* target */
            aload 3 /* function */
            aload 4 /* arg0 */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object arg0
        end local 3 // java.lang.Object function
        end local 2 // java.lang.Object target
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;
            0    2     1     frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    2     2    target  Ljava/lang/Object;
            0    2     3  function  Ljava/lang/Object;
            1    2     4      arg0  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      frame     
      target    
      function  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
        start local 1 // java.util.Set materializedTags
         0: .line 826
            new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.functionTargetNode:Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableNode
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.flags:B
            invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;
            0    1     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  

  protected com.oracle.truffle.js.nodes.JavaScriptNode[] getArgumentNodes();
    descriptor: ()[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
         0: .line 831
            iconst_1
            anewarray com.oracle.truffle.js.nodes.JavaScriptNode
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aastore
            areturn
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;

  protected void materializeInstrumentableArguments();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
         0: .line 836
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.isInstrumentable:()Z
            ifne 2
         1: .line 837
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSInputGeneratingNodeWrapper.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.JavaScriptNode
            putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node.argument0:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         2: .line 839
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$Invoke1Node;
}
SourceFile: "JSFunctionCallNode.java"
NestHost: com.oracle.truffle.js.nodes.function.JSFunctionCallNode
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  Invoke1Node = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$Invoke1Node of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
  public abstract InvokeNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode