abstract class com.oracle.truffle.polyglot.PolyglotValue$InteropNode extends com.oracle.truffle.polyglot.HostToGuestRootNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.polyglot.PolyglotValue$InteropNode
  super_class: com.oracle.truffle.polyglot.HostToGuestRootNode
{
  protected static final int CACHE_LIMIT;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected final com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache polyglot;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected abstract java.lang.String getOperationName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void <init>(com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
        start local 1 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache polyglot
         0: .line 2601
            aload 0 /* this */
            invokespecial com.oracle.truffle.polyglot.HostToGuestRootNode.<init>:()V
         1: .line 2602
            aload 0 /* this */
            aload 1 /* polyglot */
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropNode.polyglot:Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
         2: .line 2603
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache polyglot
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;
            0    3     1  polyglot  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
    MethodParameters:
          Name  Flags
      polyglot  

  protected abstract java.lang.Class<?>[] getArgumentTypes();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()[Ljava/lang/Class<*>;

  protected java.lang.Class<? extends java.lang.Object> getReceiverType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
         0: .line 2609
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropNode.polyglot:Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache.receiverType:Ljava/lang/Class;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;
    Signature: ()Ljava/lang/Class<+Ljava/lang/Object;>;

  protected final com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode createToHost();
    descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
         0: .line 2613
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue$InteropNode.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokestatic com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode.create:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;

  public final java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
         0: .line 2618
            new java.lang.StringBuilder
            dup
            ldc "org.graalvm.polyglot.Value<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropNode.polyglot:Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache.receiverType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue$InteropNode.getOperationName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;

  protected final com.oracle.truffle.polyglot.PolyglotImpl getImpl();
    descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotImpl;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
         0: .line 2622
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropNode.polyglot:Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
         0: .line 2627
            aload 0 /* this */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue$InteropNode.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;
}
SourceFile: "PolyglotValue.java"
NestHost: com.oracle.truffle.polyglot.PolyglotValue
InnerClasses:
  final ToHostValueNode = com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode of com.oracle.truffle.polyglot.PolyglotLanguageContext
  InteropCodeCache = com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache of com.oracle.truffle.polyglot.PolyglotValue
  abstract InteropNode = com.oracle.truffle.polyglot.PolyglotValue$InteropNode of com.oracle.truffle.polyglot.PolyglotValue