public class com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest extends com.oracle.truffle.llvm.tests.interop.InteropTestBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  super_class: com.oracle.truffle.llvm.tests.interop.InteropTestBase
{
  private static java.lang.Object testLibrary;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
         0: .line 58
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.tests.interop.InteropTestBase.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;

  public static void loadTestBitcode();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            ldc "polyglotBuiltinTest.c"
            invokestatic com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest.loadTestBitcodeInternal:(Ljava/lang/String;)Ljava/lang/Object;
            putstatic com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest.testLibrary:Ljava/lang/Object;
         1: .line 65
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.junit.BeforeClass()

  public void testNew(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testNew
         0: .line 76
            aload 1 /* testNew */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.TestConstructor
            dup
            iconst_1
            invokedynamic call()Lcom/oracle/truffle/llvm/tests/interop/values/TestCallback$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/llvm/tests/interop/PolyglotBuiltinTest.lambda$0([Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ([Ljava/lang/Object;)Ljava/lang/Object;
            invokespecial com.oracle.truffle.llvm.tests.interop.values.TestConstructor.<init>:(ILcom/oracle/truffle/llvm/tests/interop/values/TestCallback$Function;)V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ret */
        start local 2 // java.lang.Object ret
         1: .line 85
            aload 2 /* ret */
            ldc Lcom/oracle/truffle/llvm/tests/interop/values/BoxedIntValue;
            invokestatic org.hamcrest.CoreMatchers.instanceOf:(Ljava/lang/Class;)Lorg/hamcrest/Matcher;
            invokestatic org.hamcrest.CoreMatchers.is:(Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
            invokestatic org.junit.Assert.assertThat:(Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
         2: .line 86
            aload 2 /* ret */
            checkcast com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue
            astore 3 /* value */
        start local 3 // com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue value
         3: .line 87
            ldc 42
            aload 3 /* value */
            invokevirtual com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         4: .line 88
            return
        end local 3 // com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue value
        end local 2 // java.lang.Object ret
        end local 1 // com.oracle.truffle.api.CallTarget testNew
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    5     1  testNew  Lcom/oracle/truffle/api/CallTarget;
            1    5     2      ret  Ljava/lang/Object;
            3    5     3    value  Lcom/oracle/truffle/llvm/tests/interop/values/BoxedIntValue;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestNewNode;)
    MethodParameters:
         Name  Flags
      testNew  

  public void testRemoveMember(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testRemoveMember
         0: .line 99
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.HashMap map
         1: .line 100
            aload 2 /* map */
            ldc "test"
            new com.oracle.truffle.llvm.tests.interop.values.NullValue
            dup
            invokespecial com.oracle.truffle.llvm.tests.interop.values.NullValue.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 102
            aload 1 /* testRemoveMember */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.StructObject
            dup
            aload 2 /* map */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.StructObject.<init>:(Ljava/util/Map;)V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         3: .line 103
            ldc "ret"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* ret */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 105
            ldc "containsKey(test)"
            aload 2 /* map */
            ldc "test"
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
         5: .line 106
            return
        end local 3 // java.lang.Object ret
        end local 2 // java.util.HashMap map
        end local 1 // com.oracle.truffle.api.CallTarget testRemoveMember
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    6     1  testRemoveMember  Lcom/oracle/truffle/api/CallTarget;
            1    6     2               map  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
            3    6     3               ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestRemoveMemberNode;)
    MethodParameters:
                  Name  Flags
      testRemoveMember  

  public void testRemoveIndex(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testRemoveArrayElement
         0: .line 117
            iconst_5
            anewarray java.lang.Object
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
         1: .line 119
            aload 1 /* testRemoveArrayElement */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.ArrayObject
            dup
            aload 2 /* arr */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.ArrayObject.<init>:([Ljava/lang/Object;)V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         2: .line 120
            ldc "ret"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* ret */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 122
            ldc "arr[3]"
            ldc "<removed>"
            aload 2 /* arr */
            iconst_3
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 123
            return
        end local 3 // java.lang.Object ret
        end local 2 // java.lang.Object[] arr
        end local 1 // com.oracle.truffle.api.CallTarget testRemoveArrayElement
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    5     0                    this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    5     1  testRemoveArrayElement  Lcom/oracle/truffle/api/CallTarget;
            1    5     2                     arr  [Ljava/lang/Object;
            2    5     3                     ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestRemoveArrayElementNode;)
    MethodParameters:
                        Name  Flags
      testRemoveArrayElement  

  public void testHasMemberExisting(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testHasMember
         0: .line 134
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.HashMap map
         1: .line 135
            aload 2 /* map */
            ldc "test"
            new com.oracle.truffle.llvm.tests.interop.values.NullValue
            dup
            invokespecial com.oracle.truffle.llvm.tests.interop.values.NullValue.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 137
            aload 1 /* testHasMember */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.StructObject
            dup
            aload 2 /* map */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.StructObject.<init>:(Ljava/util/Map;)V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         3: .line 138
            ldc "ret"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* ret */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 139
            return
        end local 3 // java.lang.Object ret
        end local 2 // java.util.HashMap map
        end local 1 // com.oracle.truffle.api.CallTarget testHasMember
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    5     1  testHasMember  Lcom/oracle/truffle/api/CallTarget;
            1    5     2            map  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
            3    5     3            ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestHasMemberNode;)
    MethodParameters:
               Name  Flags
      testHasMember  

  public void testHasMemberNotExisting(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testHasMember
         0: .line 143
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.HashMap map
         1: .line 145
            aload 1 /* testHasMember */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.StructObject
            dup
            aload 2 /* map */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.StructObject.<init>:(Ljava/util/Map;)V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         2: .line 146
            ldc "ret"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* ret */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 147
            return
        end local 3 // java.lang.Object ret
        end local 2 // java.util.HashMap map
        end local 1 // com.oracle.truffle.api.CallTarget testHasMember
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    4     1  testHasMember  Lcom/oracle/truffle/api/CallTarget;
            1    4     2            map  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
            2    4     3            ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestHasMemberNode;)
    MethodParameters:
               Name  Flags
      testHasMember  

  public void testHasMemberNotAnObject(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testHasMember
         0: .line 151
            aload 1 /* testHasMember */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.values.NullValue
            dup
            invokespecial com.oracle.truffle.llvm.tests.interop.values.NullValue.<init>:()V
            aastore
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ret */
        start local 2 // java.lang.Object ret
         1: .line 152
            ldc "ret"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 2 /* ret */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 153
            return
        end local 2 // java.lang.Object ret
        end local 1 // com.oracle.truffle.api.CallTarget testHasMember
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    3     1  testHasMember  Lcom/oracle/truffle/api/CallTarget;
            1    3     2            ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestHasMemberNode;)
    MethodParameters:
               Name  Flags
      testHasMember  

  public void testHostInterop(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testHostInterop
         0: .line 164
            ldc "skipping host interop test in native mode"
            getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
            invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
         1: .line 166
            aload 1 /* testHostInterop */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ret */
        start local 2 // java.lang.Object ret
         2: .line 168
            ldc "isHostObject"
            getstatic com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
            invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* ret */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         3: .line 169
            ldc "ret"
            ldc Ljava/math/BigInteger;
            getstatic com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
            invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* ret */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 170
            return
        end local 2 // java.lang.Object ret
        end local 1 // com.oracle.truffle.api.CallTarget testHostInterop
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    5     1  testHostInterop  Lcom/oracle/truffle/api/CallTarget;
            2    5     2              ret  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestHostInteropNode;)
    MethodParameters:
                 Name  Flags
      testHostInterop  

  public void testHasEvalNoLang(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testEvalNolang
         0: .line 182
            aload 1 /* testEvalNolang */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 183
            ldc "Should have thrown an exception."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 184
            goto 5
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
         3: astore 2 /* e */
        start local 2 // com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException e
         4: .line 185
            ldc "err_eval_no_lang"
            ldc "Language 'not_impl_lang' not found."
            aload 2 /* e */
            invokevirtual com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException e
         5: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.CallTarget testEvalNolang
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    6     1  testEvalNolang  Lcom/oracle/truffle/api/CallTarget;
            4    5     2               e  Lcom/oracle/truffle/llvm/runtime/except/LLVMPolyglotException;
      Exception table:
        from    to  target  type
           0     2       3  Class com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestEvalNoLang;)
    MethodParameters:
                Name  Flags
      testEvalNolang  

  public void testHasEvalNoInternal(com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
        start local 1 // com.oracle.truffle.api.CallTarget testEvalNoInternal
         0: .line 199
            aload 1 /* testEvalNoInternal */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 200
            ldc "Should have thrown an exception."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 201
            goto 5
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
         3: astore 2 /* e */
        start local 2 // com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException e
         4: .line 202
            ldc "err_eval_no_lang"
            ldc "Language 'nfi' not found."
            aload 2 /* e */
            invokevirtual com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException e
         5: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.CallTarget testEvalNoInternal
        end local 0 // com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest;
            0    6     1  testEvalNoInternal  Lcom/oracle/truffle/api/CallTarget;
            4    5     2                   e  Lcom/oracle/truffle/llvm/runtime/except/LLVMPolyglotException;
      Exception table:
        from    to  target  type
           0     2       3  Class com.oracle.truffle.llvm.runtime.except.LLVMPolyglotException
    RuntimeVisibleAnnotations: 
      org.junit.Test()
    RuntimeVisibleParameterAnnotations: 
      0:
        com.oracle.truffle.tck.TruffleRunner$Inject(value = Lcom/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest$TestEvalNoInternal;)
    MethodParameters:
                    Name  Flags
      testEvalNoInternal  

  private static java.lang.Object lambda$0(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object[] args
         0: .line 78
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            istore 1 /* arg */
        start local 1 // int arg
         1: .line 79
            new com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue
            dup
            iload 1 /* arg */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue.<init>:(I)V
         2: areturn
        end local 1 // int arg
         3: .line 80
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 1 /* ex */
        start local 1 // com.oracle.truffle.api.interop.UnsupportedMessageException ex
         4: .line 81
            new java.lang.AssertionError
            dup
            aload 1 /* ex */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // com.oracle.truffle.api.interop.UnsupportedMessageException ex
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  args  [Ljava/lang/Object;
            1    3     1   arg  I
            4    5     1    ex  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           0     2       3  Class com.oracle.truffle.api.interop.UnsupportedMessageException
}
SourceFile: "PolyglotBuiltinTest.java"
NestMembers:
  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestEvalNoInternal  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestEvalNoLang  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestHasMemberNode  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestHostInteropNode  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestNewNode  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestRemoveArrayElementNode  com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestRemoveMemberNode
InnerClasses:
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public TestEvalNoInternal = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestEvalNoInternal of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestEvalNoLang = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestEvalNoLang of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestHasMemberNode = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestHasMemberNode of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestHostInteropNode = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestHostInteropNode of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestNewNode = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestNewNode of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestRemoveArrayElementNode = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestRemoveArrayElementNode of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public TestRemoveMemberNode = com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest$TestRemoveMemberNode of com.oracle.truffle.llvm.tests.interop.PolyglotBuiltinTest
  public abstract Function = com.oracle.truffle.llvm.tests.interop.values.TestCallback$Function of com.oracle.truffle.llvm.tests.interop.values.TestCallback
  public abstract Inject = com.oracle.truffle.tck.TruffleRunner$Inject of com.oracle.truffle.tck.TruffleRunner
  public final RunWithPolyglotRule = com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule of com.oracle.truffle.tck.TruffleRunner
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lcom/oracle/truffle/tck/TruffleRunner;)