public class com.oracle.truffle.api.library.test.ExportMethodTest extends com.oracle.truffle.api.test.AbstractLibraryTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.library.test.ExportMethodTest
  super_class: com.oracle.truffle.api.test.AbstractLibraryTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 66
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.AbstractLibraryTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;

  public void test();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 150
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1.<init>:()V
            astore 1 /* o */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1 o
         1: .line 151
            ldc "foo"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* o */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* o */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 152
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1 o
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    3     1     o  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestObject1;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsObject2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 164
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2 obj
         1: .line 165
            new com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface.<init>:()V
            astore 2 /* subInterface */
        start local 2 // com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface subInterface
         2: .line 166
            aload 2 /* subInterface */
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary4;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4
            aload 1 /* obj */
            aload 2 /* subInterface */
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4.interfaceArg:(Ljava/lang/Object;Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestInterface;)Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestInterface;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 167
            new com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass.<init>:()V
            astore 3 /* subClass */
        start local 3 // com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass subClass
         4: .line 168
            aload 3 /* subClass */
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary4;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4
            aload 1 /* obj */
            aload 3 /* subClass */
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4.classArg:(Ljava/lang/Object;Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestClass;)Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestClass;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 169
            return
        end local 3 // com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass subClass
        end local 2 // com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface subInterface
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2 obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    6     1           obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestObject2;
            2    6     2  subInterface  Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestSubInterface;
            4    6     3      subClass  Lcom/oracle/truffle/api/library/test/ExportMethodTest$TestSubClass;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsObject3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 227
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs obj
         1: .line 228
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary4;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4
            aload 1 /* obj */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4.varArgsObject:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 229
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary4;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4
            aload 1 /* obj */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4.varArgsObject:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 230
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestVarArgs;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsStaticMethod();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 245
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod obj
         1: .line 246
            ldc "foo"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 247
            ldc "foo"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 248
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestStaticMethod;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsInstanceWithCachedNode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 262
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode obj
         1: .line 263
            ldc "cached"
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest.adoptNode:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 264
            ldc "uncached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 265
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestInstanceWithCachedNode;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsStaticWithCachedNode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 279
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode obj
         1: .line 280
            ldc "cached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 281
            ldc "uncached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 282
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestStaticWithCachedNode;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsInstanceWithLibrary();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 297
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary obj
         1: .line 298
            ldc "cached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 299
            ldc "uncached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 300
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestInstanceWithLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExportsStaticWithLibrary();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 315
            new com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary.<init>:()V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary obj
         1: .line 316
            ldc "cached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 317
            ldc "uncached"
            ldc Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestLibrary1;
            aload 1 /* obj */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1
            aload 1 /* obj */
            bipush 42
            invokevirtual com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1.foo:(Ljava/lang/Object;I)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 318
            return
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary obj
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1   obj  Lcom/oracle/truffle/api/library/test/ExportMethodTest$ExportsTestStaticWithLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testWeakReference();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
         0: .line 322
            new com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest.<init>:()V
            astore 1 /* weak */
        start local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest weak
         1: .line 323
            ldc Lcom/oracle/truffle/api/library/test/ExportNodeTest$MultiNodeExportLibrary;
            aload 1 /* weak */
            invokestatic com.oracle.truffle.api.library.test.ExportMethodTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportNodeTest$MultiNodeExportLibrary
            astore 2 /* cachedLib */
        start local 2 // com.oracle.truffle.api.library.test.ExportNodeTest$MultiNodeExportLibrary cachedLib
         2: .line 324
            ldc "s0"
            aload 2 /* cachedLib */
            aload 1 /* weak */
            ldc "arg"
            invokevirtual com.oracle.truffle.api.library.test.ExportNodeTest$MultiNodeExportLibrary.m0:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 325
            return
        end local 2 // com.oracle.truffle.api.library.test.ExportNodeTest$MultiNodeExportLibrary cachedLib
        end local 1 // com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest weak
        end local 0 // com.oracle.truffle.api.library.test.ExportMethodTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/oracle/truffle/api/library/test/ExportMethodTest;
            1    4     1       weak  Lcom/oracle/truffle/api/library/test/ExportMethodTest$WeakReferenceMethodTest;
            2    4     2  cachedLib  Lcom/oracle/truffle/api/library/test/ExportNodeTest$MultiNodeExportLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "ExportMethodTest.java"
