public class com.oracle.truffle.api.test.polyglot.ProxyAPITest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.test.polyglot.ProxyAPITest
  super_class: java.lang.Object
{
  private org.graalvm.polyglot.Context context;
    descriptor: Lorg/graalvm/polyglot/Context;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;

  public void setUp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 98
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
            invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
         1: .line 99
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void tearDown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 103
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.close:()V
         1: .line 104
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
    RuntimeVisibleAnnotations: 
      org.junit.After()

  public void testProxy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 108
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$1.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            astore 1 /* proxy */
        start local 1 // org.graalvm.polyglot.proxy.Proxy proxy
         1: .line 110
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* proxy */
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* value */
        start local 2 // org.graalvm.polyglot.Value value
         2: .line 111
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.isProxyObject:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 112
            aload 1 /* proxy */
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.asProxyObject:()Lorg/graalvm/polyglot/proxy/Proxy;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 113
            aload 2 /* value */
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.PROXY_OBJECT:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertUnsupported:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
         5: .line 114
            return
        end local 2 // org.graalvm.polyglot.Value value
        end local 1 // org.graalvm.polyglot.proxy.Proxy proxy
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1    6     1  proxy  Lorg/graalvm/polyglot/proxy/Proxy;
            2    6     2  value  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testProxyArray();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 145
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.<init>:()V
            astore 1 /* proxy */
        start local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest proxy
         1: .line 147
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* proxy */
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* value */
        start local 2 // org.graalvm.polyglot.Value value
         2: .line 149
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.isProxyObject:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 150
            aload 1 /* proxy */
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.asProxyObject:()Lorg/graalvm/polyglot/proxy/Proxy;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 152
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.hasArrayElements:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 154
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 155
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.setCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 156
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSizeCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 158
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$0(Ljava/lang/Long;)Ljava/lang/Object; (6)
                  (Ljava/lang/Long;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.get:Ljava/util/function/Function;
         9: .line 159
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$1()Ljava/lang/Long; (6)
                  ()Ljava/lang/Long;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        10: .line 160
            ldc 42
            aload 2 /* value */
            ldc 42
            invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 161
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 162
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.setCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 163
            aload 1 /* proxy */
            iconst_0
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
        14: .line 164
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.get:Ljava/util/function/Function;
        15: .line 166
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 3 /* setObject */
        start local 3 // java.lang.Object setObject
        16: .line 167
            aload 1 /* proxy */
            aload 3 /* setObject */
            invokedynamic apply(Ljava/lang/Object;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$2(Ljava/lang/Object;Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void; (6)
                  (Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.set:Ljava/util/function/BiFunction;
        17: .line 171
            aload 2 /* value */
            ldc 42
            aload 3 /* setObject */
            invokevirtual org.graalvm.polyglot.Value.setArrayElement:(JLjava/lang/Object;)V
        18: .line 172
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 173
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.setCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        20: .line 174
            aload 1 /* proxy */
            iconst_0
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.setCounter:I
        21: .line 175
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.set:Ljava/util/function/BiFunction;
        22: .line 177
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$3()Ljava/lang/Long; (6)
                  ()Ljava/lang/Long;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        23: .line 178
            ldc 42
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        24: .line 179
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 180
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.setCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        26: .line 181
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        27: .line 182
            aload 1 /* proxy */
            iconst_0
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getCounter:I
        28: .line 184
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            astore 4 /* ex */
        start local 4 // java.lang.RuntimeException ex
        29: .line 186
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$4()Ljava/lang/Long; (6)
                  ()Ljava/lang/Long;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        30: .line 189
            aload 1 /* proxy */
            aload 4 /* ex */
            invokedynamic apply(Ljava/lang/RuntimeException;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$5(Ljava/lang/RuntimeException;Ljava/lang/Long;)Ljava/lang/Object; (6)
                  (Ljava/lang/Long;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.get:Ljava/util/function/Function;
        31: .line 194
            aload 2 /* value */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$6(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            aload 4 /* ex */
            invokedynamic accept(Ljava/lang/RuntimeException;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$7(Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        32: .line 199
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.get:Ljava/util/function/Function;
        33: .line 201
            aload 1 /* proxy */
            aload 4 /* ex */
            invokedynamic apply(Ljava/lang/RuntimeException;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$8(Ljava/lang/RuntimeException;Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void; (6)
                  (Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.set:Ljava/util/function/BiFunction;
        34: .line 204
            aload 2 /* value */
            invokedynamic run(Lorg/graalvm/polyglot/Value;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$9(Lorg/graalvm/polyglot/Value;)V (6)
                  ()V
            ldc Lorg/graalvm/polyglot/PolyglotException;
            aload 4 /* ex */
            invokedynamic accept(Ljava/lang/RuntimeException;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$10(Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        35: .line 209
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.set:Ljava/util/function/BiFunction;
        36: .line 211
            aload 1 /* proxy */
            aload 4 /* ex */
            invokedynamic get(Ljava/lang/RuntimeException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$11(Ljava/lang/RuntimeException;)Ljava/lang/Long; (6)
                  ()Ljava/lang/Long;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        37: .line 214
            aload 2 /* value */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$12(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            aload 4 /* ex */
            invokedynamic accept(Ljava/lang/RuntimeException;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$13(Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        38: .line 219
            aload 1 /* proxy */
            aconst_null
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest.getSize:Ljava/util/function/Supplier;
        39: .line 220
            return
        end local 4 // java.lang.RuntimeException ex
        end local 3 // java.lang.Object setObject
        end local 2 // org.graalvm.polyglot.Value value
        end local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest proxy
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0       this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   40     1      proxy  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$ProxyArrayTest;
            2   40     2      value  Lorg/graalvm/polyglot/Value;
           16   40     3  setObject  Ljava/lang/Object;
           29   40     4         ex  Ljava/lang/RuntimeException;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testProxyExecutable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 235
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.<init>:()V
            astore 1 /* proxy */
        start local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest proxy
         1: .line 237
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* proxy */
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* value */
        start local 2 // org.graalvm.polyglot.Value value
         2: .line 239
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 240
            aload 1 /* proxy */
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.asProxyObject:()Lorg/graalvm/polyglot/proxy/Proxy;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 242
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.executeCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 244
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$14([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.execute:Ljava/util/function/Function;
         6: .line 260
            ldc 42
            aload 2 /* value */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 97
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            dup
            iconst_1
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 261
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.executeCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 263
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         9: .line 264
            aload 1 /* proxy */
            aload 3 /* ex */
            invokedynamic apply(Ljava/lang/RuntimeException;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$15(Ljava/lang/RuntimeException;[Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.execute:Ljava/util/function/Function;
        10: .line 269
            aload 2 /* value */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 270
            invokestatic org.junit.Assert.fail:()V
        12: .line 271
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest org.graalvm.polyglot.Value java.lang.RuntimeException
      StackMap stack: org.graalvm.polyglot.PolyglotException
        13: astore 4 /* e */
        start local 4 // org.graalvm.polyglot.PolyglotException e
        14: .line 272
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        15: .line 273
            aload 3 /* ex */
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 274
            ldc 2
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest.executeCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 4 // org.graalvm.polyglot.PolyglotException e
        17: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            iconst_2
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.PROXY_OBJECT:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.EXECUTABLE:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
        18: .line 277
            return
        end local 3 // java.lang.RuntimeException ex
        end local 2 // org.graalvm.polyglot.Value value
        end local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest proxy
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   19     1  proxy  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$ProxyExecutableTest;
            2   19     2  value  Lorg/graalvm/polyglot/Value;
            9   19     3     ex  Ljava/lang/RuntimeException;
           14   17     4      e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
          10    12      13  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testProxyInstantiable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 293
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.<init>:()V
            astore 1 /* proxy */
        start local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest proxy
         1: .line 295
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* proxy */
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* value */
        start local 2 // org.graalvm.polyglot.Value value
         2: .line 297
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.canInstantiate:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 298
            aload 1 /* proxy */
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.asProxyObject:()Lorg/graalvm/polyglot/proxy/Proxy;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 300
            lconst_0
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.newInstanceCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 302
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$16([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.newInstance:Ljava/util/function/Function;
         6: .line 318
            ldc 42
            aload 2 /* value */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 97
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            dup
            iconst_1
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.polyglot.Value.newInstance:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 319
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.newInstanceCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 321
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         9: .line 322
            aload 1 /* proxy */
            aload 3 /* ex */
            invokedynamic apply(Ljava/lang/RuntimeException;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$17(Ljava/lang/RuntimeException;[Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.newInstance:Ljava/util/function/Function;
        10: .line 327
            aload 2 /* value */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.newInstance:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 328
            invokestatic org.junit.Assert.fail:()V
        12: .line 329
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest org.graalvm.polyglot.Value java.lang.RuntimeException
      StackMap stack: org.graalvm.polyglot.PolyglotException
        13: astore 4 /* e */
        start local 4 // org.graalvm.polyglot.PolyglotException e
        14: .line 330
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        15: .line 331
            aload 3 /* ex */
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 332
            ldc 2
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest.newInstanceCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 4 // org.graalvm.polyglot.PolyglotException e
        17: .line 334
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            iconst_2
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.PROXY_OBJECT:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.INSTANTIABLE:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
        18: .line 335
            return
        end local 3 // java.lang.RuntimeException ex
        end local 2 // org.graalvm.polyglot.Value value
        end local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest proxy
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   19     1  proxy  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$ProxyInstantiableTest;
            2   19     2  value  Lorg/graalvm/polyglot/Value;
            9   19     3     ex  Ljava/lang/RuntimeException;
           14   17     4      e  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
          10    12      13  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testProxyObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 374
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.<init>:()V
            astore 1 /* proxy */
        start local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest proxy
         1: .line 376
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* proxy */
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* value */
        start local 2 // org.graalvm.polyglot.Value value
         2: .line 378
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.hasMembers:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 379
            aload 1 /* proxy */
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.asProxyObject:()Lorg/graalvm/polyglot/proxy/Proxy;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 381
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$18(Ljava/lang/String;)Ljava/lang/Boolean; (6)
                  (Ljava/lang/String;)Ljava/lang/Boolean;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMember:Ljava/util/function/Function;
         5: .line 385
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$19(Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void; (6)
                  (Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.putMember:Ljava/util/function/BiFunction;
         6: .line 391
            aload 2 /* value */
            ldc "foo"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 392
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.putMemberCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 394
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$20(Ljava/lang/String;)Ljava/lang/Boolean; (6)
                  (Ljava/lang/String;)Ljava/lang/Boolean;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMember:Ljava/util/function/Function;
         9: .line 398
            aload 1 /* proxy */
            iconst_0
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMemberCounter:I
        10: .line 399
            aload 2 /* value */
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.hasMember:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 400
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMemberCounter:I
            ifle 12
            iconst_1
            goto 13
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest org.graalvm.polyglot.Value
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: invokestatic org.junit.Assert.assertTrue:(Z)V
        14: .line 402
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$21(Ljava/lang/String;)Ljava/lang/Object; (6)
                  (Ljava/lang/String;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMember:Ljava/util/function/Function;
        15: .line 406
            ldc 42
            aload 2 /* value */
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        16: .line 407
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 409
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "a"
            aastore
            dup
            iconst_1
            ldc "b"
            aastore
            dup
            iconst_2
            ldc "c"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* testKeys */
        start local 3 // java.util.List testKeys
        18: .line 410
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic apply(Ljava/util/List;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$22(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Boolean; (6)
                  (Ljava/lang/String;)Ljava/lang/Boolean;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMember:Ljava/util/function/Function;
        19: .line 413
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic get(Ljava/util/List;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$23(Ljava/util/List;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        20: .line 417
            new java.util.HashSet
            dup
            aload 3 /* testKeys */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 418
            lconst_1
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        22: .line 420
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic get(Ljava/util/List;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$24(Ljava/util/List;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        23: .line 424
            new java.util.HashSet
            dup
            aload 3 /* testKeys */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 425
            ldc 2
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 427
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic get(Ljava/util/List;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$25(Ljava/util/List;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        26: .line 431
            new java.util.HashSet
            dup
            aload 3 /* testKeys */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 432
            ldc 3
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        28: .line 434
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$26()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        29: .line 438
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 439
            ldc 4
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        31: .line 441
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$27()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        32: .line 445
            new java.util.HashSet
            dup
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "a"
            aastore
            dup
            iconst_1
            ldc "c"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        33: .line 446
            ldc 5
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        34: .line 448
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$28(Ljava/lang/String;)Ljava/lang/Boolean; (6)
                  (Ljava/lang/String;)Ljava/lang/Boolean;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMember:Ljava/util/function/Function;
        35: .line 452
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$29()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        36: .line 456
            aload 2 /* value */
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        37: .line 457
            ldc 6
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        38: .line 459
            aload 1 /* proxy */
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$30()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        39: .line 462
            aload 2 /* value */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$31(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$32(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        40: .line 466
            ldc 7
            aload 1 /* proxy */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeysCounter:I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        41: .line 468
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic get(Ljava/util/List;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$33(Ljava/util/List;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMemberKeys:Ljava/util/function/Supplier;
        42: .line 471
            aload 1 /* proxy */
            aload 3 /* testKeys */
            invokedynamic apply(Ljava/util/List;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$34(Ljava/util/List;Ljava/lang/String;)Ljava/lang/Boolean; (6)
                  (Ljava/lang/String;)Ljava/lang/Boolean;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.hasMember:Ljava/util/function/Function;
        43: .line 474
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$35(Ljava/lang/String;)Ljava/lang/Object; (6)
                  (Ljava/lang/String;)Ljava/lang/Object;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.getMember:Ljava/util/function/Function;
        44: .line 477
            aload 1 /* proxy */
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$36(Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void; (6)
                  (Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
            putfield com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest.putMember:Ljava/util/function/BiFunction;
        45: .line 480
            aload 2 /* value */
            iconst_2
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.PROXY_OBJECT:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            dup
            iconst_1
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.MEMBERS:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
        46: .line 481
            return
        end local 3 // java.util.List testKeys
        end local 2 // org.graalvm.polyglot.Value value
        end local 1 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest proxy
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   47     0      this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   47     1     proxy  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$ProxyObjectTest;
            2   47     2     value  Lorg/graalvm/polyglot/Value;
           18   47     3  testKeys  Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExceptionFrames();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 485
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$2
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$2.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 1 /* innerInner */
        start local 1 // org.graalvm.polyglot.Value innerInner
         1: .line 491
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$3
            dup
            aload 0 /* this */
            aload 1 /* innerInner */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$3.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;Lorg/graalvm/polyglot/Value;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* inner */
        start local 2 // org.graalvm.polyglot.Value inner
         2: .line 497
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$4
            dup
            aload 0 /* this */
            aload 2 /* inner */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$4.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;Lorg/graalvm/polyglot/Value;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 3 /* outer */
        start local 3 // org.graalvm.polyglot.Value outer
         3: .line 504
            aload 3 /* outer */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 505
            invokestatic org.junit.Assert.fail:()V
         5: .line 506
            goto 21
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.Value
      StackMap stack: org.graalvm.polyglot.PolyglotException
         6: astore 4 /* e */
        start local 4 // org.graalvm.polyglot.PolyglotException e
         7: .line 507
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 508
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.RuntimeException
            invokestatic org.junit.Assert.assertTrue:(Z)V
         9: .line 509
            ldc "foobar"
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 510
            aload 4 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getPolyglotStackTrace:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5 /* frameIterator */
        start local 5 // java.util.Iterator frameIterator
        11: .line 512
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 17
        13: .line 513
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.PolyglotException java.util.Iterator top int
      StackMap stack:
            aload 5 /* frameIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            astore 6 /* frame */
        start local 6 // org.graalvm.polyglot.PolyglotException$StackFrame frame
        14: .line 514
            aload 6 /* frame */
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.isHostFrame:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        15: .line 515
            ldc "execute"
            aload 6 /* frame */
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.toHostFrame:()Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 512
            iinc 7 /* i */ 1
        end local 6 // org.graalvm.polyglot.PolyglotException$StackFrame frame
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            bipush 6
            if_icmplt 13
        end local 7 // int i
        18: .line 518
            aload 5 /* frameIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.PolyglotException$StackFrame
            astore 6 /* frame */
        start local 6 // org.graalvm.polyglot.PolyglotException$StackFrame frame
        19: .line 519
            aload 6 /* frame */
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.isHostFrame:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        20: .line 520
            ldc "testExceptionFrames"
            aload 6 /* frame */
            invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.toHostFrame:()Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // org.graalvm.polyglot.PolyglotException$StackFrame frame
        end local 5 // java.util.Iterator frameIterator
        end local 4 // org.graalvm.polyglot.PolyglotException e
        21: .line 522
      StackMap locals: com.oracle.truffle.api.test.polyglot.ProxyAPITest org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.Value
      StackMap stack:
            return
        end local 3 // org.graalvm.polyglot.Value outer
        end local 2 // org.graalvm.polyglot.Value inner
        end local 1 // org.graalvm.polyglot.Value innerInner
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   22     1     innerInner  Lorg/graalvm/polyglot/Value;
            2   22     2          inner  Lorg/graalvm/polyglot/Value;
            3   22     3          outer  Lorg/graalvm/polyglot/Value;
            7   21     4              e  Lorg/graalvm/polyglot/PolyglotException;
           11   21     5  frameIterator  Ljava/util/Iterator<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;
           14   17     6          frame  Lorg/graalvm/polyglot/PolyglotException$StackFrame;
           19   21     6          frame  Lorg/graalvm/polyglot/PolyglotException$StackFrame;
           12   18     7              i  I
      Exception table:
        from    to  target  type
           3     5       6  Class org.graalvm.polyglot.PolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidArrayCopying();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 533
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$5
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$5.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 1 /* executable */
        start local 1 // org.graalvm.polyglot.Value executable
         1: .line 539
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$6
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$6.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* instantiable */
        start local 2 // org.graalvm.polyglot.Value instantiable
         2: .line 545
            iconst_1
            anewarray com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject
            dup
            iconst_0
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject.<init>:()V
            aastore
            astore 3 /* arg0 */
        start local 3 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject[] arg0
         3: .line 546
            iconst_2
            anewarray com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject
            dup
            iconst_0
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject.<init>:()V
            aastore
            dup
            iconst_1
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject.<init>:()V
            aastore
            astore 4 /* arg1 */
        start local 4 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject[] arg1
         4: .line 547
            aload 3 /* arg0 */
            iconst_0
            aaload
            aload 1 /* executable */
            aload 3 /* arg0 */
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 548
            aload 4 /* arg1 */
            iconst_0
            aaload
            aload 1 /* executable */
            aload 4 /* arg1 */
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 550
            aload 3 /* arg0 */
            iconst_0
            aaload
            aload 2 /* instantiable */
            aload 3 /* arg0 */
            invokevirtual org.graalvm.polyglot.Value.newInstance:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 551
            aload 4 /* arg1 */
            iconst_0
            aaload
            aload 2 /* instantiable */
            aload 4 /* arg1 */
            invokevirtual org.graalvm.polyglot.Value.newInstance:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 552
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject[] arg1
        end local 3 // com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject[] arg0
        end local 2 // org.graalvm.polyglot.Value instantiable
        end local 1 // org.graalvm.polyglot.Value executable
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1    9     1    executable  Lorg/graalvm/polyglot/Value;
            2    9     2  instantiable  Lorg/graalvm/polyglot/Value;
            3    9     3          arg0  [Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$DummyObject;
            4    9     4          arg1  [Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest$DummyObject;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidReturnValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 556
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$7
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$7.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 1 /* date */
        start local 1 // org.graalvm.polyglot.Value date
         1: .line 561
            aload 1 /* date */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$37(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$38(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         2: .line 563
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$8
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$8.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* time */
        start local 2 // org.graalvm.polyglot.Value time
         3: .line 568
            aload 2 /* time */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$39(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$40(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         4: .line 570
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$9
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$9.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 3 /* timeZone */
        start local 3 // org.graalvm.polyglot.Value timeZone
         5: .line 575
            aload 3 /* timeZone */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$41(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$42(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         6: .line 577
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$10
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$10.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 4 /* instant */
        start local 4 // org.graalvm.polyglot.Value instant
         7: .line 582
            aload 4 /* instant */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$43(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$44(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         8: .line 584
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$11
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$11.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 5 /* duration */
        start local 5 // org.graalvm.polyglot.Value duration
         9: .line 589
            aload 5 /* duration */
            invokedynamic call(Lorg/graalvm/polyglot/Value;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$45(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/ProxyAPITest.lambda$46(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        10: .line 590
            return
        end local 5 // org.graalvm.polyglot.Value duration
        end local 4 // org.graalvm.polyglot.Value instant
        end local 3 // org.graalvm.polyglot.Value timeZone
        end local 2 // org.graalvm.polyglot.Value time
        end local 1 // org.graalvm.polyglot.Value date
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1   11     1      date  Lorg/graalvm/polyglot/Value;
            3   11     2      time  Lorg/graalvm/polyglot/Value;
            5   11     3  timeZone  Lorg/graalvm/polyglot/Value;
            7   11     4   instant  Lorg/graalvm/polyglot/Value;
            9   11     5  duration  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testProxyEquality();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
         0: .line 620
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$P0
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$P0.<init>:()V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 1 /* p0 */
        start local 1 // org.graalvm.polyglot.Value p0
         1: .line 621
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ProxyAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ProxyAPITest$P1
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyAPITest$P1.<init>:()V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* p1 */
        start local 2 // org.graalvm.polyglot.Value p1
         2: .line 622
            aload 1 /* p0 */
            aload 1 /* p0 */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 623
            aload 2 /* p1 */
            aload 2 /* p1 */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 624
            aload 1 /* p0 */
            aload 2 /* p1 */
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 625
            aload 2 /* p1 */
            aload 1 /* p0 */
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 626
            return
        end local 2 // org.graalvm.polyglot.Value p1
        end local 1 // org.graalvm.polyglot.Value p0
        end local 0 // com.oracle.truffle.api.test.polyglot.ProxyAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/test/polyglot/ProxyAPITest;
            1    7     1    p0  Lorg/graalvm/polyglot/Value;
            2    7     2    p1  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static java.lang.Object lambda$0(java.lang.Long);
    descriptor: (Ljava/lang/Long;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Long index
         0: .line 158
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // java.lang.Long index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  Ljava/lang/Long;

  private static java.lang.Long lambda$1();
    descriptor: ()Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 159
            ldc 43
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Void lambda$2(java.lang.Object, java.lang.Long, org.graalvm.polyglot.Value);
    descriptor: (Ljava/lang/Object;Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.Long index
        start local 2 // org.graalvm.polyglot.Value v
         0: .line 168
            aload 0
            aload 2 /* v */
            invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 169
            aconst_null
            areturn
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // java.lang.Long index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1  index  Ljava/lang/Long;
            0    2     2      v  Lorg/graalvm/polyglot/Value;

  private static java.lang.Long lambda$3();
    descriptor: ()Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 177
            ldc 42
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Long lambda$4();
    descriptor: ()Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 187
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$5(java.lang.RuntimeException, java.lang.Long);
    descriptor: (Ljava/lang/RuntimeException;Ljava/lang/Long;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // java.lang.Long index
         0: .line 190
            aload 0
            athrow
        end local 1 // java.lang.Long index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  index  Ljava/lang/Long;

  private static java.lang.Object lambda$6(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 194
            aload 0
            ldc 42
            invokevirtual org.graalvm.polyglot.Value.getArrayElement:(J)Lorg/graalvm/polyglot/Value;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$7(java.lang.RuntimeException, org.graalvm.polyglot.PolyglotException);
    descriptor: (Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.polyglot.PolyglotException e
         0: .line 195
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 196
            aload 0
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 197
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         3: .line 198
            return
        end local 1 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Void lambda$8(java.lang.RuntimeException, java.lang.Long, org.graalvm.polyglot.Value);
    descriptor: (Ljava/lang/RuntimeException;Ljava/lang/Long;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // java.lang.Long index
        start local 2 // org.graalvm.polyglot.Value v
         0: .line 202
            aload 0
            athrow
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // java.lang.Long index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  index  Ljava/lang/Long;
            0    1     2      v  Lorg/graalvm/polyglot/Value;

  private static void lambda$9(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
         0: .line 204
            aload 0
            ldc 42
            aconst_null
            invokevirtual org.graalvm.polyglot.Value.setArrayElement:(JLjava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$10(java.lang.RuntimeException, org.graalvm.polyglot.PolyglotException);
    descriptor: (Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.polyglot.PolyglotException e
         0: .line 205
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 206
            aload 0
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 207
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         3: .line 208
            return
        end local 1 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Long lambda$11(java.lang.RuntimeException);
    descriptor: (Ljava/lang/RuntimeException;)Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 212
            aload 0
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$12(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 214
            aload 0
            invokevirtual org.graalvm.polyglot.Value.getArraySize:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$13(java.lang.RuntimeException, org.graalvm.polyglot.PolyglotException);
    descriptor: (Ljava/lang/RuntimeException;Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.polyglot.PolyglotException e
         0: .line 215
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 216
            aload 0
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 217
            aload 1 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         3: .line 218
            return
        end local 1 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$14(org.graalvm.polyglot.Value[]);
    descriptor: ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.Value[] args
         0: .line 245
            ldc 2
            aload 0 /* args */
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 246
            ldc "a"
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 247
            bipush 97
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aload 0 /* args */
            iconst_0
            aaload
            ldc Ljava/lang/Object;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 248
            aload 0 /* args */
            iconst_0
            aaload
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.STRING:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
         4: .line 250
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 251
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asByte:()B
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 252
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asShort:()S
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 253
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 254
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asLong:()J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 255
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* args */
            iconst_1
            aaload
            ldc Ljava/lang/Object;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 256
            aload 0 /* args */
            iconst_1
            aaload
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.NUMBER:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
        11: .line 257
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // org.graalvm.polyglot.Value[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  args  [Lorg/graalvm/polyglot/Value;

  private static java.lang.Object lambda$15(java.lang.RuntimeException, org.graalvm.polyglot.Value[]);
    descriptor: (Ljava/lang/RuntimeException;[Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // org.graalvm.polyglot.Value[] args
         0: .line 265
            aload 0
            athrow
        end local 1 // org.graalvm.polyglot.Value[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  args  [Lorg/graalvm/polyglot/Value;

  private static java.lang.Object lambda$16(org.graalvm.polyglot.Value[]);
    descriptor: ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.Value[] args
         0: .line 303
            ldc 2
            aload 0 /* args */
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 304
            ldc "a"
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 305
            bipush 97
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aload 0 /* args */
            iconst_0
            aaload
            ldc Ljava/lang/Object;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 306
            aload 0 /* args */
            iconst_0
            aaload
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.STRING:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
         4: .line 308
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 309
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asByte:()B
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 310
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asShort:()S
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 311
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 312
            ldc 42
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.polyglot.Value.asLong:()J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 313
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* args */
            iconst_1
            aaload
            ldc Ljava/lang/Object;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 314
            aload 0 /* args */
            iconst_1
            aaload
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.NUMBER:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
        11: .line 315
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // org.graalvm.polyglot.Value[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  args  [Lorg/graalvm/polyglot/Value;

  private static java.lang.Object lambda$17(java.lang.RuntimeException, org.graalvm.polyglot.Value[]);
    descriptor: (Ljava/lang/RuntimeException;[Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // org.graalvm.polyglot.Value[] args
         0: .line 323
            aload 0
            athrow
        end local 1 // org.graalvm.polyglot.Value[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  args  [Lorg/graalvm/polyglot/Value;

  private static java.lang.Boolean lambda$18(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 382
            ldc "foo"
            aload 0 /* key */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 383
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   key  Ljava/lang/String;

  private static java.lang.Void lambda$19(java.lang.String, org.graalvm.polyglot.Value);
    descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // org.graalvm.polyglot.Value v
         0: .line 386
            ldc "foo"
            aload 0 /* key */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 387
            ldc 42
            aload 1 /* v */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 388
            aload 1 /* v */
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            getstatic com.oracle.truffle.tck.tests.ValueAssert$Trait.NUMBER:Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;
            aastore
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;[Lcom/oracle/truffle/tck/tests/ValueAssert$Trait;)V
         3: .line 389
            aconst_null
            areturn
        end local 1 // org.graalvm.polyglot.Value v
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   key  Ljava/lang/String;
            0    4     1     v  Lorg/graalvm/polyglot/Value;

  private static java.lang.Boolean lambda$20(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 395
            ldc "foo"
            aload 0 /* key */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 396
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   key  Ljava/lang/String;

  private static java.lang.Object lambda$21(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 403
            ldc "foo"
            aload 0 /* key */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 404
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   key  Ljava/lang/String;

  private static java.lang.Boolean lambda$22(java.util.List, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String key
         0: .line 411
            aload 0
            aload 1 /* key */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   key  Ljava/lang/String;

  private static java.lang.Object lambda$23(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 414
            aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$24(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 421
            aload 0
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$25(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 428
            aload 0
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$26();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 435
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$27();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 442
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "a"
            aastore
            dup
            iconst_1
            bipush 99
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Boolean lambda$28(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String k
         0: .line 449
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // java.lang.String k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Ljava/lang/String;

  private static java.lang.Object lambda$29();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 453
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$30();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 460
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$31(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 462
            aload 0
            invokevirtual org.graalvm.polyglot.Value.getMemberKeys:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$32(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 463
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 464
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.IllegalStateException
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 465
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$33(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 469
            aload 0
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Boolean lambda$34(java.util.List, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String key
         0: .line 472
            aload 0
            aload 1 /* key */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   key  Ljava/lang/String;

  private static java.lang.Object lambda$35(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 475
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;

  private static java.lang.Void lambda$36(java.lang.String, org.graalvm.polyglot.Value);
    descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/Value;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // org.graalvm.polyglot.Value v
         0: .line 478
            aconst_null
            areturn
        end local 1 // org.graalvm.polyglot.Value v
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;
            0    1     1     v  Lorg/graalvm/polyglot/Value;

  private static java.lang.Object lambda$37(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 561
            aload 0
            invokevirtual org.graalvm.polyglot.Value.asDate:()Ljava/time/LocalDate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$38(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 561
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.AssertionError
            invokestatic org.junit.Assert.assertTrue:(Z)V
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$39(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 568
            aload 0
            invokevirtual org.graalvm.polyglot.Value.asTime:()Ljava/time/LocalTime;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$40(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 568
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.AssertionError
            invokestatic org.junit.Assert.assertTrue:(Z)V
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$41(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 575
            aload 0
            invokevirtual org.graalvm.polyglot.Value.asTimeZone:()Ljava/time/ZoneId;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$42(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 575
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.AssertionError
            invokestatic org.junit.Assert.assertTrue:(Z)V
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$43(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 582
            aload 0
            invokevirtual org.graalvm.polyglot.Value.asInstant:()Ljava/time/Instant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$44(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 582
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.AssertionError
            invokestatic org.junit.Assert.assertTrue:(Z)V
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private static java.lang.Object lambda$45(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 589
            aload 0
            invokevirtual org.graalvm.polyglot.Value.asDuration:()Ljava/time/Duration;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$46(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 589
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
            instanceof java.lang.AssertionError
            invokestatic org.junit.Assert.assertTrue:(Z)V
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/PolyglotException;
}
SourceFile: "ProxyAPITest.java"
NestMembers:
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$1  com.oracle.truffle.api.test.polyglot.ProxyAPITest$10  com.oracle.truffle.api.test.polyglot.ProxyAPITest$11  com.oracle.truffle.api.test.polyglot.ProxyAPITest$2  com.oracle.truffle.api.test.polyglot.ProxyAPITest$3  com.oracle.truffle.api.test.polyglot.ProxyAPITest$4  com.oracle.truffle.api.test.polyglot.ProxyAPITest$5  com.oracle.truffle.api.test.polyglot.ProxyAPITest$6  com.oracle.truffle.api.test.polyglot.ProxyAPITest$7  com.oracle.truffle.api.test.polyglot.ProxyAPITest$8  com.oracle.truffle.api.test.polyglot.ProxyAPITest$9  com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject  com.oracle.truffle.api.test.polyglot.ProxyAPITest$P0  com.oracle.truffle.api.test.polyglot.ProxyAPITest$P1  com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest  com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest  com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest  com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest
InnerClasses:
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$1
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$10
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$11
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$2
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$3
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$4
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$5
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$6
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$7
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$8
  com.oracle.truffle.api.test.polyglot.ProxyAPITest$9
  DummyObject = com.oracle.truffle.api.test.polyglot.ProxyAPITest$DummyObject of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  final P0 = com.oracle.truffle.api.test.polyglot.ProxyAPITest$P0 of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  final P1 = com.oracle.truffle.api.test.polyglot.ProxyAPITest$P1 of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  ProxyArrayTest = com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyArrayTest of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  ProxyExecutableTest = com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyExecutableTest of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  ProxyInstantiableTest = com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyInstantiableTest of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  ProxyObjectTest = com.oracle.truffle.api.test.polyglot.ProxyAPITest$ProxyObjectTest of com.oracle.truffle.api.test.polyglot.ProxyAPITest
  public final Trait = com.oracle.truffle.tck.tests.ValueAssert$Trait of com.oracle.truffle.tck.tests.ValueAssert
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  public final StackFrame = org.graalvm.polyglot.PolyglotException$StackFrame of org.graalvm.polyglot.PolyglotException