abstract class com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode extends com.oracle.truffle.polyglot.PolyglotValue$InteropNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode
  super_class: com.oracle.truffle.polyglot.PolyglotValue$InteropNode
{
  private com.oracle.truffle.api.interop.InteropLibrary objects;
    descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode toHostValue;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

  protected void <init>(com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode this
        start local 1 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache interop
         0: .line 2152
            aload 0 /* this */
            aload 1 /* interop */
            invokespecial com.oracle.truffle.polyglot.PolyglotValue$InteropNode.<init>:(Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;)V
         1: .line 2144
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            iconst_5
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.createDispatched:(I)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.objects:Lcom/oracle/truffle/api/interop/InteropLibrary;
         2: .line 2146
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.invalidArgument:Lcom/oracle/truffle/api/profiles/BranchProfile;
         3: .line 2147
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.arity:Lcom/oracle/truffle/api/profiles/BranchProfile;
         4: .line 2148
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.unsupported:Lcom/oracle/truffle/api/profiles/BranchProfile;
         5: .line 2149
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.unknownIdentifier:Lcom/oracle/truffle/api/profiles/BranchProfile;
         6: .line 2153
            aload 0 /* this */
            aload 1 /* interop */
            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;
            invokestatic com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode.create:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
            putfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.toHostValue:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
         7: .line 2154
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache interop
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache$AbstractInvokeNode;
            0    8     1  interop  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
    MethodParameters:
         Name  Flags
      interop  

  protected final java.lang.Object executeShared(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 2 // java.lang.Object receiver
        start local 3 // java.lang.String key
        start local 4 // java.lang.Object[] guestArguments
         0: .line 2158
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.toHostValue:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$ToHostValueNode;
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.objects:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 2 /* receiver */
            aload 3 /* key */
            aload 4 /* guestArguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$ToHostValueNode.execute:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
         1: areturn
         2: .line 2159
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         3: .line 2160
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.unsupported:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         4: .line 2161
            aload 1 /* context */
            aload 2 /* receiver */
            aload 3 /* key */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invokeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 2162
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnknownIdentifierException
            pop
         6: .line 2163
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.unknownIdentifier:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         7: .line 2164
            aload 1 /* context */
            aload 2 /* receiver */
            aload 3 /* key */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invalidMemberKey:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         8: .line 2165
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedTypeException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.UnsupportedTypeException e
         9: .line 2166
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.invalidArgument:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        10: .line 2167
            aload 1 /* context */
            aload 2 /* receiver */
            aload 3 /* key */
            aload 5 /* e */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invalidInvokeArgumentType:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/api/interop/UnsupportedTypeException;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.UnsupportedTypeException e
        11: .line 2168
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.ArityException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.ArityException e
        12: .line 2169
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode.arity:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        13: .line 2170
            aload 1 /* context */
            aload 2 /* receiver */
            aload 3 /* key */
            aload 4 /* guestArguments */
            aload 5 /* e */
            invokevirtual com.oracle.truffle.api.interop.ArityException.getExpectedArity:()I
            aload 5 /* e */
            invokevirtual com.oracle.truffle.api.interop.ArityException.getActualArity:()I
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invalidInvokeArity:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;II)Ljava/lang/RuntimeException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.ArityException e
        end local 4 // java.lang.Object[] guestArguments
        end local 3 // java.lang.String key
        end local 2 // java.lang.Object receiver
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache$AbstractInvokeNode;
            0   14     1         context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   14     2        receiver  Ljava/lang/Object;
            0   14     3             key  Ljava/lang/String;
            0   14     4  guestArguments  [Ljava/lang/Object;
            9   11     5               e  Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
           12   14     5               e  Lcom/oracle/truffle/api/interop/ArityException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           0     1       5  Class com.oracle.truffle.api.interop.UnknownIdentifierException
           0     1       8  Class com.oracle.truffle.api.interop.UnsupportedTypeException
           0     1      11  Class com.oracle.truffle.api.interop.ArityException
    MethodParameters:
                Name  Flags
      context         
      receiver        
      key             
      guestArguments  
}
SourceFile: "PolyglotValue.java"
NestHost: com.oracle.truffle.polyglot.PolyglotValue
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  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
  private abstract AbstractInvokeNode = com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode of com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache
  abstract InteropNode = com.oracle.truffle.polyglot.PolyglotValue$InteropNode of com.oracle.truffle.polyglot.PolyglotValue