NestMembers:
  com.oracle.truffle.api.library.test.ExportMethodTest$CachedTestNode  com.oracle.truffle.api.library.test.ExportMethodTest$DSLNode  com.oracle.truffle.api.library.test.ExportMethodTest$ExportTestObjectError13  com.oracle.truffle.api.library.test.ExportMethodTest$ExportTestObjectError14  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsInnerDSLNode  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary2  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary3  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary5  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectCorrect11  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError10  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError11  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError12  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError15  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError16  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError18  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError19  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError2  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError3  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError4  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError5  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError6  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError7  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError8  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError9  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsWithCachedBindsToReceiverMethod  com.oracle.truffle.api.library.test.ExportMethodTest$ExportsWithCachedBindsToThis  com.oracle.truffle.api.library.test.ExportMethodTest$NoLibrary  com.oracle.truffle.api.library.test.ExportMethodTest$TestClass  com.oracle.truffle.api.library.test.ExportMethodTest$TestInterface  com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass  com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface  com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest
InnerClasses:
  abstract CachedTestNode = com.oracle.truffle.api.library.test.ExportMethodTest$CachedTestNode of com.oracle.truffle.api.library.test.ExportMethodTest
  abstract DSLNode = com.oracle.truffle.api.library.test.ExportMethodTest$DSLNode of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportTestObjectError13 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportTestObjectError13 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportTestObjectError14 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportTestObjectError14 of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsInnerDSLNode = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsInnerDSLNode of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestInstanceWithCachedNode = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithCachedNode of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestInstanceWithLibrary = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestInstanceWithLibrary of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract ExportsTestLibrary1 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary1 of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract ExportsTestLibrary2 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary2 of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract ExportsTestLibrary3 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary3 of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract ExportsTestLibrary4 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary4 of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract ExportsTestLibrary5 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestLibrary5 of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestObject1 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject1 of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestObject2 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObject2 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectCorrect11 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectCorrect11 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError10 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError10 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError11 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError11 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError12 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError12 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError15 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError15 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError16 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError16 of com.oracle.truffle.api.library.test.ExportMethodTest
  abstract ExportsTestObjectError18 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError18 of com.oracle.truffle.api.library.test.ExportMethodTest
  abstract ExportsTestObjectError19 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError19 of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestObjectError2 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError2 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError3 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError3 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError4 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError4 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError5 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError5 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError6 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError6 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError7 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError7 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError8 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError8 of com.oracle.truffle.api.library.test.ExportMethodTest
  ExportsTestObjectError9 = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestObjectError9 of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestStaticMethod = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticMethod of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestStaticWithCachedNode = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithCachedNode of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestStaticWithLibrary = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestStaticWithLibrary of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsTestVarArgs = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsTestVarArgs of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsWithCachedBindsToReceiverMethod = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsWithCachedBindsToReceiverMethod of com.oracle.truffle.api.library.test.ExportMethodTest
  final ExportsWithCachedBindsToThis = com.oracle.truffle.api.library.test.ExportMethodTest$ExportsWithCachedBindsToThis of com.oracle.truffle.api.library.test.ExportMethodTest
  abstract NoLibrary = com.oracle.truffle.api.library.test.ExportMethodTest$NoLibrary of com.oracle.truffle.api.library.test.ExportMethodTest
  TestClass = com.oracle.truffle.api.library.test.ExportMethodTest$TestClass of com.oracle.truffle.api.library.test.ExportMethodTest
  abstract TestInterface = com.oracle.truffle.api.library.test.ExportMethodTest$TestInterface of com.oracle.truffle.api.library.test.ExportMethodTest
  private TestSubClass = com.oracle.truffle.api.library.test.ExportMethodTest$TestSubClass of com.oracle.truffle.api.library.test.ExportMethodTest
  private TestSubInterface = com.oracle.truffle.api.library.test.ExportMethodTest$TestSubInterface of com.oracle.truffle.api.library.test.ExportMethodTest
  public final WeakReferenceMethodTest = com.oracle.truffle.api.library.test.ExportMethodTest$WeakReferenceMethodTest of com.oracle.truffle.api.library.test.ExportMethodTest
  public abstract MultiNodeExportLibrary = com.oracle.truffle.api.library.test.ExportNodeTest$MultiNodeExportLibrary of com.oracle.truffle.api.library.test.ExportNodeTest