public class com.oracle.truffle.api.test.polyglot.ContextAPITest extends com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.test.polyglot.ContextAPITest
  super_class: com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
{
  private static org.graalvm.polyglot.HostAccess CONFIG;
    descriptor: Lorg/graalvm/polyglot/HostAccess;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static com.oracle.truffle.api.test.polyglot.ContextAPITestLanguage$LanguageContext langContext;
    descriptor: Lcom/oracle/truffle/api/test/polyglot/ContextAPITestLanguage$LanguageContext;
    flags: (0x0008) ACC_STATIC

  public static void initHostAccess();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 119
            invokestatic org.graalvm.polyglot.HostAccess.newBuilder:()Lorg/graalvm/polyglot/HostAccess$Builder;
            ldc Ljava/lang/Runnable;
            ldc "run"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccess:(Ljava/lang/reflect/Executable;)Lorg/graalvm/polyglot/HostAccess$Builder;
            ldc Lorg/graalvm/polyglot/HostAccess$Export;
            invokevirtual org.graalvm.polyglot.HostAccess$Builder.allowAccessAnnotatedBy:(Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
            invokevirtual org.graalvm.polyglot.HostAccess$Builder.build:()Lorg/graalvm/polyglot/HostAccess;
            putstatic com.oracle.truffle.api.test.polyglot.ContextAPITest.CONFIG:Lorg/graalvm/polyglot/HostAccess;
         1: .line 120
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.BeforeClass()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 122
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.<init>:()V
         1: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.api.test.polyglot.ContextAPITest.enterContext:Z
         2: .line 125
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;

  public void testEvalErrors();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 129
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 131
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$0()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         2: .line 132
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$1()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         3: .line 133
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$2()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         4: .line 134
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$3()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         5: .line 135
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$4()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         6: .line 137
            ldc "<<unknown-language>>"
            ldc ""
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 1 /* src */
        start local 1 // org.graalvm.polyglot.Source src
         7: .line 138
            aload 0 /* this */
            aload 1 /* src */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Lorg/graalvm/polyglot/Source;)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/ContextAPITest.lambda$5(Lorg/graalvm/polyglot/Source;)Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         8: .line 139
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$6()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         9: .line 140
            return
        end local 1 // org.graalvm.polyglot.Source src
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            7   10     1   src  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParseErrors();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 144
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 146
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$7()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         2: .line 147
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$8()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         3: .line 148
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$9()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         4: .line 149
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$10()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         5: .line 150
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$11()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         6: .line 152
            ldc "<<unknown-language>>"
            ldc ""
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 1 /* src */
        start local 1 // org.graalvm.polyglot.Source src
         7: .line 153
            aload 0 /* this */
            aload 1 /* src */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Lorg/graalvm/polyglot/Source;)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/ContextAPITest.lambda$12(Lorg/graalvm/polyglot/Source;)Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         8: .line 154
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$13()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/NullPointerException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         9: .line 155
            return
        end local 1 // org.graalvm.polyglot.Source src
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            7   10     1   src  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParseBasic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 188
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 1 /* parseCalls */
        start local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
         1: .line 189
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 2 /* executeCalls */
        start local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
         2: .line 190
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            aload 1 /* parseCalls */
            aload 2 /* executeCalls */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupParseLang:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
         3: .line 192
            lconst_0
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         4: .line 193
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 195
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "42"
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 196
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 197
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 199
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "42"
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 200
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 201
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 203
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "42"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 204
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 205
            lconst_1
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 207
            ldc "proxyLanguage"
            ldc "42"
            ldc "uncached"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            iconst_0
            invokevirtual org.graalvm.polyglot.Source$Builder.cached:(Z)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
            astore 3 /* uncachedSource */
        start local 3 // org.graalvm.polyglot.Source uncachedSource
        15: .line 208
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* uncachedSource */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 209
            ldc 2
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 210
            lconst_1
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 212
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* uncachedSource */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        19: .line 213
            ldc 3
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        20: .line 214
            lconst_1
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        21: .line 216
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* uncachedSource */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        22: .line 217
            ldc 4
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 218
            ldc 2
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        24: .line 220
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$14()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
        25: .line 221
            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/ContextAPITest.lambda$15(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
        26: .line 220
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        27: .line 225
            ldc 5
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        28: .line 226
            ldc 2
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        29: .line 228
            aload 0 /* this */
            invokedynamic call(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)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/ContextAPITest.lambda$16()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            ldc Lorg/graalvm/polyglot/PolyglotException;
        30: .line 229
            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/ContextAPITest.lambda$17(Lorg/graalvm/polyglot/PolyglotException;)V (6)
                  (Lorg/graalvm/polyglot/PolyglotException;)V
        31: .line 228
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
        32: .line 233
            ldc 6
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        33: .line 234
            ldc 2
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        34: .line 235
            return
        end local 3 // org.graalvm.polyglot.Source uncachedSource
        end local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
        end local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   35     0            this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   35     1      parseCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            2   35     2    executeCalls  Ljava/util/concurrent/atomic/AtomicInteger;
           15   35     3  uncachedSource  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParseInteractive();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 239
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 1 /* parseCalls */
        start local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
         1: .line 240
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 2 /* executeCalls */
        start local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
         2: .line 241
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // java.io.ByteArrayOutputStream out
         3: .line 242
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* out */
            invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            aload 1 /* parseCalls */
            aload 2 /* executeCalls */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupParseLang:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
         4: .line 244
            lconst_0
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 245
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 247
            ldc "proxyLanguage"
            ldc "42"
            ldc "interactive"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Source$Builder.interactive:(Z)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
            astore 4 /* source */
        start local 4 // org.graalvm.polyglot.Source source
         7: .line 248
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 5 /* v */
        start local 5 // org.graalvm.polyglot.Value v
         8: .line 250
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 251
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 252
            lconst_0
            aload 3 /* out */
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 254
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* lineFeed */
        start local 6 // java.lang.String lineFeed
        12: .line 255
            aload 5 /* v */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        13: .line 256
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 257
            lconst_1
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 258
            new java.lang.StringBuilder
            dup
            ldc "42"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* lineFeed */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.String
            dup
            aload 3 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 260
            aload 5 /* v */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 261
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 262
            ldc 2
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 263
            new java.lang.StringBuilder
            dup
            ldc "42"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* lineFeed */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "42"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* lineFeed */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.String
            dup
            aload 3 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 264
            return
        end local 6 // java.lang.String lineFeed
        end local 5 // org.graalvm.polyglot.Value v
        end local 4 // org.graalvm.polyglot.Source source
        end local 3 // java.io.ByteArrayOutputStream out
        end local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
        end local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   21     1    parseCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            2   21     2  executeCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            3   21     3           out  Ljava/io/ByteArrayOutputStream;
            7   21     4        source  Lorg/graalvm/polyglot/Source;
            8   21     5             v  Lorg/graalvm/polyglot/Value;
           12   21     6      lineFeed  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParseAndEval();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 268
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 1 /* parseCalls */
        start local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
         1: .line 269
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            astore 2 /* executeCalls */
        start local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
         2: .line 270
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* callArguments */
        start local 3 // java.lang.StringBuilder callArguments
         3: .line 271
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            aload 1 /* parseCalls */
            aload 2 /* executeCalls */
            aload 3 /* callArguments */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupParseLang:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/lang/StringBuilder;)V
         4: .line 273
            lconst_0
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 274
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 276
            ldc "proxyLanguage"
            ldc "42"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 4 /* source */
        start local 4 // org.graalvm.polyglot.Source source
         7: .line 277
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 5 /* parseResult */
        start local 5 // org.graalvm.polyglot.Value parseResult
         8: .line 278
            lconst_1
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 279
            lconst_0
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 281
            aload 5 /* parseResult */
            invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 282
            aload 5 /* parseResult */
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 283
            aload 5 /* parseResult */
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 284
            aload 5 /* parseResult */
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "43"
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 285
            new java.lang.StringBuilder
            dup
            ldc "Parsed[Source="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Source.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* parseResult */
            invokevirtual org.graalvm.polyglot.Value.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 286
            aload 5 /* parseResult */
            invokestatic com.oracle.truffle.tck.tests.ValueAssert.assertValue:(Lorg/graalvm/polyglot/Value;)V
        16: .line 288
            aload 5 /* parseResult */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 6 /* result */
        start local 6 // org.graalvm.polyglot.Value result
        17: .line 289
            ldc 2
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 290
            lconst_1
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 291
            ldc "[]"
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 292
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
            aload 6 /* result */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 293
            aload 3 /* callArguments */
            iconst_0
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        22: .line 295
            aload 5 /* parseResult */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 6 /* result */
        23: .line 296
            ldc 2
            aload 1 /* parseCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        24: .line 297
            ldc 2
            aload 2 /* executeCalls */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 298
            ldc "[]"
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 299
            aload 4 /* source */
            invokevirtual org.graalvm.polyglot.Source.getCharacters:()Ljava/lang/CharSequence;
            aload 6 /* result */
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 300
            aload 3 /* callArguments */
            iconst_0
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        28: .line 303
            aload 5 /* parseResult */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            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;
            pop
        29: .line 304
            ldc "[42]"
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 305
            aload 3 /* callArguments */
            iconst_0
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        31: .line 306
            aload 5 /* parseResult */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            bipush 43
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        32: .line 307
            ldc "[42, 43]"
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        33: .line 308
            aload 3 /* callArguments */
            iconst_0
            aload 3 /* callArguments */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
            pop
        34: .line 310
            return
        end local 6 // org.graalvm.polyglot.Value result
        end local 5 // org.graalvm.polyglot.Value parseResult
        end local 4 // org.graalvm.polyglot.Source source
        end local 3 // java.lang.StringBuilder callArguments
        end local 2 // java.util.concurrent.atomic.AtomicInteger executeCalls
        end local 1 // java.util.concurrent.atomic.AtomicInteger parseCalls
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   35     1     parseCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            2   35     2   executeCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            3   35     3  callArguments  Ljava/lang/StringBuilder;
            7   35     4         source  Lorg/graalvm/polyglot/Source;
            8   35     5    parseResult  Lorg/graalvm/polyglot/Value;
           17   35     6         result  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void setupParseLang(org.graalvm.polyglot.Context, java.util.concurrent.atomic.AtomicInteger, java.util.concurrent.atomic.AtomicInteger);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
        start local 1 // org.graalvm.polyglot.Context context
        start local 2 // java.util.concurrent.atomic.AtomicInteger parseCalls
        start local 3 // java.util.concurrent.atomic.AtomicInteger executeCalls
         0: .line 313
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* parseCalls */
            aload 3 /* executeCalls */
            aconst_null
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupParseLang:(Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/lang/StringBuilder;)V
         1: .line 314
            return
        end local 3 // java.util.concurrent.atomic.AtomicInteger executeCalls
        end local 2 // java.util.concurrent.atomic.AtomicInteger parseCalls
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            0    2     1       context  Lorg/graalvm/polyglot/Context;
            0    2     2    parseCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            0    2     3  executeCalls  Ljava/util/concurrent/atomic/AtomicInteger;
    MethodParameters:
              Name  Flags
      context       
      parseCalls    
      executeCalls  

  private void setupParseLang(org.graalvm.polyglot.Context, java.util.concurrent.atomic.AtomicInteger, java.util.concurrent.atomic.AtomicInteger, java.lang.StringBuilder);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
        start local 1 // org.graalvm.polyglot.Context context
        start local 2 // java.util.concurrent.atomic.AtomicInteger parseCalls
        start local 3 // java.util.concurrent.atomic.AtomicInteger executeCalls
        start local 4 // java.lang.StringBuilder callArguments
         0: .line 317
            aload 0 /* this */
            aload 1 /* context */
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$1
            dup
            aload 0 /* this */
            aload 2 /* parseCalls */
            aload 3 /* executeCalls */
            aload 4 /* callArguments */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$1.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/lang/StringBuilder;)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 341
            return
        end local 4 // java.lang.StringBuilder callArguments
        end local 3 // java.util.concurrent.atomic.AtomicInteger executeCalls
        end local 2 // java.util.concurrent.atomic.AtomicInteger parseCalls
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            0    2     1        context  Lorg/graalvm/polyglot/Context;
            0    2     2     parseCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            0    2     3   executeCalls  Ljava/util/concurrent/atomic/AtomicInteger;
            0    2     4  callArguments  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      context        
      parseCalls     
      executeCalls   
      callArguments  

  public void testEqualsAndHashcode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 345
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 346
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         2: .line 348
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            astore 1 /* currentContext */
        start local 1 // org.graalvm.polyglot.Context currentContext
         3: .line 349
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1 /* currentContext */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 350
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.hashCode:()I
            i2l
            aload 1 /* currentContext */
            invokevirtual org.graalvm.polyglot.Context.hashCode:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 352
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         6: .line 353
            return
        end local 1 // org.graalvm.polyglot.Context currentContext
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            3    7     1  currentContext  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCloseBeforeLeave();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 357
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 19
         2: .line 358
      StackMap locals: int
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 2 /* c */
        start local 2 // org.graalvm.polyglot.Context c
         3: .line 359
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         4: goto 7
         5: .line 360
      StackMap locals: org.graalvm.polyglot.Context int
      StackMap stack:
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         6: .line 359
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* j */
            iload 1 /* i */
            if_icmplt 5
        end local 3 // int j
         8: .line 362
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         9: .line 365
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            pop
        10: .line 366
            invokestatic org.junit.Assert.fail:()V
        11: .line 367
            goto 13
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest int org.graalvm.polyglot.Context
      StackMap stack: java.lang.IllegalStateException
        12: pop
        13: .line 369
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* j */
        start local 3 // int j
        14: goto 17
        15: .line 372
      StackMap locals: int
      StackMap stack:
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        16: .line 369
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* j */
            iload 1 /* i */
            if_icmplt 15
        end local 3 // int j
        end local 2 // org.graalvm.polyglot.Context c
        18: .line 357
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 1 /* i */
            bipush 10
            if_icmplt 2
        end local 1 // int i
        20: .line 375
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   20     1     i  I
            3   18     2     c  Lorg/graalvm/polyglot/Context;
            4    8     3     j  I
           14   18     3     j  I
      Exception table:
        from    to  target  type
           9    11      12  Class java.lang.IllegalStateException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testContextCreateSingleLanguage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 379
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ContextAPITestLanguage"
            aastore
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         1: .line 381
            aload 1 /* c */
            ldc "LanguageSPITest"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         2: .line 382
            invokestatic org.junit.Assert.fail:()V
         3: .line 383
            goto 5
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertInternalNotAccessible:(Lorg/graalvm/polyglot/Context;)V
         6: .line 386
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         7: .line 387
            return
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1    8     1     c  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void assertInternalNotAccessible(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.Context context
         0: .line 391
            aload 0 /* context */
            ldc "ContextAPITestInternalLanguage"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         1: .line 392
            invokestatic org.junit.Assert.fail:()V
         2: .line 393
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         3: pop
         4: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc "ContextAPITestInternalLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         5: .line 397
            invokestatic org.junit.Assert.fail:()V
         6: .line 398
            goto 8
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         7: pop
         8: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc "ContextAPITestInternalLanguage"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 403
            invokestatic org.junit.Assert.fail:()V
        10: .line 404
            goto 12
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        11: pop
        12: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getLanguages:()Ljava/util/Map;
            ldc "ContextAPITestInternalLanguage"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        13: .line 408
            return
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  context  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalArgumentException
           4     6       7  Class java.lang.IllegalArgumentException
           8    10      11  Class java.lang.IllegalArgumentException
    MethodParameters:
         Name  Flags
      context  

  public void testContextCreateAllLanguages();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 412
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 413
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "ContextAPITestLanguage"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         2: .line 414
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "LanguageSPITest"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 415
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertInternalNotAccessible:(Lorg/graalvm/polyglot/Context;)V
         4: .line 416
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testImportExport();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 420
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 421
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            astore 1 /* polyglotBindings */
        start local 1 // org.graalvm.polyglot.Value polyglotBindings
         2: .line 422
            aload 1 /* polyglotBindings */
            ldc "string"
            ldc "bar"
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 423
            aload 1 /* polyglotBindings */
            ldc "null"
            aconst_null
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 424
            aload 1 /* polyglotBindings */
            ldc "int"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 425
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 2 /* object */
        start local 2 // java.lang.Object object
         6: .line 426
            aload 1 /* polyglotBindings */
            ldc "object"
            aload 2 /* object */
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 428
            ldc "bar"
            aload 1 /* polyglotBindings */
            ldc "string"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 429
            aload 1 /* polyglotBindings */
            ldc "null"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.isNull:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         9: .line 430
            ldc 42
            aload 1 /* polyglotBindings */
            ldc "int"
            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
        10: .line 431
            aload 2 /* object */
            aload 1 /* polyglotBindings */
            ldc "object"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)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
        11: .line 432
            aload 1 /* polyglotBindings */
            ldc "notexisting"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        12: .line 433
            return
        end local 2 // java.lang.Object object
        end local 1 // org.graalvm.polyglot.Value polyglotBindings
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2   13     1  polyglotBindings  Lorg/graalvm/polyglot/Value;
            6   13     2            object  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstrumentOption();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 438
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            astore 1 /* contextBuilder */
        start local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
         1: .line 439
            aload 1 /* contextBuilder */
            ldc "optiontestinstr1.StringOption1"
            ldc "Hello"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            pop
         2: .line 440
            aload 1 /* contextBuilder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.close:()V
         3: .line 441
            return
        end local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1    4     1  contextBuilder  Lorg/graalvm/polyglot/Context$Builder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStableOption();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 445
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            ldc "optiontestlang1.StableOption"
            ldc "Hello"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 446
            aload 3 /* c */
            ldc "optiontestlang1"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         3: .line 447
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         4: .line 449
            ldc "Hello"
            invokestatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
            getstatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.StableOption:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 450
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 451
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         8: .line 452
            aload 4
            athrow
         9: .line 451
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        10: .line 453
            aload 3 /* c */
            ifnull 16
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 1
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 2
            aload 1
            ifnonnull 14
            aload 2
            astore 1
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 1
            aload 2
            if_acmpeq 15
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 1
            athrow
        16: .line 454
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2   12     3     c  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           4     6       6  any
           2    10      11  any
           1    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExperimentalOption();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 458
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
            ldc "optiontestlang1.StringOption2"
            ldc "Allow"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 459
            aload 3 /* c */
            ldc "optiontestlang1"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         3: .line 460
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         4: .line 462
            ldc "Allow"
            invokestatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
            getstatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.StringOption2:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 463
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 464
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         8: .line 465
            aload 4
            athrow
         9: .line 464
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        10: .line 466
            aload 3 /* c */
            ifnull 16
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 1
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 2
            aload 1
            ifnonnull 14
            aload 2
            astore 1
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 1
            aload 2
            if_acmpeq 15
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 1
            athrow
        16: .line 468
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1
            aconst_null
            astore 2
        17: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            ldc "optiontestlang1.StringOption2"
            ldc "All access"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
        18: .line 469
            aload 3 /* c */
            ldc "optiontestlang1"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
        19: .line 470
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        20: .line 472
            ldc "All access"
            invokestatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.getCurrentContext:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
            getstatic com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1.StringOption2:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 473
            goto 25
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        22: astore 4
        23: .line 474
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        24: .line 475
            aload 4
            athrow
        25: .line 474
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        26: .line 476
            aload 3 /* c */
            ifnull 32
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 1
            aload 3 /* c */
            ifnull 28
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        28: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 2
            aload 1
            ifnonnull 30
            aload 2
            astore 1
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 1
            aload 2
            if_acmpeq 31
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 1
            athrow
        32: .line 477
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2   12     3     c  Lorg/graalvm/polyglot/Context;
           18   28     3     c  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           4     6       6  any
           2    10      11  any
           1    13      13  any
          20    22      22  any
          18    26      27  any
          17    29      29  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExperimentalOptionException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 481
            ldc "polyglot.engine.AllowExperimentalOptions"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            invokestatic org.junit.Assume.assumeFalse:(Z)V
         1: .line 482
            invokedynamic call()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/ContextAPITest.lambda$18()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            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/ContextAPITest.lambda$19(Ljava/lang/IllegalArgumentException;)V (6)
                  (Ljava/lang/IllegalArgumentException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         2: .line 486
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testImageBuildTimeOptionAtRuntime();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 490
            invokedynamic call()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/ContextAPITest.lambda$20()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalArgumentException;
            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/ContextAPITest.lambda$21(Ljava/lang/IllegalArgumentException;)V (6)
                  (Ljava/lang/IllegalArgumentException;)V
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         1: .line 493
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstrumentOptionAsContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 498
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            astore 1 /* contextBuilder */
        start local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
         1: .line 499
            invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 2 /* engine */
        start local 2 // org.graalvm.polyglot.Engine engine
         2: .line 500
            aload 1 /* contextBuilder */
            aload 2 /* engine */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            pop
         3: .line 501
            aload 1 /* contextBuilder */
            ldc "optiontestinstr1.StringOption1"
            ldc "Hello"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            pop
         4: .line 503
            aload 1 /* contextBuilder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            pop
         5: .line 504
            invokestatic org.junit.Assert.fail:()V
         6: .line 505
            goto 11
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Engine
      StackMap stack: java.lang.IllegalArgumentException
         7: astore 3 /* ex */
        start local 3 // java.lang.IllegalArgumentException ex
         8: .line 507
            ldc "Option optiontestinstr1.StringOption1 is an engine level instrument option. Engine level instrument options can only be configured for contexts without an explicit engine set. To resolve this, configure the option when creating the Engine or create a context without a shared engine."
         9: .line 508
            aload 3 /* ex */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
        10: .line 507
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 3 // java.lang.IllegalArgumentException ex
        11: .line 510
      StackMap locals:
      StackMap stack:
            aload 2 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        12: .line 511
            return
        end local 2 // org.graalvm.polyglot.Engine engine
        end local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   13     1  contextBuilder  Lorg/graalvm/polyglot/Context$Builder;
            2   13     2          engine  Lorg/graalvm/polyglot/Engine;
            8   11     3              ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidEngineOptionAsContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 516
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            astore 1 /* contextBuilder */
        start local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
         1: .line 517
            invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 2 /* engine */
        start local 2 // org.graalvm.polyglot.Engine engine
         2: .line 518
            aload 1 /* contextBuilder */
            aload 2 /* engine */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            pop
         3: .line 519
            aload 1 /* contextBuilder */
            ldc "optiontestinstr1.StringOption1+Typo"
            ldc "100"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            pop
         4: .line 521
            aload 1 /* contextBuilder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            pop
         5: .line 522
            invokestatic org.junit.Assert.fail:()V
         6: .line 523
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context$Builder org.graalvm.polyglot.Engine
      StackMap stack: java.lang.IllegalArgumentException
         7: astore 3 /* ex */
        start local 3 // java.lang.IllegalArgumentException ex
         8: .line 525
            aload 3 /* ex */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            ldc "Could not find option with name optiontestinstr1.StringOption1+Typo."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // java.lang.IllegalArgumentException ex
         9: .line 527
      StackMap locals:
      StackMap stack:
            aload 2 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        10: .line 528
            return
        end local 2 // org.graalvm.polyglot.Engine engine
        end local 1 // org.graalvm.polyglot.Context$Builder contextBuilder
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   11     1  contextBuilder  Lorg/graalvm/polyglot/Context$Builder;
            2   11     2          engine  Lorg/graalvm/polyglot/Engine;
            8    9     3              ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testEnterLeave();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 531
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:()V
         1: .line 532
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testEnterLeave:(Lorg/graalvm/polyglot/Context;I)V
         2: .line 533
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;

  private static void testEnterLeave(org.graalvm.polyglot.Context, int);
    descriptor: (Lorg/graalvm/polyglot/Context;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // int depth
         0: .line 537
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         1: .line 538
            invokestatic org.junit.Assert.fail:()V
         2: .line 539
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         3: pop
         4: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc ""
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 543
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         6: .line 545
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc ""
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 546
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         8: .line 548
            iload 1 /* depth */
            iconst_3
            if_icmpge 12
         9: .line 549
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 2 /* innerContext */
        start local 2 // org.graalvm.polyglot.Context innerContext
        10: .line 550
            aload 2 /* innerContext */
            iload 1 /* depth */
            iconst_1
            iadd
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testEnterLeave:(Lorg/graalvm/polyglot/Context;I)V
        11: .line 551
            aload 2 /* innerContext */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 2 // org.graalvm.polyglot.Context innerContext
        12: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        13: .line 556
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        14: .line 559
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        15: .line 560
            invokestatic org.junit.Assert.fail:()V
        16: .line 561
            goto 18
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        17: pop
        18: .line 563
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int depth
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0       context  Lorg/graalvm/polyglot/Context;
            0   19     1         depth  I
           10   12     2  innerContext  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalStateException
          14    16      17  Class java.lang.IllegalStateException
    MethodParameters:
         Name  Flags
      context  
      depth    

  public void testMultithreadedEnterLeave();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 567
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         1: .line 568
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* threads */
        start local 2 // java.util.Set threads
         2: .line 569
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            astore 3 /* counter */
        start local 3 // int[] counter
         3: .line 570
            bipush 20
            aload 0 /* this */
            aload 3 /* counter */
            aload 2 /* threads */
            invokedynamic newThread(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;[ILjava/util/Set;)Ljava/util/concurrent/ThreadFactory;
              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/Runnable;)Ljava/lang/Thread;
                  com/oracle/truffle/api/test/polyglot/ContextAPITest.lambda$22([ILjava/util/Set;Ljava/lang/Runnable;)Ljava/lang/Thread; (7)
                  (Ljava/lang/Runnable;)Ljava/lang/Thread;
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
            astore 4 /* service */
        start local 4 // java.util.concurrent.ExecutorService service
         4: .line 581
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* futures */
        start local 5 // java.util.List futures
         5: .line 583
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 584
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context java.util.Set int[] java.util.concurrent.ExecutorService java.util.List int
      StackMap stack:
            aload 5 /* futures */
            aload 4 /* service */
            aload 1 /* c */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$23(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 583
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            sipush 200
            if_icmplt 7
        end local 6 // int i
        10: .line 587
            aload 5 /* futures */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context java.util.Set int[] java.util.concurrent.ExecutorService java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            astore 6 /* future */
        start local 6 // java.util.concurrent.Future future
        12: .line 588
            aload 6 /* future */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
        end local 6 // java.util.concurrent.Future future
        13: .line 587
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 591
            aload 4 /* service */
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        15: .line 592
            aload 4 /* service */
            ldc 1000
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        16: .line 593
            new java.lang.ref.WeakReference
            dup
            aload 4 /* service */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            astore 6 /* ref */
        start local 6 // java.lang.ref.Reference ref
        17: .line 594
            aconst_null
            astore 4 /* service */
        18: .line 595
            ldc "Nobody holds on the executor anymore"
            aload 6 /* ref */
            invokestatic com.oracle.truffle.api.test.GCUtils.assertGc:(Ljava/lang/String;Ljava/lang/ref/Reference;)V
        19: .line 596
            aload 2 /* threads */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context java.util.Set int[] java.util.concurrent.ExecutorService java.util.List java.lang.ref.Reference top java.util.Iterator
      StackMap stack:
        20: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 7 /* t */
        start local 7 // java.lang.ref.Reference t
        21: .line 597
            ldc "Nobody holds on the thread anymore"
            aload 7 /* t */
            invokestatic com.oracle.truffle.api.test.GCUtils.assertGc:(Ljava/lang/String;Ljava/lang/ref/Reference;)V
        end local 7 // java.lang.ref.Reference t
        22: .line 596
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        23: .line 599
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        24: .line 600
            return
        end local 6 // java.lang.ref.Reference ref
        end local 5 // java.util.List futures
        end local 4 // java.util.concurrent.ExecutorService service
        end local 3 // int[] counter
        end local 2 // java.util.Set threads
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   25     1        c  Lorg/graalvm/polyglot/Context;
            2   25     2  threads  Ljava/util/Set<Ljava/lang/ref/Reference<Ljava/lang/Thread;>;>;
            3   25     3  counter  [I
            4   25     4  service  Ljava/util/concurrent/ExecutorService;
            5   25     5  futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
            6   10     6        i  I
           12   13     6   future  Ljava/util/concurrent/Future<*>;
           17   25     6      ref  Ljava/lang/ref/Reference<Ljava/util/concurrent/ExecutorService;>;
           21   22     7        t  Ljava/lang/ref/Reference<Ljava/lang/Thread;>;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testEnteredExecute();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 604
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ContextAPITestLanguage"
            aastore
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 1 /* c1 */
        start local 1 // org.graalvm.polyglot.Context c1
         1: .line 607
            aload 1 /* c1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
         2: .line 610
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         3: .line 611
            aload 1 /* c1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
         4: .line 612
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         5: .line 615
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         6: .line 616
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         7: .line 617
            aload 1 /* c1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
         8: .line 618
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         9: .line 619
            aload 1 /* c1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        10: .line 620
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        11: .line 621
            aload 1 /* c1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        12: .line 624
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        13: .line 626
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ContextAPITestLanguage"
            aastore
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 2 /* c2 */
        start local 2 // org.graalvm.polyglot.Context c2
        14: .line 627
            aload 2 /* c2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        15: .line 628
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        16: .line 629
            aload 2 /* c2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        17: .line 630
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        18: .line 631
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        19: .line 632
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        20: .line 633
            aload 2 /* c2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        21: .line 634
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        22: .line 635
            aload 2 /* c2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
        23: .line 636
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        24: .line 637
            aload 2 /* c2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        25: .line 639
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        26: .line 642
            aload 1 /* c1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        27: .line 643
            return
        end local 2 // org.graalvm.polyglot.Context c2
        end local 1 // org.graalvm.polyglot.Context c1
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   28     1    c1  Lorg/graalvm/polyglot/Context;
           14   28     2    c2  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testExecute(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.graalvm.polyglot.Context context
         0: .line 662
            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/ContextAPITest.lambda$24(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object; (6)
                  (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object;
            putstatic com.oracle.truffle.api.test.polyglot.ContextAPITestLanguage.runinside:Ljava/util/function/Function;
         1: .line 663
            aload 0 /* context */
            ldc "ContextAPITestLanguage"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 1 /* executable */
        start local 1 // org.graalvm.polyglot.Value executable
         2: .line 664
            ldc 42
            aload 1 /* executable */
            iconst_0
            anewarray java.lang.Object
            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
         3: .line 665
            ldc 42
            aload 1 /* executable */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            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
         4: .line 666
            aload 1 /* executable */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.executeVoid:([Ljava/lang/Object;)V
         5: .line 667
            aload 1 /* executable */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.polyglot.Value.executeVoid:([Ljava/lang/Object;)V
         6: .line 668
            return
        end local 1 // org.graalvm.polyglot.Value executable
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0     context  Lorg/graalvm/polyglot/Context;
            2    7     1  executable  Lorg/graalvm/polyglot/Value;
    MethodParameters:
         Name  Flags
      context  

  private static void testPolyglotBindings(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.polyglot.Context context
         0: .line 671
            ldc "is stable"
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 673
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            astore 1 /* bindings */
        start local 1 // org.graalvm.polyglot.Value bindings
         2: .line 674
            aload 1 /* bindings */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testWritableBindings:(Lorg/graalvm/polyglot/Value;)V
         3: .line 676
            aload 1 /* bindings */
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            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
         4: .line 677
            return
        end local 1 // org.graalvm.polyglot.Value bindings
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0   context  Lorg/graalvm/polyglot/Context;
            2    5     1  bindings  Lorg/graalvm/polyglot/Value;
    MethodParameters:
         Name  Flags
      context  

  private static void testWritableBindings(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.Value bindings
         0: .line 691
            aload 0 /* bindings */
            ldc "int"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 692
            ldc 42
            aload 0 /* bindings */
            ldc "int"
            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
         2: .line 694
            aload 0 /* bindings */
            ldc "int"
            bipush 43
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 695
            ldc 43
            aload 0 /* bindings */
            ldc "int"
            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
         4: .line 697
            aload 0 /* bindings */
            ldc "string"
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 698
            ldc "foo"
            aload 0 /* bindings */
            ldc "string"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 700
            aload 0 /* bindings */
            ldc "obj"
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass.<init>:()V
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 701
            ldc "bar"
            aload 0 /* bindings */
            ldc "obj"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "field"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 703
            aload 0 /* bindings */
            ldc "obj"
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass.<init>:()V
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 704
            ldc 42
            aload 0 /* bindings */
            ldc "obj"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "bazz"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            iconst_0
            anewarray java.lang.Object
            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
        10: .line 705
            return
        end local 0 // org.graalvm.polyglot.Value bindings
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0  bindings  Lorg/graalvm/polyglot/Value;
    MethodParameters:
          Name  Flags
      bindings  

  private static void testBindingsLegacy(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.polyglot.Context context
         0: .line 781
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope.<init>:()V
            astore 1 /* values */
        start local 1 // com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope values
         1: .line 782
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$2
            dup
            aload 1 /* values */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$2.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest$TopScope;)V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 789
            aload 0 /* context */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* bindings */
        start local 2 // org.graalvm.polyglot.Value bindings
         3: .line 791
            aload 2 /* bindings */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testWritableBindings:(Lorg/graalvm/polyglot/Value;)V
         4: .line 793
            aload 2 /* bindings */
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            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
         5: .line 794
            return
        end local 2 // org.graalvm.polyglot.Value bindings
        end local 1 // com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope values
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0   context  Lorg/graalvm/polyglot/Context;
            1    6     1    values  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest$TopScope;
            3    6     2  bindings  Lorg/graalvm/polyglot/Value;
    MethodParameters:
         Name  Flags
      context  

  private static void testBindings(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.polyglot.Context context
         0: .line 797
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope.<init>:()V
            astore 1 /* values */
        start local 1 // com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope values
         1: .line 798
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$3
            dup
            aload 1 /* values */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$3.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest$TopScope;)V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         2: .line 804
            aload 0 /* context */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* bindings */
        start local 2 // org.graalvm.polyglot.Value bindings
         3: .line 806
            aload 2 /* bindings */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testWritableBindings:(Lorg/graalvm/polyglot/Value;)V
         4: .line 808
            aload 2 /* bindings */
            iconst_1
            anewarray com.oracle.truffle.tck.tests.ValueAssert$Trait
            dup
            iconst_0
            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
         5: .line 809
            return
        end local 2 // org.graalvm.polyglot.Value bindings
        end local 1 // com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope values
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0   context  Lorg/graalvm/polyglot/Context;
            1    6     1    values  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest$TopScope;
            3    6     2  bindings  Lorg/graalvm/polyglot/Value;
    MethodParameters:
         Name  Flags
      context  

  public void testEnteredContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 813
            invokedynamic call()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/ContextAPITest.lambda$25()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         1: .line 815
            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;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         2: .line 817
            invokedynamic call()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/ContextAPITest.lambda$26()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         3: .line 819
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         4: .line 821
            aload 1 /* c */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testGetContext:(Lorg/graalvm/polyglot/Context;)V
         5: .line 823
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         6: .line 825
            invokedynamic call()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/ContextAPITest.lambda$27()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         7: .line 827
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         8: .line 828
            invokedynamic call()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/ContextAPITest.lambda$28()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         9: .line 829
            return
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2   10     1     c  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testEnteredContextInJava();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 833
            invokedynamic call()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/ContextAPITest.lambda$29()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         1: .line 834
            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;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         2: .line 835
            invokedynamic call()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/ContextAPITest.lambda$30()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         3: .line 836
            aload 1 /* c */
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$4
            dup
            aload 0 /* this */
            aload 1 /* c */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$4.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Lorg/graalvm/polyglot/Context;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 2 /* v */
        start local 2 // org.graalvm.polyglot.Value v
         4: .line 847
            invokedynamic call()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/ContextAPITest.lambda$31()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         5: .line 848
            aload 2 /* v */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 849
            invokedynamic call()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/ContextAPITest.lambda$32()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         7: .line 850
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         8: .line 851
            invokedynamic call()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/ContextAPITest.lambda$33()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         9: .line 852
            return
        end local 2 // org.graalvm.polyglot.Value v
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2   10     1     c  Lorg/graalvm/polyglot/Context;
            4   10     2     v  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testChangeContextInJava();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 856
            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;
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
         1: .line 857
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$5
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$5.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 1 /* v */
        start local 1 // org.graalvm.polyglot.Value v
         2: .line 869
            aload 1 /* v */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 870
            return
        end local 1 // org.graalvm.polyglot.Value v
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            2    4     1     v  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testGetContext(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.polyglot.Context creatorContext
         0: .line 873
            ldc "needs to be wrapped"
            aload 0 /* creatorContext */
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 874
            ldc "needs to be stable"
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 878
            aload 0 /* creatorContext */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         3: .line 879
            aload 0 /* creatorContext */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "foo"
            ldc "bar"
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 880
            ldc "bar"
            aload 0 /* creatorContext */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 881
            ldc "bar"
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 882
            aload 0 /* creatorContext */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "foo"
            invokevirtual org.graalvm.polyglot.Value.removeMember:(Ljava/lang/String;)Z
            pop
         7: .line 884
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            astore 1 /* context */
        start local 1 // org.graalvm.polyglot.Context context
         8: .line 885
            aload 1 /* context */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testExecute:(Lorg/graalvm/polyglot/Context;)V
         9: .line 886
            aload 1 /* context */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testPolyglotBindings:(Lorg/graalvm/polyglot/Context;)V
        10: .line 887
            aload 1 /* context */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testBindingsLegacy:(Lorg/graalvm/polyglot/Context;)V
        11: .line 888
            aload 1 /* context */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testBindings:(Lorg/graalvm/polyglot/Context;)V
        12: .line 890
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$34(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        13: .line 891
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$35(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        14: .line 892
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$36(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        15: .line 893
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$37(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        16: .line 894
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$38(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        17: .line 895
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$39(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        18: .line 896
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$40(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        19: .line 897
            aload 1 /* context */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$41(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        20: .line 898
            return
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // org.graalvm.polyglot.Context creatorContext
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0  creatorContext  Lorg/graalvm/polyglot/Context;
            8   21     1         context  Lorg/graalvm/polyglot/Context;
    MethodParameters:
                Name  Flags
      creatorContext  

  public void testTransferControlToOtherThreadWhileEntered();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 902
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            getstatic com.oracle.truffle.api.test.polyglot.ContextAPITest.CONFIG:Lorg/graalvm/polyglot/HostAccess;
            invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
            getstatic org.graalvm.polyglot.PolyglotAccess.ALL:Lorg/graalvm/polyglot/PolyglotAccess;
            invokevirtual org.graalvm.polyglot.Context$Builder.allowPolyglotAccess:(Lorg/graalvm/polyglot/PolyglotAccess;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         1: .line 903
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$6
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$6.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)V
         2: .line 902
            invokevirtual com.oracle.truffle.api.test.polyglot.ContextAPITest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         3: .line 924
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         4: .line 925
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            astore 1 /* depth */
        start local 1 // java.util.concurrent.atomic.AtomicInteger depth
         5: .line 926
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            ldc "test"
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$7
            dup
            aload 0 /* this */
            aload 1 /* depth */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$7.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Ljava/util/concurrent/atomic/AtomicInteger;)V
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 957
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 958
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         8: .line 959
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.close:()V
         9: .line 960
            ldc 3
            aload 1 /* depth */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 961
            return
        end local 1 // java.util.concurrent.atomic.AtomicInteger depth
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            5   11     1  depth  Ljava/util/concurrent/atomic/AtomicInteger;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testContextBuilderAllAccess();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 965
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            astore 1 /* builder */
        start local 1 // org.graalvm.polyglot.Context$Builder builder
         1: .line 966
            aload 1 /* builder */
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            pop
         2: .line 967
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 1 /* builder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* c */
        start local 4 // org.graalvm.polyglot.Context c
         4: .line 968
            aload 4 /* c */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         5: .line 969
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         6: .line 970
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            astore 5 /* env */
        start local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
         7: .line 971
            ldc "all access implies host access allowed"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostLookupAllowed:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         8: .line 972
            ldc "all access implies native access allowed"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isNativeAccessAllowed:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         9: .line 973
            ldc "all access implies create thread allowed"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isCreateThreadAllowed:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        10: .line 974
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        end local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
        11: .line 975
            aload 4 /* c */
            ifnull 17
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* c */
            ifnull 13
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 976
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            iconst_0
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            pop
        18: .line 977
            aconst_null
            astore 2
            aconst_null
            astore 3
        19: aload 1 /* builder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* c */
        start local 4 // org.graalvm.polyglot.Context c
        20: .line 978
            aload 4 /* c */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
        21: .line 979
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        22: .line 980
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            astore 5 /* env */
        start local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
        23: .line 981
            ldc "host access is disallowed by default"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostLookupAllowed:()Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        24: .line 982
            ldc "native access is disallowed by default"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isNativeAccessAllowed:()Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        25: .line 983
            ldc "thread creation is disallowed by default"
            aload 5 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isCreateThreadAllowed:()Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        26: .line 984
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        end local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
        27: .line 985
            aload 4 /* c */
            ifnull 33
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 33
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        28: astore 2
            aload 4 /* c */
            ifnull 29
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        29: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 3
            aload 2
            ifnonnull 31
            aload 3
            astore 2
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 2
            aload 3
            if_acmpeq 32
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 2
            athrow
        33: .line 986
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.polyglot.Context$Builder builder
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   34     1  builder  Lorg/graalvm/polyglot/Context$Builder;
            4   13     4        c  Lorg/graalvm/polyglot/Context;
            7   11     5      env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
           20   29     4        c  Lorg/graalvm/polyglot/Context;
           23   27     5      env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
      Exception table:
        from    to  target  type
           4    11      12  any
           3    14      14  any
          20    27      28  any
          19    30      30  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testTimeZone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 990
            ldc "UTC+1"
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
            astore 1 /* zone */
        start local 1 // java.time.ZoneId zone
         1: .line 991
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* zone */
            invokevirtual org.graalvm.polyglot.Context$Builder.timeZone:(Ljava/time/ZoneId;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 2 /* c */
        start local 2 // org.graalvm.polyglot.Context c
         2: .line 992
            aload 2 /* c */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         3: .line 993
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         4: .line 994
            aload 1 /* zone */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getTimeZone:()Ljava/time/ZoneId;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 995
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         6: .line 996
            aload 2 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         7: .line 997
            return
        end local 2 // org.graalvm.polyglot.Context c
        end local 1 // java.time.ZoneId zone
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1    8     1  zone  Ljava/time/ZoneId;
            2    8     2     c  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDefaultTimeZone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1001
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         1: .line 1002
            aload 1 /* c */
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         2: .line 1003
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         3: .line 1004
            invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentContext:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage$LanguageContext;
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getTimeZone:()Ljava/time/ZoneId;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 1005
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         5: .line 1006
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         6: .line 1007
            return
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1    7     1     c  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testClose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1011
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 1 /* c */
        start local 1 // org.graalvm.polyglot.Context c
         1: .line 1012
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         2: .line 1013
            aload 1 /* c */
            ldc "ContextAPITestLanguage"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 2 /* bindings */
        start local 2 // org.graalvm.polyglot.Value bindings
         3: .line 1014
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
            astore 3 /* polyglotBindings */
        start local 3 // org.graalvm.polyglot.Value polyglotBindings
         4: .line 1015
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* fields */
        start local 4 // java.util.Map fields
         5: .line 1016
            aload 4 /* fields */
            ldc "x"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1017
            aload 4 /* fields */
            ldc "y"
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1018
            aload 1 /* c */
            aload 4 /* fields */
            invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 5 /* object */
        start local 5 // org.graalvm.polyglot.Value object
         8: .line 1019
            aload 1 /* c */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 6 /* array */
        start local 6 // org.graalvm.polyglot.Value array
         9: .line 1020
            aload 1 /* c */
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$8
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$8.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;)V
            invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            astore 7 /* fnc */
        start local 7 // org.graalvm.polyglot.Value fnc
        10: .line 1026
            aload 1 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        11: .line 1028
            aload 1 /* c */
            invokedynamic call(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$42(Lorg/graalvm/polyglot/Context;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        12: .line 1029
            aload 1 /* c */
            invokedynamic run(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$43(Lorg/graalvm/polyglot/Context;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        13: .line 1030
            aload 1 /* c */
            invokedynamic call(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$44(Lorg/graalvm/polyglot/Context;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        14: .line 1031
            aload 1 /* c */
            invokedynamic call(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$45(Lorg/graalvm/polyglot/Context;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        15: .line 1032
            aload 1 /* c */
            invokedynamic call(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$46(Lorg/graalvm/polyglot/Context;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        16: .line 1033
            aload 1 /* c */
            invokedynamic call(Lorg/graalvm/polyglot/Context;)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/ContextAPITest.lambda$47(Lorg/graalvm/polyglot/Context;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        17: .line 1035
            aload 2 /* bindings */
            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/ContextAPITest.lambda$48(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        18: .line 1036
            aload 3 /* polyglotBindings */
            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/ContextAPITest.lambda$49(Lorg/graalvm/polyglot/Value;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        19: .line 1037
            aload 5 /* object */
            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/ContextAPITest.lambda$50(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        20: .line 1038
            aload 5 /* object */
            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/ContextAPITest.lambda$51(Lorg/graalvm/polyglot/Value;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        21: .line 1039
            aload 6 /* array */
            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/ContextAPITest.lambda$52(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        22: .line 1040
            aload 6 /* array */
            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/ContextAPITest.lambda$53(Lorg/graalvm/polyglot/Value;)V (6)
                  ()V
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;)V
        23: .line 1041
            aload 7 /* fnc */
            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/ContextAPITest.lambda$54(Lorg/graalvm/polyglot/Value;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/IllegalStateException;
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        24: .line 1042
            return
        end local 7 // org.graalvm.polyglot.Value fnc
        end local 6 // org.graalvm.polyglot.Value array
        end local 5 // org.graalvm.polyglot.Value object
        end local 4 // java.util.Map fields
        end local 3 // org.graalvm.polyglot.Value polyglotBindings
        end local 2 // org.graalvm.polyglot.Value bindings
        end local 1 // org.graalvm.polyglot.Context c
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   25     1                 c  Lorg/graalvm/polyglot/Context;
            3   25     2          bindings  Lorg/graalvm/polyglot/Value;
            4   25     3  polyglotBindings  Lorg/graalvm/polyglot/Value;
            5   25     4            fields  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            8   25     5            object  Lorg/graalvm/polyglot/Value;
            9   25     6             array  Lorg/graalvm/polyglot/Value;
           10   25     7               fnc  Lorg/graalvm/polyglot/Value;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDefaultContextClassLoader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1046
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1048
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* cc */
        start local 2 // java.lang.ClassLoader cc
         2: .line 1049
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* cc */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         3: .line 1050
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: 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;
            astore 5 /* c */
        start local 5 // org.graalvm.polyglot.Context c
         5: .line 1051
            aload 5 /* c */
            aload 2 /* cc */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
         6: .line 1052
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* cc */
         7: .line 1053
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 2 /* cc */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         8: .line 1054
            aload 5 /* c */
            aload 2 /* cc */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
         9: .line 1055
            aload 5 /* c */
            ifnull 18
            aload 5 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 18
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* c */
            ifnull 11
            aload 5 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        end local 2 // java.lang.ClassLoader cc
        15: .line 1056
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 6
        16: .line 1057
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        17: .line 1058
            aload 6
            athrow
        18: .line 1057
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        19: .line 1059
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   20     1  orig  Ljava/lang/ClassLoader;
            2   15     2    cc  Ljava/lang/ClassLoader;
            5   11     5     c  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           5     9      10  any
           4    12      12  any
           1    15      15  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExplicitContextClassLoader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1063
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1065
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* hostClassLoader */
        start local 2 // java.lang.ClassLoader hostClassLoader
         2: .line 1066
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* hostClassLoader */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 5 /* c */
        start local 5 // org.graalvm.polyglot.Context c
         4: .line 1067
            aload 5 /* c */
            aload 2 /* hostClassLoader */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
         5: .line 1068
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 6 /* contextClassLoader */
        start local 6 // java.lang.ClassLoader contextClassLoader
         6: .line 1069
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 6 /* contextClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         7: .line 1070
            aload 5 /* c */
            aload 2 /* hostClassLoader */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        end local 6 // java.lang.ClassLoader contextClassLoader
         8: .line 1071
            aload 5 /* c */
            ifnull 17
            aload 5 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 5 /* c */
            ifnull 10
            aload 5 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 4
            aload 3
            ifnonnull 12
            aload 4
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 3
            aload 4
            if_acmpeq 13
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
        end local 2 // java.lang.ClassLoader hostClassLoader
        14: .line 1072
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 7
        15: .line 1073
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        16: .line 1074
            aload 7
            athrow
        17: .line 1073
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        18: .line 1075
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   19     1                orig  Ljava/lang/ClassLoader;
            2   14     2     hostClassLoader  Ljava/lang/ClassLoader;
            4   10     5                   c  Lorg/graalvm/polyglot/Context;
            6    8     6  contextClassLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
           1    14      14  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExplicitContextClassLoaderMultipleContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=15, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1079
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1081
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* hostClassLoaderCtx1 */
        start local 2 // java.lang.ClassLoader hostClassLoaderCtx1
         2: .line 1082
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 3 /* hostClassLoaderCtx2 */
        start local 3 // java.lang.ClassLoader hostClassLoaderCtx2
         3: .line 1083
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* hostClassLoaderCtx1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 6 /* context1 */
        start local 6 // org.graalvm.polyglot.Context context1
         5: .line 1084
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* hostClassLoaderCtx2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 9 /* context2 */
        start local 9 // org.graalvm.polyglot.Context context2
         7: .line 1085
            aconst_null
            astore 10
            aconst_null
            astore 11
         8: 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;
            astore 12 /* context3 */
        start local 12 // org.graalvm.polyglot.Context context3
         9: .line 1086
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        10: .line 1087
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        11: .line 1088
            aload 12 /* context3 */
            aload 1 /* orig */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        12: .line 1089
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 13 /* contextClassLoader */
        start local 13 // java.lang.ClassLoader contextClassLoader
        13: .line 1090
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 13 /* contextClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        14: .line 1091
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        15: .line 1092
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        16: .line 1093
            aload 12 /* context3 */
            aload 13 /* contextClassLoader */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        end local 13 // java.lang.ClassLoader contextClassLoader
        17: .line 1094
            aload 12 /* context3 */
            ifnull 23
            aload 12 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 23
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        18: astore 10
            aload 12 /* context3 */
            ifnull 19
            aload 12 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 12 // org.graalvm.polyglot.Context context3
      StackMap locals:
      StackMap stack:
        19: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 11
            aload 10
            ifnonnull 21
            aload 11
            astore 10
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 10
            aload 11
            if_acmpeq 22
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 10
            athrow
        23: .line 1095
      StackMap locals:
      StackMap stack:
            aload 9 /* context2 */
            ifnull 29
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 7
            aload 9 /* context2 */
            ifnull 25
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context context2
      StackMap locals:
      StackMap stack:
        25: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 8
            aload 7
            ifnonnull 27
            aload 8
            astore 7
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 7
            aload 8
            if_acmpeq 28
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 7
            athrow
        29: .line 1096
      StackMap locals:
      StackMap stack:
            aload 6 /* context1 */
            ifnull 38
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 38
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 4
            aload 6 /* context1 */
            ifnull 31
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context context1
      StackMap locals:
      StackMap stack:
        31: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 5
            aload 4
            ifnonnull 33
            aload 5
            astore 4
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 4
            aload 5
            if_acmpeq 34
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 4
            athrow
        end local 3 // java.lang.ClassLoader hostClassLoaderCtx2
        end local 2 // java.lang.ClassLoader hostClassLoaderCtx1
        35: .line 1097
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 14
        36: .line 1098
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        37: .line 1099
            aload 14
            athrow
        38: .line 1098
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        39: .line 1100
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   40     0                 this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   40     1                 orig  Ljava/lang/ClassLoader;
            2   35     2  hostClassLoaderCtx1  Ljava/lang/ClassLoader;
            3   35     3  hostClassLoaderCtx2  Ljava/lang/ClassLoader;
            5   31     6             context1  Lorg/graalvm/polyglot/Context;
            7   25     9             context2  Lorg/graalvm/polyglot/Context;
            9   19    12             context3  Lorg/graalvm/polyglot/Context;
           13   17    13   contextClassLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           9    17      18  any
           8    20      20  any
           7    23      24  any
           6    26      26  any
           5    29      30  any
           4    32      32  any
           1    35      35  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExplicitContextClassLoaderNestedContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1104
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1106
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* hostClassLoaderCtx1 */
        start local 2 // java.lang.ClassLoader hostClassLoaderCtx1
         2: .line 1107
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 3 /* hostClassLoaderCtx2 */
        start local 3 // java.lang.ClassLoader hostClassLoaderCtx2
         3: .line 1108
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* hostClassLoaderCtx1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 6 /* context1 */
        start local 6 // org.graalvm.polyglot.Context context1
         5: .line 1109
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* hostClassLoaderCtx2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 9 /* context2 */
        start local 9 // org.graalvm.polyglot.Context context2
         7: .line 1110
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
         8: .line 1111
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
         9: .line 1112
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        10: .line 1113
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        11: .line 1114
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        12: .line 1116
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        13: .line 1117
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        14: .line 1118
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        15: .line 1120
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        16: .line 1121
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        17: .line 1122
            goto 21
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        18: astore 10
        19: .line 1123
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        20: .line 1124
            aload 10
            athrow
        21: .line 1123
      StackMap locals:
      StackMap stack:
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        22: .line 1125
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        23: .line 1126
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        24: .line 1127
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 11
        26: .line 1128
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        27: .line 1129
            aload 11
            athrow
        28: .line 1128
      StackMap locals:
      StackMap stack:
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        29: .line 1130
            aload 6 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        30: .line 1131
            aload 9 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        31: .line 1132
            aload 9 /* context2 */
            ifnull 37
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7
            aload 9 /* context2 */
            ifnull 33
            aload 9 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context context2
      StackMap locals:
      StackMap stack:
        33: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 8
            aload 7
            ifnonnull 35
            aload 8
            astore 7
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 7
            aload 8
            if_acmpeq 36
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 7
            athrow
        37: .line 1133
      StackMap locals:
      StackMap stack:
            aload 6 /* context1 */
            ifnull 46
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 4
            aload 6 /* context1 */
            ifnull 39
            aload 6 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context context1
      StackMap locals:
      StackMap stack:
        39: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 5
            aload 4
            ifnonnull 41
            aload 5
            astore 4
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 4
            aload 5
            if_acmpeq 42
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 4
            athrow
        end local 3 // java.lang.ClassLoader hostClassLoaderCtx2
        end local 2 // java.lang.ClassLoader hostClassLoaderCtx1
        43: .line 1134
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 12
        44: .line 1135
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        45: .line 1136
            aload 12
            athrow
        46: .line 1135
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        47: .line 1137
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   48     0                 this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   48     1                 orig  Ljava/lang/ClassLoader;
            2   43     2  hostClassLoaderCtx1  Ljava/lang/ClassLoader;
            3   43     3  hostClassLoaderCtx2  Ljava/lang/ClassLoader;
            5   39     6             context1  Lorg/graalvm/polyglot/Context;
            7   33     9             context2  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
          15    18      18  any
          12    25      25  any
           7    31      32  any
           6    34      34  any
           5    37      38  any
           4    40      40  any
           1    43      43  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExplicitContextClassLoaderNestedContexts2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=18, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1141
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1143
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* hostClassLoaderCtx1 */
        start local 2 // java.lang.ClassLoader hostClassLoaderCtx1
         2: .line 1144
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 3 /* hostClassLoaderCtx2 */
        start local 3 // java.lang.ClassLoader hostClassLoaderCtx2
         3: .line 1145
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 4 /* hostClassLoaderCtx3 */
        start local 4 // java.lang.ClassLoader hostClassLoaderCtx3
         4: .line 1146
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* hostClassLoaderCtx1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 7 /* context1 */
        start local 7 // org.graalvm.polyglot.Context context1
         6: .line 1147
            aconst_null
            astore 8
            aconst_null
            astore 9
         7: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* hostClassLoaderCtx2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 10 /* context2 */
        start local 10 // org.graalvm.polyglot.Context context2
         8: .line 1148
            aconst_null
            astore 11
            aconst_null
            astore 12
         9: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* hostClassLoaderCtx3 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 13 /* context3 */
        start local 13 // org.graalvm.polyglot.Context context3
        10: .line 1149
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        11: .line 1151
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        12: .line 1153
            aload 13 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        13: .line 1155
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        14: .line 1156
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        15: .line 1157
            aload 13 /* context3 */
            aload 4 /* hostClassLoaderCtx3 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        16: .line 1158
            goto 20
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 14
        18: .line 1159
            aload 13 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        19: .line 1160
            aload 14
            athrow
        20: .line 1159
      StackMap locals:
      StackMap stack:
            aload 13 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        21: .line 1161
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        22: .line 1162
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        23: .line 1163
            aload 13 /* context3 */
            aload 4 /* hostClassLoaderCtx3 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        24: .line 1164
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 15
        26: .line 1165
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        27: .line 1166
            aload 15
            athrow
        28: .line 1165
      StackMap locals:
      StackMap stack:
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        29: .line 1167
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        30: .line 1168
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        31: .line 1169
            aload 13 /* context3 */
            aload 4 /* hostClassLoaderCtx3 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        32: .line 1170
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 16
        34: .line 1171
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        35: .line 1172
            aload 16
            athrow
        36: .line 1171
      StackMap locals:
      StackMap stack:
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        37: .line 1173
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        38: .line 1174
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        39: .line 1175
            aload 13 /* context3 */
            aload 4 /* hostClassLoaderCtx3 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        40: .line 1176
            aload 13 /* context3 */
            ifnull 46
            aload 13 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 11
            aload 13 /* context3 */
            ifnull 42
            aload 13 /* context3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 13 // org.graalvm.polyglot.Context context3
      StackMap locals:
      StackMap stack:
        42: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 12
            aload 11
            ifnonnull 44
            aload 12
            astore 11
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 11
            aload 12
            if_acmpeq 45
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 11
            athrow
        46: .line 1177
      StackMap locals:
      StackMap stack:
            aload 10 /* context2 */
            ifnull 52
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 8
            aload 10 /* context2 */
            ifnull 48
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 10 // org.graalvm.polyglot.Context context2
      StackMap locals:
      StackMap stack:
        48: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 9
            aload 8
            ifnonnull 50
            aload 9
            astore 8
            goto 51
      StackMap locals:
      StackMap stack:
        50: aload 8
            aload 9
            if_acmpeq 51
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        51: aload 8
            athrow
        52: .line 1178
      StackMap locals:
      StackMap stack:
            aload 7 /* context1 */
            ifnull 61
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 5
            aload 7 /* context1 */
            ifnull 54
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context context1
      StackMap locals:
      StackMap stack:
        54: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 6
            aload 5
            ifnonnull 56
            aload 6
            astore 5
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 5
            aload 6
            if_acmpeq 57
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        57: aload 5
            athrow
        end local 4 // java.lang.ClassLoader hostClassLoaderCtx3
        end local 3 // java.lang.ClassLoader hostClassLoaderCtx2
        end local 2 // java.lang.ClassLoader hostClassLoaderCtx1
        58: .line 1179
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 17
        59: .line 1180
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        60: .line 1181
            aload 17
            athrow
        61: .line 1180
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        62: .line 1182
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   63     0                 this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   63     1                 orig  Ljava/lang/ClassLoader;
            2   58     2  hostClassLoaderCtx1  Ljava/lang/ClassLoader;
            3   58     3  hostClassLoaderCtx2  Ljava/lang/ClassLoader;
            4   58     4  hostClassLoaderCtx3  Ljava/lang/ClassLoader;
            6   54     7             context1  Lorg/graalvm/polyglot/Context;
            8   48    10             context2  Lorg/graalvm/polyglot/Context;
           10   42    13             context3  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
          13    17      17  any
          12    25      25  any
          11    33      33  any
          10    40      41  any
           9    43      43  any
           8    46      47  any
           7    49      49  any
           6    52      53  any
           5    55      55  any
           1    58      58  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExplicitContextClassLoaderNestedContexts3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=16, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 1186
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* orig */
        start local 1 // java.lang.ClassLoader orig
         1: .line 1188
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* hostClassLoaderCtx1 */
        start local 2 // java.lang.ClassLoader hostClassLoaderCtx1
         2: .line 1189
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 3 /* hostClassLoaderCtx2 */
        start local 3 // java.lang.ClassLoader hostClassLoaderCtx2
         3: .line 1190
            new java.net.URLClassLoader
            dup
            iconst_0
            anewarray java.net.URL
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 4 /* customClassLoader */
        start local 4 // java.lang.ClassLoader customClassLoader
         4: .line 1191
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* hostClassLoaderCtx1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 7 /* context1 */
        start local 7 // org.graalvm.polyglot.Context context1
         6: .line 1192
            aconst_null
            astore 8
            aconst_null
            astore 9
         7: iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* hostClassLoaderCtx2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.hostClassLoader:(Ljava/lang/ClassLoader;)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;
            astore 10 /* context2 */
        start local 10 // org.graalvm.polyglot.Context context2
         8: .line 1193
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         9: .line 1195
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        10: .line 1196
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        11: .line 1197
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 11 /* prev */
        start local 11 // java.lang.ClassLoader prev
        12: .line 1198
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 4 /* customClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        13: .line 1200
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        14: .line 1202
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        15: .line 1203
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        16: .line 1204
            goto 20
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
        17: astore 12
        18: .line 1205
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        19: .line 1206
            aload 12
            athrow
        20: .line 1205
      StackMap locals:
      StackMap stack:
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        21: .line 1207
            aload 4 /* customClassLoader */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 1208
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 13
        24: .line 1209
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 11 /* prev */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        25: .line 1210
            aload 13
            athrow
        26: .line 1209
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 11 /* prev */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        27: .line 1211
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        28: .line 1212
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        end local 11 // java.lang.ClassLoader prev
        29: .line 1213
            goto 33
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        30: astore 14
        31: .line 1214
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        32: .line 1215
            aload 14
            athrow
        33: .line 1214
      StackMap locals:
      StackMap stack:
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        34: .line 1216
            aload 7 /* context1 */
            aload 2 /* hostClassLoaderCtx1 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        35: .line 1217
            aload 10 /* context2 */
            aload 3 /* hostClassLoaderCtx2 */
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testContextClassLoaderImpl:(Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
        36: .line 1218
            aload 10 /* context2 */
            ifnull 42
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 8
            aload 10 /* context2 */
            ifnull 38
            aload 10 /* context2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 10 // org.graalvm.polyglot.Context context2
      StackMap locals:
      StackMap stack:
        38: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 9
            aload 8
            ifnonnull 40
            aload 9
            astore 8
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 8
            aload 9
            if_acmpeq 41
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        41: aload 8
            athrow
        42: .line 1219
      StackMap locals:
      StackMap stack:
            aload 7 /* context1 */
            ifnull 51
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 5
            aload 7 /* context1 */
            ifnull 44
            aload 7 /* context1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context context1
      StackMap locals:
      StackMap stack:
        44: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 6
            aload 5
            ifnonnull 46
            aload 6
            astore 5
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 5
            aload 6
            if_acmpeq 47
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        47: aload 5
            athrow
        end local 4 // java.lang.ClassLoader customClassLoader
        end local 3 // java.lang.ClassLoader hostClassLoaderCtx2
        end local 2 // java.lang.ClassLoader hostClassLoaderCtx1
        48: .line 1220
      StackMap locals: com.oracle.truffle.api.test.polyglot.ContextAPITest java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 15
        49: .line 1221
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        50: .line 1222
            aload 15
            athrow
        51: .line 1221
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 1 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        52: .line 1223
            return
        end local 1 // java.lang.ClassLoader orig
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   53     0                 this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            1   53     1                 orig  Ljava/lang/ClassLoader;
            2   48     2  hostClassLoaderCtx1  Ljava/lang/ClassLoader;
            3   48     3  hostClassLoaderCtx2  Ljava/lang/ClassLoader;
            4   48     4    customClassLoader  Ljava/lang/ClassLoader;
            6   44     7             context1  Lorg/graalvm/polyglot/Context;
            8   38    10             context2  Lorg/graalvm/polyglot/Context;
           12   29    11                 prev  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
          14    17      17  any
          13    23      23  any
           9    30      30  any
           8    36      37  any
           7    39      39  any
           6    42      43  any
           5    45      45  any
           1    48      48  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testContextClassLoaderImpl(org.graalvm.polyglot.Context, java.lang.ClassLoader);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/ClassLoader;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.ClassLoader expectedContextClassLoader
         0: .line 1226
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$9
            dup
            aload 1 /* expectedContextClassLoader */
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$9.<init>:(Ljava/lang/ClassLoader;)V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         1: .line 1239
            aload 0 /* context */
            ldc "proxyLanguage"
            ldc ""
            ldc "test"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            iconst_0
            invokevirtual org.graalvm.polyglot.Source$Builder.cached:(Z)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         2: .line 1240
            return
        end local 1 // java.lang.ClassLoader expectedContextClassLoader
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    3     0                     context  Lorg/graalvm/polyglot/Context;
            0    3     1  expectedContextClassLoader  Ljava/lang/ClassLoader;
    MethodParameters:
                            Name  Flags
      context                     
      expectedContextClassLoader  

  private java.lang.Object lambda$0();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 131
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$1();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 132
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$2();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 133
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$3();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 134
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "<<unknown-language>>"
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$4();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 135
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "<<unknown-language>>"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$5(org.graalvm.polyglot.Source);
    descriptor: (Lorg/graalvm/polyglot/Source;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 138
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$6();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 139
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$7();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 146
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$8();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 147
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$9();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 148
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$10();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 149
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "<<unknown-language>>"
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$11();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 150
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "<<unknown-language>>"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$12(org.graalvm.polyglot.Source);
    descriptor: (Lorg/graalvm/polyglot/Source;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 153
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aload 1
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$13();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 154
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            aconst_null
            invokevirtual org.graalvm.polyglot.Context.parse:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$14();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 220
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "error-1"
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private static void lambda$15(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 222
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isSyntaxError:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 223
            ldc "error"
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
            invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 224
            return
        end local 0 // org.graalvm.polyglot.PolyglotException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lorg/graalvm/polyglot/PolyglotException;

  private java.lang.Object lambda$16();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
         0: .line 228
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.polyglot.ContextAPITest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "error-1"
            invokevirtual org.graalvm.polyglot.Context.parse:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
    Exceptions:
      throws java.lang.Exception

  private static void lambda$17(org.graalvm.polyglot.PolyglotException);
    descriptor: (Lorg/graalvm/polyglot/PolyglotException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.PolyglotException e
         0: .line 230
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.isSyntaxError:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 231
            ldc "error"
            aload 0 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.getSourceLocation:()Lorg/graalvm/polyglot/SourceSection;
            invokevirtual org.graalvm.polyglot.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 232
            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$18();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 482
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            ldc "optiontestlang1.StringOption2"
            ldc "Hello"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$19(java.lang.IllegalArgumentException);
    descriptor: (Ljava/lang/IllegalArgumentException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.IllegalArgumentException e
         0: .line 483
            ldc "Option 'optiontestlang1.StringOption2' is experimental and must be enabled with allowExperimentalOptions(boolean) in Context.Builder or Engine.Builder. Do not use experimental options in production environments."
         1: .line 484
            aload 0 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
         2: .line 483
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 485
            return
        end local 0 // java.lang.IllegalArgumentException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     e  Ljava/lang/IllegalArgumentException;

  private static java.lang.Object lambda$20();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 490
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            ldc "image-build-time.DisablePrivileges"
            ldc "createProcess"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$21(java.lang.IllegalArgumentException);
    descriptor: (Ljava/lang/IllegalArgumentException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.IllegalArgumentException e
         0: .line 491
            ldc "Image build-time option 'image-build-time.DisablePrivileges' cannot be set at runtime"
            aload 0 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 492
            return
        end local 0 // java.lang.IllegalArgumentException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/lang/IllegalArgumentException;

  private java.lang.Thread lambda$22(int[], java.util.Set, java.lang.Runnable);
    descriptor: ([ILjava/util/Set;Ljava/lang/Runnable;)Ljava/lang/Thread;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
        start local 3 // java.lang.Runnable run
         0: .line 576
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$1CollectibleThread
            dup
            aload 0 /* this */
            aload 3 /* run */
            aload 1
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$1CollectibleThread.<init>:(Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;Ljava/lang/Runnable;[I)V
            astore 4 /* t */
        start local 4 // java.lang.Thread t
         1: .line 577
            aload 2
            new java.lang.ref.WeakReference
            dup
            aload 4 /* t */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 578
            aload 4 /* t */
            areturn
        end local 4 // java.lang.Thread t
        end local 3 // java.lang.Runnable run
        end local 0 // com.oracle.truffle.api.test.polyglot.ContextAPITest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/test/polyglot/ContextAPITest;
            0    3     3   run  Ljava/lang/Runnable;
            1    3     4     t  Ljava/lang/Thread;

  private static void lambda$23(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 584
            aload 0
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.ContextAPITest.testEnterLeave:(Lorg/graalvm/polyglot/Context;I)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$24(com.oracle.truffle.api.TruffleLanguage$Env);
    descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.TruffleLanguage$Env env
         0: .line 662
            new com.oracle.truffle.api.test.polyglot.ContextAPITest$ContextTestFunction
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ContextAPITest$ContextTestFunction.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.TruffleLanguage$Env env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   env  Lcom/oracle/truffle/api/TruffleLanguage$Env;

  private static java.lang.Object lambda$25();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 813
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  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 817
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$27();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 825
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$28();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 828
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$29();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 833
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$30();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 835
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

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

  private static java.lang.Object lambda$32();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 849
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$33();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 851
            invokestatic org.graalvm.polyglot.Context.getCurrent:()Lorg/graalvm/polyglot/Context;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$34(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 890
            aload 0
            invokevirtual org.graalvm.polyglot.Context.leave:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$35(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 891
            aload 0
            invokevirtual org.graalvm.polyglot.Context.close:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$36(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 892
            aload 0
            invokevirtual org.graalvm.polyglot.Context.enter:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$37(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 893
            aload 0
            iconst_1
            invokevirtual org.graalvm.polyglot.Context.close:(Z)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$38(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 894
            aload 0
            iconst_0
            invokevirtual org.graalvm.polyglot.Context.close:(Z)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$39(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 895
            aload 0
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$40(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 896
            aload 0
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            iconst_1
            invokevirtual org.graalvm.polyglot.Engine.close:(Z)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$41(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 897
            aload 0
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            iconst_0
            invokevirtual org.graalvm.polyglot.Engine.close:(Z)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  private static void lambda$43(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1029
            aload 0
            invokevirtual org.graalvm.polyglot.Context.enter:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$44(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1030
            aload 0
            ldc "ContextAPITestLanguage"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$45(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1031
            aload 0
            ldc "ContextAPITestLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$46(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1032
            aload 0
            ldc "ContextAPITestLanguage"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

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

  private static java.lang.Object lambda$48(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 1035
            aload 0
            invokevirtual org.graalvm.polyglot.Value.hasMembers:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$49(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1036
            aload 0
            ldc "d"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$50(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 1037
            aload 0
            ldc Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$51(org.graalvm.polyglot.Value);
    descriptor: (Lorg/graalvm/polyglot/Value;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1038
            aload 0
            ldc "x"
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$52(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 1039
            aload 0
            ldc Ljava/util/List;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$53(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 1040
            aload 0
            lconst_0
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.polyglot.Value.setArrayElement:(JLjava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$54(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 1041
            aload 0
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "ContextAPITest.java"
NestMembers:
  com.oracle.truffle.api.test.polyglot.ContextAPITest$1  com.oracle.truffle.api.test.polyglot.ContextAPITest$1$1  com.oracle.truffle.api.test.polyglot.ContextAPITest$1CollectibleThread  com.oracle.truffle.api.test.polyglot.ContextAPITest$2  com.oracle.truffle.api.test.polyglot.ContextAPITest$2CollectibleThread  com.oracle.truffle.api.test.polyglot.ContextAPITest$3  com.oracle.truffle.api.test.polyglot.ContextAPITest$4  com.oracle.truffle.api.test.polyglot.ContextAPITest$4$1  com.oracle.truffle.api.test.polyglot.ContextAPITest$5  com.oracle.truffle.api.test.polyglot.ContextAPITest$6  com.oracle.truffle.api.test.polyglot.ContextAPITest$6$1  com.oracle.truffle.api.test.polyglot.ContextAPITest$7  com.oracle.truffle.api.test.polyglot.ContextAPITest$8  com.oracle.truffle.api.test.polyglot.ContextAPITest$9  com.oracle.truffle.api.test.polyglot.ContextAPITest$9$1  com.oracle.truffle.api.test.polyglot.ContextAPITest$ContextTestFunction  com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass  com.oracle.truffle.api.test.polyglot.ContextAPITest$SyntaxError  com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope
InnerClasses:
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public OptionTestLang1 = com.oracle.truffle.api.test.option.OptionProcessorTest$OptionTestLang1 of com.oracle.truffle.api.test.option.OptionProcessorTest
  com.oracle.truffle.api.test.polyglot.ContextAPITest$1
  CollectibleThread = com.oracle.truffle.api.test.polyglot.ContextAPITest$1CollectibleThread
  com.oracle.truffle.api.test.polyglot.ContextAPITest$2
  com.oracle.truffle.api.test.polyglot.ContextAPITest$3
  com.oracle.truffle.api.test.polyglot.ContextAPITest$4
  com.oracle.truffle.api.test.polyglot.ContextAPITest$5
  com.oracle.truffle.api.test.polyglot.ContextAPITest$6
  com.oracle.truffle.api.test.polyglot.ContextAPITest$7
  com.oracle.truffle.api.test.polyglot.ContextAPITest$8
  com.oracle.truffle.api.test.polyglot.ContextAPITest$9
  final ContextTestFunction = com.oracle.truffle.api.test.polyglot.ContextAPITest$ContextTestFunction of com.oracle.truffle.api.test.polyglot.ContextAPITest
  public MyClass = com.oracle.truffle.api.test.polyglot.ContextAPITest$MyClass of com.oracle.truffle.api.test.polyglot.ContextAPITest
  SyntaxError = com.oracle.truffle.api.test.polyglot.ContextAPITest$SyntaxError of com.oracle.truffle.api.test.polyglot.ContextAPITest
  final TopScope = com.oracle.truffle.api.test.polyglot.ContextAPITest$TopScope of com.oracle.truffle.api.test.polyglot.ContextAPITest
  LanguageContext = com.oracle.truffle.api.test.polyglot.ContextAPITestLanguage$LanguageContext of com.oracle.truffle.api.test.polyglot.ContextAPITestLanguage
  public LanguageContext = com.oracle.truffle.api.test.polyglot.ProxyLanguage$LanguageContext of com.oracle.truffle.api.test.polyglot.ProxyLanguage
  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 Builder = org.graalvm.polyglot.HostAccess$Builder of org.graalvm.polyglot.HostAccess
  public abstract Export = org.graalvm.polyglot.HostAccess$Export of org.graalvm.polyglot.HostAccess
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source