abstract class com.oracle.truffle.polyglot.PolyglotValue extends org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.polyglot.PolyglotValue
  super_class: org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl
{
  private static final java.lang.String TRUNCATION_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "..."

  private static final java.lang.String UNKNOWN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Unknown"

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

  static final com.oracle.truffle.api.interop.InteropLibrary UNCACHED_INTEROP;
    descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final int CHARACTER_LIMIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 140

  private static final com.oracle.truffle.api.interop.InteropLibrary INTEROP;
    descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 117
            ldc Lcom/oracle/truffle/polyglot/PolyglotValue;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
         3: .line 125
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            putstatic com.oracle.truffle.polyglot.PolyglotValue.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
         4: .line 719
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            putstatic com.oracle.truffle.polyglot.PolyglotValue.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.truffle.polyglot.PolyglotLanguageContext);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
         0: .line 128
            aload 0 /* this */
            aload 1 /* languageContext */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.impl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
         1: .line 129
            aload 0 /* this */
            aload 1 /* languageContext */
            putfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
         2: .line 130
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    3     1  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
    MethodParameters:
                 Name  Flags
      languageContext  

  void <init>(com.oracle.truffle.polyglot.PolyglotImpl, com.oracle.truffle.polyglot.PolyglotLanguageContext);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        start local 2 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
         0: .line 133
            aload 0 /* this */
            aload 1 /* polyglot */
            invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
         1: .line 134
            aload 0 /* this */
            aload 2 /* languageContext */
            putfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
         2: .line 135
            return
        end local 2 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        end local 1 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    3     1         polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
            0    3     2  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
    MethodParameters:
                 Name  Flags
      polyglot         
      languageContext  

  public final org.graalvm.polyglot.Context getContext();
    descriptor: ()Lorg/graalvm/polyglot/Context;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
         0: .line 139
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            ifnonnull 2
         1: .line 140
            aconst_null
            areturn
         2: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.currentApi:Lorg/graalvm/polyglot/Context;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/polyglot/PolyglotValue;

  public org.graalvm.polyglot.Value getArrayElement(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
         0: .line 147
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 4 /* prev */
        start local 4 // java.lang.Object prev
         1: .line 149
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getArrayElementUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 7
         2: .line 153
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 149
            aload 7
            areturn
         4: .line 150
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object long java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         5: .line 151
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 5 // java.lang.Throwable e
         6: .line 152
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         7: .line 153
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 154
            aload 6
            athrow
        end local 4 // java.lang.Object prev
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            0    9     2     index  J
            1    9     4      prev  Ljava/lang/Object;
            5    6     5         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  
      index     

  static final org.graalvm.polyglot.Value getArrayElementUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 159
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "getArrayElement(long)"
            ldc "hasArrayElements()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public void setArrayElement(java.lang.Object, long, java.lang.Object);
    descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
        start local 4 // java.lang.Object value
         0: .line 164
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 5 /* prev */
        start local 5 // java.lang.Object prev
         1: .line 166
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.setArrayElementUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         2: .line 167
            goto 8
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object long java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
         3: astore 6 /* e */
        start local 6 // java.lang.Throwable e
         4: .line 168
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 6 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 6 // java.lang.Throwable e
         5: .line 169
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
         6: .line 170
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         7: .line 171
            aload 7
            athrow
         8: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 172
            return
        end local 5 // java.lang.Object prev
        end local 4 // java.lang.Object value
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            0   10     2     index  J
            0   10     4     value  Ljava/lang/Object;
            1   10     5      prev  Ljava/lang/Object;
            4    5     6         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
           1     5       5  any
    MethodParameters:
          Name  Flags
      receiver  
      index     
      value     

  static void setArrayElementUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 176
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "setArrayElement(long, Object)"
            ldc "hasArrayElements()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public boolean removeArrayElement(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
         0: .line 181
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 4 /* prev */
        start local 4 // java.lang.Object prev
         1: .line 183
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.removeArrayElementUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         2: .line 184
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object long java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         3: .line 185
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 5 // java.lang.Throwable e
         4: .line 186
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         5: .line 187
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 188
            aload 6
            athrow
        end local 4 // java.lang.Object prev
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            0    7     2     index  J
            1    7     4      prev  Ljava/lang/Object;
            3    4     5         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  
      index     

  static java.lang.RuntimeException removeArrayElementUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 193
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "removeArrayElement(long, Object)"
            aconst_null
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public long getArraySize(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 198
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 200
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getArraySizeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)J
            lstore 5
         2: .line 204
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 200
            lload 5
            lreturn
         4: .line 201
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 202
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 203
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 204
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 205
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  static long getArraySizeUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 210
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "getArraySize()"
            ldc "hasArrayElements()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public org.graalvm.polyglot.Value getMember(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String key
         0: .line 215
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 217
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* key */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getMemberUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 6
         2: .line 221
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 217
            aload 6
            areturn
         4: .line 218
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 219
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         6: .line 220
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         7: .line 221
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 222
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            0    9     2       key  Ljava/lang/String;
            1    9     3      prev  Ljava/lang/Object;
            5    6     4         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  
      key       

  static org.graalvm.polyglot.Value getMemberUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String key
         0: .line 227
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "getMember(String)"
            ldc "hasMembers()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
            0    1     2       key  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  
      key       

  public void putMember(java.lang.Object, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String key
        start local 3 // java.lang.Object member
         0: .line 232
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 4 /* prev */
        start local 4 // java.lang.Object prev
         1: .line 234
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.putMemberUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            pop
         2: .line 235
            goto 8
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.String java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
         3: astore 5 /* e */
        start local 5 // java.lang.Throwable e
         4: .line 236
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 5 // java.lang.Throwable e
         5: .line 237
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         6: .line 238
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         7: .line 239
            aload 6
            athrow
         8: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 240
            return
        end local 4 // java.lang.Object prev
        end local 3 // java.lang.Object member
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            0   10     2       key  Ljava/lang/String;
            0   10     3    member  Ljava/lang/Object;
            1   10     4      prev  Ljava/lang/Object;
            4    5     5         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
           1     5       5  any
    MethodParameters:
          Name  Flags
      receiver  
      key       
      member    

  static java.lang.RuntimeException putMemberUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 244
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "putMember(String, Object)"
            ldc "hasMembers()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public boolean removeMember(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String key
         0: .line 249
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 251
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.removeMemberUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         2: .line 252
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 253
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         4: .line 254
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         5: .line 255
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 256
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.String key
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            0    7     2       key  Ljava/lang/String;
            1    7     3      prev  Ljava/lang/Object;
            3    4     4         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  
      key       

  static java.lang.RuntimeException removeMemberUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 261
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "removeMember(String, Object)"
            aconst_null
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public org.graalvm.polyglot.Value execute(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 266
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 268
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.executeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         2: .line 269
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object[] java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 270
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         4: .line 271
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         5: .line 272
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 273
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1   receiver  Ljava/lang/Object;
            0    7     2  arguments  [Ljava/lang/Object;
            1    7     3       prev  Ljava/lang/Object;
            3    4     4          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
           Name  Flags
      receiver   
      arguments  

  public org.graalvm.polyglot.Value execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 278
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 280
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.executeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         2: .line 281
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 282
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         4: .line 283
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 284
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 285
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            1    7     2      prev  Ljava/lang/Object;
            3    4     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  

  static java.lang.RuntimeException executeUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 290
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "execute(Object...)"
            ldc "canExecute()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public org.graalvm.polyglot.Value newInstance(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 295
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 297
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.newInstanceUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 6
         2: .line 301
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 297
            aload 6
            areturn
         4: .line 298
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object[] java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 299
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         6: .line 300
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         7: .line 301
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 302
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1   receiver  Ljava/lang/Object;
            0    9     2  arguments  [Ljava/lang/Object;
            1    9     3       prev  Ljava/lang/Object;
            5    6     4          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
           Name  Flags
      receiver   
      arguments  

  static org.graalvm.polyglot.Value newInstanceUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 307
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "newInstance(Object...)"
            ldc "canInstantiate()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public void executeVoid(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 312
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 314
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.executeVoidUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         2: .line 315
            goto 8
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object[] java.lang.Object
      StackMap stack: java.lang.Throwable
         3: astore 4 /* e */
        start local 4 // java.lang.Throwable e
         4: .line 316
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         5: .line 317
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         6: .line 318
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         7: .line 319
            aload 5
            athrow
         8: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 320
            return
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1   receiver  Ljava/lang/Object;
            0   10     2  arguments  [Ljava/lang/Object;
            1   10     3       prev  Ljava/lang/Object;
            4    5     4          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
           1     5       5  any
    MethodParameters:
           Name  Flags
      receiver   
      arguments  

  public void executeVoid(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 324
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 326
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.executeVoidUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         2: .line 327
            goto 8
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
         3: astore 3 /* e */
        start local 3 // java.lang.Throwable e
         4: .line 328
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         5: .line 329
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         6: .line 330
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         7: .line 331
            aload 4
            athrow
         8: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 332
            return
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            4    5     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
           1     5       5  any
    MethodParameters:
          Name  Flags
      receiver  

  static void executeVoidUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 336
            aload 0 /* context */
            aload 1 /* receiver */
            ldc "executeVoid(Object...)"
            ldc "canExecute()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public org.graalvm.polyglot.Value invoke(java.lang.Object, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
        start local 3 // java.lang.Object[] arguments
         0: .line 341
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 4 /* prev */
        start local 4 // java.lang.Object prev
         1: .line 343
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invokeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 344
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.String java.lang.Object[] java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         3: .line 345
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 5 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 5 // java.lang.Throwable e
         4: .line 346
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         5: .line 347
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 348
            aload 6
            athrow
        end local 4 // java.lang.Object prev
        end local 3 // java.lang.Object[] arguments
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1    receiver  Ljava/lang/Object;
            0    7     2  identifier  Ljava/lang/String;
            0    7     3   arguments  [Ljava/lang/Object;
            1    7     4        prev  Ljava/lang/Object;
            3    4     5           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
            Name  Flags
      receiver    
      identifier  
      arguments   

  public org.graalvm.polyglot.Value invoke(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 353
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 355
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.invokeUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 356
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 357
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         4: .line 358
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         5: .line 359
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 360
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1    receiver  Ljava/lang/Object;
            0    7     2  identifier  Ljava/lang/String;
            1    7     3        prev  Ljava/lang/Object;
            3    4     4           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  static java.lang.RuntimeException invokeUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 365
            aload 0 /* context */
            aload 1 /* receiver */
            new java.lang.StringBuilder
            dup
            ldc "invoke("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* identifier */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", Object...)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "canInvoke(String)"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1    receiver  Ljava/lang/Object;
            0    1     2  identifier  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      context     
      receiver    
      identifier  

  public java.lang.String asString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 370
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 372
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asStringUnsupported:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5
         2: .line 376
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 372
            aload 5
            areturn
         4: .line 373
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 374
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 375
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 376
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 377
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final java.lang.String asStringUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 381
            aload 0 /* this */
            aload 1 /* receiver */
            ldc Ljava/lang/String;
            ldc "asString()"
            ldc "isString()"
            ldc "Invalid coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean asBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 386
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 388
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asBooleanUnsupported:(Ljava/lang/Object;)Z
            istore 5
         2: .line 392
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 388
            iload 5
            ireturn
         4: .line 389
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 390
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 391
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 392
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 393
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  private static boolean isNullUncached(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object receiver
         0: .line 397
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 0 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  protected final boolean asBooleanUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 401
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc "asBoolean()"
            ldc "isBoolean()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  private <T> T invalidCastPrimitive(, java.lang.Class<T>, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String asMethodName
        start local 4 // java.lang.String isMethodName
        start local 5 // java.lang.String detail
         0: .line 405
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            ifnull 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.needsEnter:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 406
      StackMap locals:
      StackMap stack:
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 407
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* clazz */
            aload 3 /* asMethodName */
            aload 4 /* isMethodName */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.nullCoercion:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         3: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* clazz */
            aload 3 /* asMethodName */
            aload 4 /* isMethodName */
            aload 5 /* detail */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.String detail
        end local 4 // java.lang.String isMethodName
        end local 3 // java.lang.String asMethodName
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    4     1      receiver  Ljava/lang/Object;
            0    4     2         clazz  Ljava/lang/Class<TT;>;
            0    4     3  asMethodName  Ljava/lang/String;
            0    4     4  isMethodName  Ljava/lang/String;
            0    4     5        detail  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)TT;
    MethodParameters:
              Name  Flags
      receiver      
      clazz         
      asMethodName  
      isMethodName  
      detail        

  public int asInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 415
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 417
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asIntUnsupported:(Ljava/lang/Object;)I
            istore 5
         2: .line 421
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 417
            iload 5
            ireturn
         4: .line 418
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 419
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 420
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 421
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 422
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final int asIntUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 426
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            ldc "asInt()"
            ldc "fitsInInt()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public long asLong(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 431
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 433
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asLongUnsupported:(Ljava/lang/Object;)J
            lstore 5
         2: .line 437
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 433
            lload 5
            lreturn
         4: .line 434
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 435
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 436
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 437
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 438
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final long asLongUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 442
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            ldc "asLong()"
            ldc "fitsInLong()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public double asDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 447
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 449
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asDoubleUnsupported:(Ljava/lang/Object;)D
            dstore 5
         2: .line 453
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 449
            dload 5
            dreturn
         4: .line 450
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 451
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 452
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 453
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 454
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final double asDoubleUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 458
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            ldc "asDouble()"
            ldc "fitsInDouble()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public float asFloat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 463
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 465
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asFloatUnsupported:(Ljava/lang/Object;)F
            fstore 5
         2: .line 469
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 465
            fload 5
            freturn
         4: .line 466
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 467
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 468
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 469
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 470
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final float asFloatUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)F
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 474
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            ldc "asFloat()"
            ldc "fitsInFloat()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            freturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public byte asByte(java.lang.Object);
    descriptor: (Ljava/lang/Object;)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 479
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 481
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asByteUnsupported:(Ljava/lang/Object;)B
            istore 5
         2: .line 485
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 481
            iload 5
            ireturn
         4: .line 482
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 483
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 484
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 485
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 486
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final byte asByteUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 490
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            ldc "asByte()"
            ldc "fitsInByte()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Byte
            invokevirtual java.lang.Byte.byteValue:()B
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public short asShort(java.lang.Object);
    descriptor: (Ljava/lang/Object;)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 495
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 497
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asShortUnsupported:(Ljava/lang/Object;)S
            istore 5
         2: .line 501
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 497
            iload 5
            ireturn
         4: .line 498
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 499
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 500
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 501
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 502
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final short asShortUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)S
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 506
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            ldc "asShort()"
            ldc "fitsInShort()"
            ldc "Invalid or lossy primitive coercion."
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.invalidCastPrimitive:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public long asNativePointer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 511
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 513
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.asNativePointerUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)J
            lstore 5
         2: .line 517
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 513
            lload 5
            lreturn
         4: .line 514
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 515
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 516
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 517
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 518
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  static long asNativePointerUnsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
         0: .line 522
            aload 0 /* context */
            aload 1 /* receiver */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            ldc "asNativePointer()"
            ldc "isNativeObject()"
            ldc "Value cannot be converted to a native pointer."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      context   
      receiver  

  public java.lang.Object asHostObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 527
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 529
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asHostObjectUnsupported:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5
         2: .line 533
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 529
            aload 5
            areturn
         4: .line 530
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 531
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 532
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 533
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 534
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final java.lang.Object asHostObjectUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 538
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asHostObject()"
            ldc "isHostObject()"
            ldc "Value is not a host object."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object asProxyObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 543
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 545
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asProxyObjectUnsupported:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5
         2: .line 549
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 545
            aload 5
            areturn
         4: .line 546
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 547
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 548
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 549
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 550
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected final java.lang.Object asProxyObjectUnsupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 554
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asProxyObject()"
            ldc "isProxyObject()"
            ldc "Value is not a proxy object."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.LocalDate asDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 559
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 561
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 569
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 562
            aconst_null
            areturn
         4: .line 564
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asDate()"
            ldc "isDate()"
            ldc "Value does not contain date information."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 566
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         6: .line 567
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         7: .line 568
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         8: .line 569
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 570
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            6    7     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       5  Class java.lang.Throwable
           4     5       5  Class java.lang.Throwable
           1     2       7  any
           4     7       7  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.LocalTime asTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/LocalTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 575
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 577
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 585
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 578
            aconst_null
            areturn
         4: .line 580
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asTime()"
            ldc "isTime()"
            ldc "Value does not contain time information."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 582
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         6: .line 583
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         7: .line 584
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         8: .line 585
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 586
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            6    7     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       5  Class java.lang.Throwable
           4     5       5  Class java.lang.Throwable
           1     2       7  any
           4     7       7  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.ZoneId asTimeZone(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/ZoneId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 591
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 593
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 601
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 594
            aconst_null
            areturn
         4: .line 596
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asTimeZone()"
            ldc "isTimeZone()"
            ldc "Value does not contain time zone information."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 598
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         6: .line 599
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         7: .line 600
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         8: .line 601
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 602
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            6    7     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       5  Class java.lang.Throwable
           4     5       5  Class java.lang.Throwable
           1     2       7  any
           4     7       7  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.Instant asInstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 607
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 609
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 617
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 610
            aconst_null
            areturn
         4: .line 612
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asInstant()"
            ldc "isInstant()"
            ldc "Value does not contain instant information."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 614
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         6: .line 615
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         7: .line 616
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         8: .line 617
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 618
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            6    7     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       5  Class java.lang.Throwable
           4     5       5  Class java.lang.Throwable
           1     2       7  any
           4     7       7  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.Duration asDuration(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 623
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 625
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.isNullUncached:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 633
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 626
            aconst_null
            areturn
         4: .line 628
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aconst_null
            ldc "asDuration()"
            ldc "isDuration()"
            ldc "Value does not contain duration information."
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.cannotConvert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 630
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         6: .line 631
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         7: .line 632
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         8: .line 633
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         9: .line 634
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   10     1  receiver  Ljava/lang/Object;
            1   10     2      prev  Ljava/lang/Object;
            6    7     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       5  Class java.lang.Throwable
           4     5       5  Class java.lang.Throwable
           1     2       7  any
           4     7       7  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.RuntimeException throwException(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 639
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 641
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            ldc "throwException()"
            ldc "isException()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 642
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 643
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         4: .line 644
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 645
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 646
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            1    7     2      prev  Ljava/lang/Object;
            3    4     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  

  public final org.graalvm.polyglot.Value getMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 651
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 653
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.getMetaObjectImpl:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 5
         2: .line 657
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 653
            aload 5
            areturn
         4: .line 654
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 655
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 656
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 657
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 658
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected org.graalvm.polyglot.Value getMetaObjectImpl(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 662
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* lib */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary lib
         1: .line 663
            aload 2 /* lib */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMetaObject:(Ljava/lang/Object;)Z
            ifeq 6
         2: .line 665
            aload 0 /* this */
            aload 2 /* lib */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
         3: areturn
         4: .line 666
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         5: .line 667
            ldc "Unexpected unsupported message."
            aload 3 /* e */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         6: .line 670
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary lib
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            1    7     2       lib  Lcom/oracle/truffle/api/interop/InteropLibrary;
            5    6     3         e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private org.graalvm.polyglot.Value asValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object value
         0: .line 674
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            ifnonnull 2
         1: .line 675
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.getInstance:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokestatic com.oracle.truffle.polyglot.PolyglotContextImpl.currentNotEntered:()Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            aload 1 /* value */
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.asValue:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
         2: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* value */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    3     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  static java.lang.Object hostEnter(com.oracle.truffle.polyglot.PolyglotLanguageContext);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
         0: .line 682
            aload 0 /* languageContext */
            ifnonnull 2
         1: .line 683
            aconst_null
            areturn
         2: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.enterIfNeeded:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Ljava/lang/Object;
         3: areturn
         4: .line 687
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         5: .line 688
            aload 0 /* languageContext */
            aload 1 /* t */
            iconst_0
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 1 // java.lang.Throwable t
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            5    6     1                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    MethodParameters:
                 Name  Flags
      languageContext  

  static void hostLeave(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Object prev
         0: .line 693
            aload 0 /* languageContext */
            ifnonnull 2
         1: .line 694
            return
         2: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 1 /* prev */
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.leaveIfNeeded:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)V
         3: .line 698
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         5: .line 699
            aload 0 /* languageContext */
            aload 2 /* t */
            iconst_0
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 2 // java.lang.Throwable t
         6: .line 701
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object prev
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    7     1             prev  Ljava/lang/Object;
            5    6     2                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    MethodParameters:
                 Name  Flags
      languageContext  
      prev             

  protected static java.lang.RuntimeException unsupported(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String message
        start local 3 // java.lang.String useToCheck
         0: .line 705
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 1
            aload 0 /* languageContext */
            ifnull 1
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.needsEnter:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 707
      StackMap locals:
      StackMap stack:
            aload 3 /* useToCheck */
            ifnull 6
         2: .line 708
            ldc "Unsupported operation %s.%s for %s. You can ensure that the operation is supported using %s.%s."
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 709
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* message */
            aastore
            dup
            iconst_2
            aload 0 /* languageContext */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 3 /* useToCheck */
            aastore
         4: .line 708
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* polyglotMessage */
        start local 4 // java.lang.String polyglotMessage
         5: .line 710
            goto 9
        end local 4 // java.lang.String polyglotMessage
         6: .line 711
      StackMap locals:
      StackMap stack:
            ldc "Unsupported operation %s.%s for %s."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 712
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* message */
            aastore
            dup
            iconst_2
            aload 0 /* languageContext */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
         8: .line 711
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* polyglotMessage */
        start local 4 // java.lang.String polyglotMessage
         9: .line 714
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* polyglotMessage */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.unsupported:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.String polyglotMessage
        end local 3 // java.lang.String useToCheck
        end local 2 // java.lang.String message
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   10     1         receiver  Ljava/lang/Object;
            0   10     2          message  Ljava/lang/String;
            0   10     3       useToCheck  Ljava/lang/String;
            5    6     4  polyglotMessage  Ljava/lang/String;
            9   10     4  polyglotMessage  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         
      message          
      useToCheck       

  static java.lang.String getValueInfo(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Object receiver
         0: .line 723
            aload 0 /* languageContext */
            ifnonnull 2
         1: .line 724
            aload 1 /* receiver */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         2: .line 725
      StackMap locals:
      StackMap stack:
            aload 1 /* receiver */
            ifnonnull 5
         3: .line 726
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 4
            new java.lang.AssertionError
            dup
            ldc "receiver should never be null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 727
      StackMap locals:
      StackMap stack:
            ldc "null"
            areturn
         5: .line 729
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 6
            aload 0 /* languageContext */
            ifnull 6
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.needsEnter:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Z
            ifeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            astore 2 /* context */
        start local 2 // com.oracle.truffle.polyglot.PolyglotContextImpl context
         7: .line 731
            aload 2 /* context */
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.EngineAccessor$EngineImpl.findObjectLanguage:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            astore 3 /* displayLanguage */
        start local 3 // com.oracle.truffle.polyglot.PolyglotLanguage displayLanguage
         8: .line 733
            aload 3 /* displayLanguage */
            ifnonnull 12
         9: .line 734
            aload 2 /* context */
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.hostLanguage:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            astore 3 /* displayLanguage */
        10: .line 735
            aload 2 /* context */
            invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getHostContext:()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getLanguageView:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* view */
        start local 4 // java.lang.Object view
        11: .line 736
            goto 13
        end local 4 // java.lang.Object view
        12: .line 737
      StackMap locals: com.oracle.truffle.polyglot.PolyglotContextImpl com.oracle.truffle.polyglot.PolyglotLanguage
      StackMap stack:
            aload 1 /* receiver */
            astore 4 /* view */
        start local 4 // java.lang.Object view
        13: .line 741
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "Unknown"
            astore 6 /* metaObjectToString */
        start local 6 // java.lang.String metaObjectToString
        14: .line 743
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 4 /* view */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 7 /* uncached */
        start local 7 // com.oracle.truffle.api.interop.InteropLibrary uncached
        15: .line 744
            aload 7 /* uncached */
            aload 4 /* view */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMetaObject:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 745
            getstatic com.oracle.truffle.polyglot.PolyglotValue.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 7 /* uncached */
            aload 4 /* view */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* qualifiedName */
        start local 8 // java.lang.Object qualifiedName
        17: .line 746
            getstatic com.oracle.truffle.polyglot.PolyglotValue.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 8 /* qualifiedName */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            sipush 140
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.truncateString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 6 /* metaObjectToString */
        end local 8 // java.lang.Object qualifiedName
        18: .line 748
      StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object com.oracle.truffle.polyglot.PolyglotContextImpl com.oracle.truffle.polyglot.PolyglotLanguage java.lang.Object top java.lang.String com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.PolyglotValue.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 7 /* uncached */
            aload 4 /* view */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            sipush 140
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.truncateString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 5 /* valueToString */
        end local 7 // com.oracle.truffle.api.interop.InteropLibrary uncached
        start local 5 // java.lang.String valueToString
        19: .line 749
            goto 22
        end local 5 // java.lang.String valueToString
      StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object com.oracle.truffle.polyglot.PolyglotContextImpl com.oracle.truffle.polyglot.PolyglotLanguage java.lang.Object top java.lang.String
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        20: astore 7 /* e */
        start local 7 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        21: .line 750
            aload 7 /* e */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 5 // java.lang.String valueToString
        22: .line 752
      StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object com.oracle.truffle.polyglot.PolyglotContextImpl com.oracle.truffle.polyglot.PolyglotLanguage java.lang.Object java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            astore 7 /* languageName */
        start local 7 // java.lang.String languageName
        23: .line 753
            iconst_0
            istore 8 /* hideType */
        start local 8 // boolean hideType
        24: .line 754
            aload 3 /* displayLanguage */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.isHost:()Z
            ifeq 29
        25: .line 755
            ldc "Java"
            astore 7 /* languageName */
        26: .line 758
            ldc "Unknown"
            aload 6 /* metaObjectToString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
            getstatic com.oracle.truffle.polyglot.PolyglotValue.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 30
        27: .line 759
            iconst_1
            istore 8 /* hideType */
        28: .line 761
            goto 30
        29: .line 762
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* displayLanguage */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getName:()Ljava/lang/String;
            astore 7 /* languageName */
        30: .line 764
      StackMap locals:
      StackMap stack:
            iload 8 /* hideType */
            ifeq 32
        31: .line 765
            ldc "'%s'(language: %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* valueToString */
            aastore
            dup
            iconst_1
            aload 7 /* languageName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        32: .line 767
      StackMap locals:
      StackMap stack:
            ldc "'%s'(language: %s, type: %s)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* valueToString */
            aastore
            dup
            iconst_1
            aload 7 /* languageName */
            aastore
            dup
            iconst_2
            aload 6 /* metaObjectToString */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 8 // boolean hideType
        end local 7 // java.lang.String languageName
        end local 6 // java.lang.String metaObjectToString
        end local 5 // java.lang.String valueToString
        end local 4 // java.lang.Object view
        end local 3 // com.oracle.truffle.polyglot.PolyglotLanguage displayLanguage
        end local 2 // com.oracle.truffle.polyglot.PolyglotContextImpl context
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0     languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   33     1            receiver  Ljava/lang/Object;
            7   33     2             context  Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            8   33     3     displayLanguage  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
           11   12     4                view  Ljava/lang/Object;
           13   33     4                view  Ljava/lang/Object;
           19   20     5       valueToString  Ljava/lang/String;
           22   33     5       valueToString  Ljava/lang/String;
           14   33     6  metaObjectToString  Ljava/lang/String;
           15   19     7            uncached  Lcom/oracle/truffle/api/interop/InteropLibrary;
           17   18     8       qualifiedName  Ljava/lang/Object;
           21   22     7                   e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
           23   33     7        languageName  Ljava/lang/String;
           24   33     8            hideType  Z
      Exception table:
        from    to  target  type
          14    19      20  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         

  private static java.lang.String truncateString(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int i
         0: .line 772
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iload 1 /* i */
            if_icmple 2
         1: .line 773
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            iconst_0
            iload 1 /* i */
            ldc "..."
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            areturn
        end local 1 // int i
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/lang/String;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      s     
      i     

  protected static java.lang.RuntimeException nullCoercion(com.oracle.truffle.polyglot.PolyglotLanguageContext, , java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Class targetType
        start local 3 // java.lang.String message
        start local 4 // java.lang.String useToCheck
         0: .line 781
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 1
            aload 0 /* languageContext */
            ifnull 1
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.needsEnter:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* languageContext */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* valueInfo */
        start local 5 // java.lang.String valueInfo
         2: .line 783
            ldc "Cannot convert null value %s to Java type '%s' using %s.%s. You can ensure that the operation is supported using %s.%s."
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 785
            aload 5 /* valueInfo */
            aastore
            dup
            iconst_1
            aload 2 /* targetType */
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 3 /* message */
            aastore
            dup
            iconst_4
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 4 /* useToCheck */
            aastore
         4: .line 783
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.nullPointer:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 5 // java.lang.String valueInfo
        end local 4 // java.lang.String useToCheck
        end local 3 // java.lang.String message
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    5     1         receiver  Ljava/lang/Object;
            0    5     2       targetType  Ljava/lang/Class<*>;
            0    5     3          message  Ljava/lang/String;
            0    5     4       useToCheck  Ljava/lang/String;
            2    5     5        valueInfo  Ljava/lang/String;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         
      targetType       
      message          
      useToCheck       

  protected static java.lang.RuntimeException cannotConvert(com.oracle.truffle.polyglot.PolyglotLanguageContext, , java.lang.Class<?>, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Class targetType
        start local 3 // java.lang.String message
        start local 4 // java.lang.String useToCheck
        start local 5 // java.lang.String reason
         0: .line 790
            getstatic com.oracle.truffle.polyglot.PolyglotValue.$assertionsDisabled:Z
            ifne 1
            aload 0 /* languageContext */
            ifnull 1
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 0 /* languageContext */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.needsEnter:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* languageContext */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* valueInfo */
        start local 6 // java.lang.String valueInfo
         2: .line 792
            ldc ""
            astore 7 /* targetTypeString */
        start local 7 // java.lang.String targetTypeString
         3: .line 793
            aload 2 /* targetType */
            ifnull 5
         4: .line 794
            ldc "to Java type '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* targetType */
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* targetTypeString */
         5: .line 797
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "Cannot convert %s %s using %s.%s: %s You can ensure that the value can be converted using %s.%s."
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 798
            aload 6 /* valueInfo */
            aastore
            dup
            iconst_1
            aload 7 /* targetTypeString */
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 3 /* message */
            aastore
            dup
            iconst_4
            aload 5 /* reason */
            aastore
            dup
            iconst_5
            ldc Lorg/graalvm/polyglot/Value;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            bipush 6
            aload 4 /* useToCheck */
            aastore
         7: .line 797
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 796
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.classCast:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 7 // java.lang.String targetTypeString
        end local 6 // java.lang.String valueInfo
        end local 5 // java.lang.String reason
        end local 4 // java.lang.String useToCheck
        end local 3 // java.lang.String message
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0   languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    9     1          receiver  Ljava/lang/Object;
            0    9     2        targetType  Ljava/lang/Class<*>;
            0    9     3           message  Ljava/lang/String;
            0    9     4        useToCheck  Ljava/lang/String;
            0    9     5            reason  Ljava/lang/String;
            2    9     6         valueInfo  Ljava/lang/String;
            3    9     7  targetTypeString  Ljava/lang/String;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         
      targetType       
      message          
      useToCheck       
      reason           

  protected static java.lang.RuntimeException invalidArrayIndex(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, long);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;J)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // long index
         0: .line 803
            ldc "Invalid array index %s for array %s."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* index */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         1: .line 804
            aload 4 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.arrayIndexOutOfBounds:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.String message
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0   context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    2     1  receiver  Ljava/lang/Object;
            0    2     2     index  J
            1    2     4   message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  
      index     

  protected static java.lang.RuntimeException invalidArrayValue(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, long, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // long identifier
        start local 4 // java.lang.Object value
         0: .line 810
            ldc "Invalid array value %s for array %s and index %s."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 811
            aload 0 /* context */
            aload 4 /* value */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            lload 2 /* identifier */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         2: .line 810
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 809
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.classCast:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.Object value
        end local 2 // long identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    4     1    receiver  Ljava/lang/Object;
            0    4     2  identifier  J
            0    4     4       value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      context     
      receiver    
      identifier  
      value       

  protected static java.lang.RuntimeException invalidMemberKey(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 816
            ldc "Invalid member key '%s' for object %s."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* identifier */
            aastore
            dup
            iconst_1
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         1: .line 817
            aload 3 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 3 // java.lang.String message
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    2     1    receiver  Ljava/lang/Object;
            0    2     2  identifier  Ljava/lang/String;
            1    2     3     message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      context     
      receiver    
      identifier  

  protected static java.lang.RuntimeException invalidMemberValue(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/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
        start local 3 // java.lang.Object value
         0: .line 822
            ldc "Invalid member value %s for object %s and member key '%s'."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* context */
            aload 3 /* value */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* identifier */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         1: .line 823
            aload 4 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.String message
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    2     1    receiver  Ljava/lang/Object;
            0    2     2  identifier  Ljava/lang/String;
            0    2     3       value  Ljava/lang/Object;
            1    2     4     message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      context     
      receiver    
      identifier  
      value       

  protected static java.lang.RuntimeException invalidExecuteArgumentType(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, com.oracle.truffle.api.interop.UnsupportedTypeException);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/UnsupportedTypeException;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // com.oracle.truffle.api.interop.UnsupportedTypeException e
         0: .line 828
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getMessage:()Ljava/lang/String;
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.StringBuilder
            dup
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getMessage:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* originalMessage */
        start local 3 // java.lang.String originalMessage
         3: .line 829
            aload 0 /* context */
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getSuppliedValues:()[Ljava/lang/Object;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 4 /* formattedArgs */
        start local 4 // java.lang.String[] formattedArgs
         4: .line 830
            ldc "Invalid argument when executing %s. %sProvided arguments: %s."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 831
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
         6: .line 832
            aload 3 /* originalMessage */
            aastore
            dup
            iconst_2
         7: .line 833
            aload 4 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
         8: .line 830
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.String[] formattedArgs
        end local 3 // java.lang.String originalMessage
        end local 2 // com.oracle.truffle.api.interop.UnsupportedTypeException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0          context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    9     1         receiver  Ljava/lang/Object;
            0    9     2                e  Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
            3    9     3  originalMessage  Ljava/lang/String;
            4    9     4    formattedArgs  [Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  
      e         

  protected static java.lang.RuntimeException invalidInvokeArgumentType(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String, com.oracle.truffle.api.interop.UnsupportedTypeException);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Lcom/oracle/truffle/api/interop/UnsupportedTypeException;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String member
        start local 3 // com.oracle.truffle.api.interop.UnsupportedTypeException e
         0: .line 838
            aload 3 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getMessage:()Ljava/lang/String;
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 3 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 4 /* originalMessage */
        start local 4 // java.lang.String originalMessage
         3: .line 839
            aload 0 /* context */
            aload 3 /* e */
            invokevirtual com.oracle.truffle.api.interop.UnsupportedTypeException.getSuppliedValues:()[Ljava/lang/Object;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 5 /* formattedArgs */
        start local 5 // java.lang.String[] formattedArgs
         4: .line 840
            ldc "Invalid argument when invoking '%s' on %s. %sProvided arguments: %s."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 841
            aload 2 /* member */
            aastore
            dup
            iconst_1
         6: .line 842
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_2
         7: .line 843
            aload 4 /* originalMessage */
            aastore
            dup
            iconst_3
         8: .line 844
            aload 5 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
         9: .line 840
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
        10: .line 845
            aload 6 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 6 // java.lang.String message
        end local 5 // java.lang.String[] formattedArgs
        end local 4 // java.lang.String originalMessage
        end local 3 // com.oracle.truffle.api.interop.UnsupportedTypeException e
        end local 2 // java.lang.String member
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0          context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   11     1         receiver  Ljava/lang/Object;
            0   11     2           member  Ljava/lang/String;
            0   11     3                e  Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
            3   11     4  originalMessage  Ljava/lang/String;
            4   11     5    formattedArgs  [Ljava/lang/String;
           10   11     6          message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      context   
      receiver  
      member    
      e         

  protected static java.lang.RuntimeException invalidInstantiateArgumentType(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 850
            aload 0 /* context */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 3 /* formattedArgs */
        start local 3 // java.lang.String[] formattedArgs
         1: .line 851
            ldc "Invalid argument when instantiating %s with arguments %s."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         2: .line 852
            aload 4 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 4 // java.lang.String message
        end local 3 // java.lang.String[] formattedArgs
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0        context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    3     1       receiver  Ljava/lang/Object;
            0    3     2      arguments  [Ljava/lang/Object;
            1    3     3  formattedArgs  [Ljava/lang/String;
            2    3     4        message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      context    
      receiver   
      arguments  

  protected static java.lang.RuntimeException invalidInstantiateArity(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.Object[], int, int);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;[Ljava/lang/Object;II)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
        start local 3 // int expected
        start local 4 // int actual
         0: .line 857
            aload 0 /* context */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 5 /* formattedArgs */
        start local 5 // java.lang.String[] formattedArgs
         1: .line 858
            ldc "Invalid argument count when instantiating %s with arguments %s. Expected %d argument(s) but got %d."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 859
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
            dup
            iconst_2
            iload 3 /* expected */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 4 /* actual */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 858
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
         4: .line 860
            aload 6 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 6 // java.lang.String message
        end local 5 // java.lang.String[] formattedArgs
        end local 4 // int actual
        end local 3 // int expected
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    5     1       receiver  Ljava/lang/Object;
            0    5     2      arguments  [Ljava/lang/Object;
            0    5     3       expected  I
            0    5     4         actual  I
            1    5     5  formattedArgs  [Ljava/lang/String;
            4    5     6        message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      context    
      receiver   
      arguments  
      expected   
      actual     

  protected static java.lang.RuntimeException invalidExecuteArity(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.Object[], int, int);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;[Ljava/lang/Object;II)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
        start local 3 // int expected
        start local 4 // int actual
         0: .line 865
            aload 0 /* context */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 5 /* formattedArgs */
        start local 5 // java.lang.String[] formattedArgs
         1: .line 866
            ldc "Invalid argument count when executing %s with arguments %s. Expected %d argument(s) but got %d."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 867
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
            dup
            iconst_2
            iload 3 /* expected */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 4 /* actual */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 866
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
         4: .line 868
            aload 6 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 6 // java.lang.String message
        end local 5 // java.lang.String[] formattedArgs
        end local 4 // int actual
        end local 3 // int expected
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    5     1       receiver  Ljava/lang/Object;
            0    5     2      arguments  [Ljava/lang/Object;
            0    5     3       expected  I
            0    5     4         actual  I
            1    5     5  formattedArgs  [Ljava/lang/String;
            4    5     6        message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      context    
      receiver   
      arguments  
      expected   
      actual     

  protected static java.lang.RuntimeException invalidInvokeArity(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.String, java.lang.Object[], int, int);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;II)Ljava/lang/RuntimeException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String member
        start local 3 // java.lang.Object[] arguments
        start local 4 // int expected
        start local 5 // int actual
         0: .line 873
            aload 0 /* context */
            aload 3 /* arguments */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.formatArgs:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
            astore 6 /* formattedArgs */
        start local 6 // java.lang.String[] formattedArgs
         1: .line 874
            ldc "Invalid argument count when invoking '%s' on %s with arguments %s. Expected %d argument(s) but got %d."
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 875
            aload 2 /* member */
            aastore
            dup
            iconst_1
         3: .line 876
            aload 0 /* context */
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 6 /* formattedArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
            dup
            iconst_3
            iload 4 /* expected */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 5 /* actual */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         4: .line 874
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* message */
        start local 7 // java.lang.String message
         5: .line 877
            aload 7 /* message */
            invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalArgument:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
            athrow
        end local 7 // java.lang.String message
        end local 6 // java.lang.String[] formattedArgs
        end local 5 // int actual
        end local 4 // int expected
        end local 3 // java.lang.Object[] arguments
        end local 2 // java.lang.String member
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0        context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    6     1       receiver  Ljava/lang/Object;
            0    6     2         member  Ljava/lang/String;
            0    6     3      arguments  [Ljava/lang/Object;
            0    6     4       expected  I
            0    6     5         actual  I
            1    6     6  formattedArgs  [Ljava/lang/String;
            5    6     7        message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      context    
      receiver   
      member     
      arguments  
      expected   
      actual     

  private static java.lang.String[] formatArgs(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;[Ljava/lang/Object;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 1 // java.lang.Object[] arguments
         0: .line 881
            aload 1 /* arguments */
            arraylength
            anewarray java.lang.String
            astore 2 /* formattedArgs */
        start local 2 // java.lang.String[] formattedArgs
         1: .line 882
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 883
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* formattedArgs */
            iload 3 /* i */
            aload 0 /* context */
            aload 1 /* arguments */
            iload 3 /* i */
            aaload
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.getValueInfo:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)Ljava/lang/String;
            aastore
         4: .line 882
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* arguments */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 885
            aload 2 /* formattedArgs */
            areturn
        end local 2 // java.lang.String[] formattedArgs
        end local 1 // java.lang.Object[] arguments
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0        context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    7     1      arguments  [Ljava/lang/Object;
            1    7     2  formattedArgs  [Ljava/lang/String;
            2    6     3              i  I
    MethodParameters:
           Name  Flags
      context    
      arguments  

  public final java.lang.String toString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 890
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 892
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue.toStringImpl:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5
         2: .line 896
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         3: .line 892
            aload 5
            areturn
         4: .line 893
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         5: .line 894
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         6: .line 895
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 896
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         8: .line 897
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    9     1  receiver  Ljava/lang/Object;
            1    9     2      prev  Ljava/lang/Object;
            5    6     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       4  Class java.lang.Throwable
           1     2       6  any
           4     6       6  any
    MethodParameters:
          Name  Flags
      receiver  

  protected java.lang.String toStringImpl(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 901
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* lib */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary lib
         1: .line 902
            aload 2 /* lib */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 903
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 3 /* result */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 4 /* resultLib */
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary resultLib
         3: .line 905
            aload 4 /* resultLib */
            aload 3 /* result */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
         4: areturn
         5: .line 906
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object com.oracle.truffle.api.interop.InteropLibrary java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         6: .line 907
            ldc "toDisplayString must be coercible to java.lang.String, but is not."
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary resultLib
        end local 3 // java.lang.Object result
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary lib
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1   receiver  Ljava/lang/Object;
            1    7     2        lib  Lcom/oracle/truffle/api/interop/InteropLibrary;
            2    7     3     result  Ljava/lang/Object;
            3    7     4  resultLib  Lcom/oracle/truffle/api/interop/InteropLibrary;
            6    7     5          e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           3     4       5  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    Exceptions:
      throws java.lang.AssertionError
    MethodParameters:
          Name  Flags
      receiver  

  public org.graalvm.polyglot.SourceSection getSourceLocation(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 913
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            ifnonnull 2
         1: .line 914
            aconst_null
            areturn
         2: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         3: .line 918
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* lib */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary lib
         4: .line 919
            aconst_null
            astore 4 /* result */
        start local 4 // com.oracle.truffle.api.source.SourceSection result
         5: .line 920
            aload 3 /* lib */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 922
            aload 3 /* lib */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* result */
         7: .line 923
            goto 9
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.source.SourceSection
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         8: pop
         9: .line 926
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnonnull 12
        10: .line 933
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
        11: .line 927
            aconst_null
            areturn
        12: .line 929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
            aload 4 /* result */
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getPolyglotSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
            astore 6
        13: .line 933
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
        14: .line 929
            aload 6
            areturn
        end local 4 // com.oracle.truffle.api.source.SourceSection result
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary lib
        15: .line 930
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
        16: .line 931
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
        17: .line 932
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        18: .line 933
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
        19: .line 934
            aload 5
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0   20     1  receiver  Ljava/lang/Object;
            3   20     2      prev  Ljava/lang/Object;
            4   15     3       lib  Lcom/oracle/truffle/api/interop/InteropLibrary;
            5   15     4    result  Lcom/oracle/truffle/api/source/SourceSection;
           16   17     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           3    10      15  Class java.lang.Throwable
          12    13      15  Class java.lang.Throwable
           3    10      17  any
          12    13      17  any
          15    17      17  any
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 939
            iconst_0
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean equalsImpl(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object obj
         0: .line 944
            aload 1 /* receiver */
            aload 2 /* obj */
            if_acmpne 2
         1: .line 945
            iconst_1
            ireturn
         2: .line 947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            aload 2 /* obj */
            invokestatic com.oracle.truffle.polyglot.HostWrapper.equals:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    3     1  receiver  Ljava/lang/Object;
            0    3     2       obj  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  
      obj       

  public int hashCodeImpl(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 952
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.polyglot.HostWrapper.hashCode:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    1     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isMetaInstance(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object instance
         0: .line 957
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 3 /* prev */
        start local 3 // java.lang.Object prev
         1: .line 959
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            ldc "isMetaInstance(Object)"
            ldc "isMetaObject()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 960
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 961
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 4 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 4 // java.lang.Throwable e
         4: .line 962
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         5: .line 963
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 964
            aload 5
            athrow
        end local 3 // java.lang.Object prev
        end local 2 // java.lang.Object instance
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            0    7     2  instance  Ljava/lang/Object;
            1    7     3      prev  Ljava/lang/Object;
            3    4     4         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  
      instance  

  public java.lang.String getMetaQualifiedName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 969
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 971
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            ldc "getMetaQualifiedName()"
            ldc "isMetaObject()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 972
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 973
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         4: .line 974
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 975
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 976
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            1    7     2      prev  Ljava/lang/Object;
            3    4     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.String getMetaSimpleName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue this
        start local 1 // java.lang.Object receiver
         0: .line 981
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostEnter:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
            astore 2 /* prev */
        start local 2 // java.lang.Object prev
         1: .line 983
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 1 /* receiver */
            ldc "getMetaSimpleName()"
            ldc "isMetaObject()"
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.unsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 984
      StackMap locals: com.oracle.truffle.polyglot.PolyglotValue java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 985
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 3 /* e */
            iconst_1
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
            athrow
        end local 3 // java.lang.Throwable e
         4: .line 986
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 987
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotValue.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            aload 2 /* prev */
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.hostLeave:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
         6: .line 988
            aload 4
            athrow
        end local 2 // java.lang.Object prev
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/polyglot/PolyglotValue;
            0    7     1  receiver  Ljava/lang/Object;
            1    7     2      prev  Ljava/lang/Object;
            3    4     3         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       2  Class java.lang.Throwable
           1     4       4  any
    MethodParameters:
          Name  Flags
      receiver  

  static com.oracle.truffle.api.CallTarget createTarget(com.oracle.truffle.polyglot.PolyglotValue$InteropNode);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;)Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode root
         0: .line 992
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 0 /* root */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* target */
        start local 1 // com.oracle.truffle.api.CallTarget target
         1: .line 993
            aload 0 /* root */
            invokevirtual com.oracle.truffle.polyglot.PolyglotValue$InteropNode.getArgumentTypes:()[Ljava/lang/Class;
            astore 2 /* types */
        start local 2 // java.lang.Class[] types
         2: .line 994
            aload 2 /* types */
            ifnull 4
         3: .line 995
            getstatic com.oracle.truffle.polyglot.EngineAccessor.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
            aload 1 /* target */
            aload 2 /* types */
            invokevirtual com.oracle.truffle.api.impl.Accessor$RuntimeSupport.initializeProfile:(Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Class;)V
         4: .line 997
      StackMap locals: com.oracle.truffle.api.CallTarget java.lang.Class[]
      StackMap stack:
            aload 1 /* target */
            areturn
        end local 2 // java.lang.Class[] types
        end local 1 // com.oracle.truffle.api.CallTarget target
        end local 0 // com.oracle.truffle.polyglot.PolyglotValue$InteropNode root
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    root  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropNode;
            1    5     1  target  Lcom/oracle/truffle/api/CallTarget;
            2    5     2   types  [Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      root  

  static com.oracle.truffle.polyglot.PolyglotValue createInteropValue(com.oracle.truffle.polyglot.PolyglotLanguageContext, com.oracle.truffle.api.interop.TruffleObject, java.lang.Class<?>);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/api/interop/TruffleObject;Ljava/lang/Class;)Lcom/oracle/truffle/polyglot/PolyglotValue;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 1 // com.oracle.truffle.api.interop.TruffleObject receiver
        start local 2 // java.lang.Class receiverType
         0: .line 1001
            aload 0 /* languageContext */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getLanguageInstance:()Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            astore 3 /* languageInstance */
        start local 3 // com.oracle.truffle.polyglot.PolyglotLanguageInstance languageInstance
         1: .line 1002
            aload 3 /* languageInstance */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.valueCodeCache:Ljava/util/Map;
            aload 2 /* receiverType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache
            astore 4 /* cache */
        start local 4 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache cache
         2: .line 1003
            aload 4 /* cache */
            ifnonnull 5
         3: .line 1004
            new com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache
            dup
            aload 3 /* languageInstance */
            aload 1 /* receiver */
            aload 2 /* receiverType */
            invokespecial com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache.<init>:(Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;Lcom/oracle/truffle/api/interop/TruffleObject;Ljava/lang/Class;)V
            astore 4 /* cache */
         4: .line 1005
            aload 3 /* languageInstance */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.valueCodeCache:Ljava/util/Map;
            aload 2 /* receiverType */
            aload 4 /* cache */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1007
      StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageInstance com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache
      StackMap stack:
            new com.oracle.truffle.polyglot.PolyglotValue$InteropValue
            dup
            aload 0 /* languageContext */
            aload 4 /* cache */
            invokespecial com.oracle.truffle.polyglot.PolyglotValue$InteropValue.<init>:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;)V
            areturn
        end local 4 // com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache cache
        end local 3 // com.oracle.truffle.polyglot.PolyglotLanguageInstance languageInstance
        end local 2 // java.lang.Class receiverType
        end local 1 // com.oracle.truffle.api.interop.TruffleObject receiver
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0   languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    6     1          receiver  Lcom/oracle/truffle/api/interop/TruffleObject;
            0    6     2      receiverType  Ljava/lang/Class<*>;
            1    6     3  languageInstance  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            2    6     4             cache  Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/api/interop/TruffleObject;Ljava/lang/Class<*>;)Lcom/oracle/truffle/polyglot/PolyglotValue;
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         
      receiverType     

  static com.oracle.truffle.polyglot.PolyglotValue createHostNull(com.oracle.truffle.polyglot.PolyglotImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;)Lcom/oracle/truffle/polyglot/PolyglotValue;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
         0: .line 1011
            new com.oracle.truffle.polyglot.PolyglotValue$HostNull
            dup
            aload 0 /* polyglot */
            invokespecial com.oracle.truffle.polyglot.PolyglotValue$HostNull.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)V
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
    MethodParameters:
          Name  Flags
      polyglot  

  static void createDefaultValues(com.oracle.truffle.polyglot.PolyglotImpl, com.oracle.truffle.polyglot.PolyglotLanguageContext, java.util.Map<java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotValue>);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 2 // java.util.Map valueCache
         0: .line 1015
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         1: .line 1016
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            ldc ""
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         2: .line 1017
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            bipush 97
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         3: .line 1018
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         4: .line 1019
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            iconst_0
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         5: .line 1020
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         6: .line 1021
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         7: .line 1022
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            fconst_0
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         8: .line 1023
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 2 /* valueCache */
            dconst_0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokestatic com.oracle.truffle.polyglot.PolyglotValue.addDefaultValue:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
         9: .line 1024
            return
        end local 2 // java.util.Map valueCache
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        end local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0    polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
            0   10     1     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   10     2  valueCache  Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;)V
    MethodParameters:
            Name  Flags
      polyglot    
      context     
      valueCache  

  static void addDefaultValue(com.oracle.truffle.polyglot.PolyglotImpl, com.oracle.truffle.polyglot.PolyglotLanguageContext, java.util.Map<java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotValue>, );
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        start local 2 // java.util.Map valueCache
        start local 3 // java.lang.Object primitive
         0: .line 1027
            aload 2 /* valueCache */
            aload 3 /* primitive */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            new com.oracle.truffle.polyglot.PolyglotValue$PrimitiveValue
            dup
            aload 0 /* polyglot */
            aload 1 /* context */
            aload 3 /* primitive */
            invokespecial com.oracle.truffle.polyglot.PolyglotValue$PrimitiveValue.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1028
            return
        end local 3 // java.lang.Object primitive
        end local 2 // java.util.Map valueCache
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext context
        end local 0 // com.oracle.truffle.polyglot.PolyglotImpl polyglot
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0    polyglot  Lcom/oracle/truffle/polyglot/PolyglotImpl;
            0    2     1     context  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0    2     2  valueCache  Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;
            0    2     3   primitive  Ljava/lang/Object;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;Ljava/lang/Object;)V
    MethodParameters:
            Name  Flags
      polyglot    
      context     
      valueCache  
      primitive   
}
SourceFile: "PolyglotValue.java"
NestMembers:
  com.oracle.truffle.polyglot.PolyglotValue$HostNull  com.oracle.truffle.polyglot.PolyglotValue$HostValue  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractExecuteNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractInvokeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractMemberInfoNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsClassLiteralNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsDateNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsDurationNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsInstantNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsNativePointerNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsTimeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsTimeZoneNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AsTypeLiteralNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$CanExecuteNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$CanInstantiateNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$CanInvokeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteNoArgsNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteVoidNoArgsNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteVoidNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetArrayElementNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetArraySizeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetMemberKeysNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetMemberNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetMetaQualifiedNameNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$GetMetaSimpleNameNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$HasArrayElementsNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$HasMemberNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$HasMembersNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$InvokeNoArgsNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$InvokeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsDateNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsDurationNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsExceptionNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsMetaInstanceNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsMetaObjectNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsNativePointerNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsNullNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsTimeNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$IsTimeZoneNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$NewInstanceNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$PutMemberNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$RemoveArrayElementNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$RemoveMemberNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$SetArrayElementNode  com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ThrowExceptionNode  com.oracle.truffle.polyglot.PolyglotValue$InteropNode  com.oracle.truffle.polyglot.PolyglotValue$InteropValue  com.oracle.truffle.polyglot.PolyglotValue$InteropValue$MemberSet  com.oracle.truffle.polyglot.PolyglotValue$InteropValue$MemberSet$1  com.oracle.truffle.polyglot.PolyglotValue$PrimitiveValue
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract RuntimeSupport = com.oracle.truffle.api.impl.Accessor$RuntimeSupport of com.oracle.truffle.api.impl.Accessor
  final EngineImpl = com.oracle.truffle.polyglot.EngineAccessor$EngineImpl of com.oracle.truffle.polyglot.EngineAccessor
  private final HostNull = com.oracle.truffle.polyglot.PolyglotValue$HostNull of com.oracle.truffle.polyglot.PolyglotValue
  final HostValue = com.oracle.truffle.polyglot.PolyglotValue$HostValue of com.oracle.truffle.polyglot.PolyglotValue
  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
  private final InteropValue = com.oracle.truffle.polyglot.PolyglotValue$InteropValue of com.oracle.truffle.polyglot.PolyglotValue
  final PrimitiveValue = com.oracle.truffle.polyglot.PolyglotValue$PrimitiveValue of com.oracle.truffle.polyglot.PolyglotValue
  public abstract AbstractValueImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl