public abstract class com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode
  super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode this
         0: .line 47
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;

  public abstract java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      frame  

  public abstract java.lang.Object execute(com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      pointer  

  public static com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode create();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 54
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tStrictAsForeignNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode getUncached();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 58
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tStrictAsForeignNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode create(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 62
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tStrictAsForeignNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      arg   

  public static com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode createOptional();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 66
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tOptionalAsForeignNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  java.lang.Object doForeign(java.lang.Object, com.oracle.truffle.llvm.runtime.library.internal.LLVMAsForeignLibrary);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/library/internal/LLVMAsForeignLibrary;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode this
        start local 1 // java.lang.Object pointer
        start local 2 // com.oracle.truffle.llvm.runtime.library.internal.LLVMAsForeignLibrary foreigns
         0: .line 72
            aload 2 /* foreigns */
            aload 1 /* pointer */
            invokevirtual com.oracle.truffle.llvm.runtime.library.internal.LLVMAsForeignLibrary.asForeign:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.library.internal.LLVMAsForeignLibrary foreigns
        end local 1 // java.lang.Object pointer
        end local 0 // com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/llvm/runtime/interop/LLVMAsForeignNode;
            0    1     1   pointer  Ljava/lang/Object;
            0    1     2  foreigns  Lcom/oracle/truffle/llvm/runtime/library/internal/LLVMAsForeignLibrary;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"foreigns.isForeign(pointer)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.library.CachedLibrary(limit = "3")
    MethodParameters:
          Name  Flags
      pointer   
      foreigns  
}
SourceFile: "LLVMAsForeignNode.java"
NestMembers:
  com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode$OptionalAsForeignNode  com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode$StrictAsForeignNode
InnerClasses:
  abstract OptionalAsForeignNode = com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode$OptionalAsForeignNode of com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode
  abstract StrictAsForeignNode = com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode$StrictAsForeignNode of com.oracle.truffle.llvm.runtime.interop.LLVMAsForeignNode
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.NodeChild(type = Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)