public abstract class org.graalvm.compiler.nodes.CallTargetNode extends org.graalvm.compiler.nodes.ValueNode implements org.graalvm.compiler.nodes.spi.LIRLowerable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.nodes.CallTargetNode
  super_class: org.graalvm.compiler.nodes.ValueNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.CallTargetNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/CallTargetNode;>;

  protected org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.ValueNode> arguments;
    descriptor: Lorg/graalvm/compiler/graph/NodeInputList;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$Input()

  protected jdk.vm.ci.meta.ResolvedJavaMethod targetMethod;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0004) ACC_PROTECTED

  protected jdk.vm.ci.meta.ResolvedJavaType referencedType;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind;
    descriptor: Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
    flags: (0x0004) ACC_PROTECTED

  protected final org.graalvm.compiler.core.common.type.StampPair returnStamp;
    descriptor: Lorg/graalvm/compiler/core/common/type/StampPair;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc Lorg/graalvm/compiler/nodes/CallTargetNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.nodes.CallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.CallTargetNode>, org.graalvm.compiler.nodes.ValueNode[], jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.core.common.type.StampPair);
    descriptor: (Lorg/graalvm/compiler/graph/NodeClass;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/core/common/type/StampPair;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
        start local 1 // org.graalvm.compiler.graph.NodeClass c
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] arguments
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 4 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
         0: .line 126
            aload 0 /* this */
            aload 1 /* c */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokespecial org.graalvm.compiler.nodes.ValueNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
         1: .line 127
            aload 0 /* this */
            aload 3 /* targetMethod */
            putfield org.graalvm.compiler.nodes.CallTargetNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         2: .line 128
            aload 0 /* this */
            aload 4 /* invokeKind */
            putfield org.graalvm.compiler.nodes.CallTargetNode.invokeKind:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
         3: .line 129
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* this */
            aload 2 /* arguments */
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;)V
            putfield org.graalvm.compiler.nodes.CallTargetNode.arguments:Lorg/graalvm/compiler/graph/NodeInputList;
         4: .line 130
            aload 0 /* this */
            aload 5 /* returnStamp */
            putfield org.graalvm.compiler.nodes.CallTargetNode.returnStamp:Lorg/graalvm/compiler/core/common/type/StampPair;
         5: .line 131
            return
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 1 // org.graalvm.compiler.graph.NodeClass c
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/nodes/CallTargetNode;
            0    6     1             c  Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/CallTargetNode;>;
            0    6     2     arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3  targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    6     4    invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0    6     5   returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
    Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/CallTargetNode;>;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/core/common/type/StampPair;)V
    MethodParameters:
              Name  Flags
      c             
      arguments     
      targetMethod  
      invokeKind    
      returnStamp   

  public org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.ValueNode> arguments();
    descriptor: ()Lorg/graalvm/compiler/graph/NodeInputList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 134
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.CallTargetNode.arguments:Lorg/graalvm/compiler/graph/NodeInputList;
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;
    Signature: ()Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;

  public static org.graalvm.compiler.core.common.type.Stamp createReturnStamp(jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.JavaType);
    descriptor: (Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/JavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.meta.Assumptions assumptions
        start local 1 // jdk.vm.ci.meta.JavaType returnType
         0: .line 138
            aload 1 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 2 /* kind */
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         1: .line 139
            aload 2 /* kind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 3
            aload 1 /* returnType */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 3
         2: .line 140
            aload 0 /* assumptions */
            aload 1 /* returnType */
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
            areturn
         3: .line 142
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 2 /* kind */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // jdk.vm.ci.meta.JavaType returnType
        end local 0 // jdk.vm.ci.meta.Assumptions assumptions
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  assumptions  Ljdk/vm/ci/meta/Assumptions;
            0    4     1   returnType  Ljdk/vm/ci/meta/JavaType;
            1    4     2         kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
             Name  Flags
      assumptions  
      returnType   

  public org.graalvm.compiler.core.common.type.StampPair returnStamp();
    descriptor: ()Lorg/graalvm/compiler/core/common/type/StampPair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 147
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.CallTargetNode.returnStamp:Lorg/graalvm/compiler/core/common/type/StampPair;
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;

  public abstract java.lang.String targetName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
         0: .line 158
            return
        end local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;
            0    1     1   gen  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
    MethodParameters:
      Name  Flags
      gen   

  public void setTargetMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
         0: .line 161
            aload 0 /* this */
            aload 1 /* targetMethod */
            putfield org.graalvm.compiler.nodes.CallTargetNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
         1: .line 162
            return
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/nodes/CallTargetNode;
            0    2     1  targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
              Name  Flags
      targetMethod  

  public jdk.vm.ci.meta.ResolvedJavaMethod targetMethod();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 170
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.CallTargetNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;

  public void setReferencedType(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType referencedType
         0: .line 174
            aload 0 /* this */
            aload 1 /* referencedType */
            putfield org.graalvm.compiler.nodes.CallTargetNode.referencedType:Ljdk/vm/ci/meta/ResolvedJavaType;
         1: .line 175
            return
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType referencedType
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/nodes/CallTargetNode;
            0    2     1  referencedType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                Name  Flags
      referencedType  

  public jdk.vm.ci.meta.ResolvedJavaType referencedType();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 178
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.CallTargetNode.referencedType:Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;

  public org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind();
    descriptor: ()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 182
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.CallTargetNode.invokeKind:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;

  public void setInvokeKind(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind);
    descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
        start local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
         0: .line 186
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.graalvm.compiler.nodes.CallTargetNode.invokeKind:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
         1: .line 187
            return
        end local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind kind
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;
            0    2     1  kind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
    MethodParameters:
      Name  Flags
      kind  

  public org.graalvm.compiler.nodes.Invoke invoke();
    descriptor: ()Lorg/graalvm/compiler/nodes/Invoke;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.CallTargetNode this
         0: .line 190
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.CallTargetNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.Invoke
            areturn
        end local 0 // org.graalvm.compiler.nodes.CallTargetNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/CallTargetNode;
}
SourceFile: "CallTargetNode.java"
NestMembers:
  org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
InnerClasses:
  public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(allowedUsageTypes = {org.graalvm.compiler.nodeinfo.InputType.Extension:Lorg/graalvm/compiler/nodeinfo/InputType;}, cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0:Lorg/graalvm/compiler/nodeinfo/NodeSize;)