public class com.oracle.truffle.api.library.test.ExportLibraryTest 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.ExportLibraryTest
  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.ExportLibraryTest this
         0: .line 60
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.AbstractLibraryTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.library.test.ExportLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/library/test/ExportLibraryTest;

  public void testSubclassRegeneration();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // com.oracle.truffle.api.library.test.ExportLibraryTest this
         0: .line 79
            new com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass.<init>:()V
            astore 1 /* base */
        start local 1 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass base
         1: .line 80
            new com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassNoRedeclaration
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassNoRedeclaration.<init>:()V
            astore 2 /* subNoRegeneration */
        start local 2 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass subNoRegeneration
         2: .line 81
            new com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassWithRedeclaration
            dup
            invokespecial com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassWithRedeclaration.<init>:()V
            astore 3 /* subWithRegeneration */
        start local 3 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass subWithRegeneration
         3: .line 83
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 1 /* base */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 4 /* baseLib */
        start local 4 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary baseLib
         4: .line 84
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 2 /* subNoRegeneration */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 5 /* subNoRegenerationLib */
        start local 5 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary subNoRegenerationLib
         5: .line 85
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 3 /* subWithRegeneration */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 6 /* subWithRegenerationLib */
        start local 6 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary subWithRegenerationLib
         6: .line 86
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 1 /* base */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 7 /* uncachedBaseLib */
        start local 7 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedBaseLib
         7: .line 87
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 2 /* subNoRegeneration */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 8 /* uncachedSubNoRegenerationLib */
        start local 8 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedSubNoRegenerationLib
         8: .line 88
            ldc Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            aload 3 /* subWithRegeneration */
            invokestatic com.oracle.truffle.api.library.test.ExportLibraryTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary
            astore 9 /* uncachedSubWithRegenerationLib */
        start local 9 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedSubWithRegenerationLib
         9: .line 92
            aload 4 /* baseLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 5 /* subNoRegenerationLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 93
            aload 4 /* baseLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 6 /* subWithRegenerationLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 97
            aload 4 /* baseLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 98
            ldc "m0"
            aload 4 /* baseLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 99
            aload 5 /* subNoRegenerationLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        14: .line 100
            aload 6 /* subWithRegenerationLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        15: .line 102
            aload 4 /* baseLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        16: .line 103
            aload 5 /* subNoRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 104
            ldc "m0"
            aload 5 /* subNoRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 105
            aload 6 /* subWithRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        19: .line 107
            aload 4 /* baseLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        20: .line 108
            aload 5 /* subNoRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        21: .line 109
            aload 6 /* subWithRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        22: .line 110
            ldc "m0override"
            aload 6 /* subWithRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 114
            aload 7 /* uncachedBaseLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 8 /* uncachedSubNoRegenerationLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 115
            aload 7 /* uncachedBaseLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 9 /* uncachedSubWithRegenerationLib */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 117
            aload 4 /* baseLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        26: .line 118
            ldc "m0"
            aload 7 /* uncachedBaseLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 119
            aload 8 /* uncachedSubNoRegenerationLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        28: .line 120
            aload 9 /* uncachedSubWithRegenerationLib */
            aload 1 /* base */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        29: .line 122
            aload 7 /* uncachedBaseLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        30: .line 123
            aload 8 /* uncachedSubNoRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        31: .line 124
            ldc "m0"
            aload 8 /* uncachedSubNoRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 125
            aload 9 /* uncachedSubWithRegenerationLib */
            aload 2 /* subNoRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        33: .line 127
            aload 7 /* uncachedBaseLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        34: .line 128
            aload 8 /* uncachedSubNoRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        35: .line 129
            aload 9 /* uncachedSubWithRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        36: .line 130
            ldc "m0override"
            aload 9 /* uncachedSubWithRegenerationLib */
            aload 3 /* subWithRegeneration */
            invokevirtual com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary.m0:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 131
            return
        end local 9 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedSubWithRegenerationLib
        end local 8 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedSubNoRegenerationLib
        end local 7 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary uncachedBaseLib
        end local 6 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary subWithRegenerationLib
        end local 5 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary subNoRegenerationLib
        end local 4 // com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary baseLib
        end local 3 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass subWithRegeneration
        end local 2 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass subNoRegeneration
        end local 1 // com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass base
        end local 0 // com.oracle.truffle.api.library.test.ExportLibraryTest this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   38     0                            this  Lcom/oracle/truffle/api/library/test/ExportLibraryTest;
            1   38     1                            base  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$BaseClass;
            2   38     2               subNoRegeneration  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$BaseClass;
            3   38     3             subWithRegeneration  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$BaseClass;
            4   38     4                         baseLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            5   38     5            subNoRegenerationLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            6   38     6          subWithRegenerationLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            7   38     7                 uncachedBaseLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            8   38     8    uncachedSubNoRegenerationLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
            9   38     9  uncachedSubWithRegenerationLib  Lcom/oracle/truffle/api/library/test/ExportLibraryTest$ExportLibraryTestLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "ExportLibraryTest.java"
NestMembers:
  com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary2  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError1  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError2  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError3  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError4  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError5  com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError5$M0  com.oracle.truffle.api.library.test.ExportLibraryTest$NoLibrary  com.oracle.truffle.api.library.test.ExportLibraryTest$PrimitiveInt  com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassNoRedeclaration  com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassWithRedeclaration  com.oracle.truffle.api.library.test.ExportLibraryTest$TestReceiver  com.oracle.truffle.api.library.test.ExportLibraryTest$TestReceiver$M0
InnerClasses:
  public BaseClass = com.oracle.truffle.api.library.test.ExportLibraryTest$BaseClass of com.oracle.truffle.api.library.test.ExportLibraryTest
  public abstract ExportLibraryTestLibrary = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary of com.oracle.truffle.api.library.test.ExportLibraryTest
  public abstract ExportLibraryTestLibrary2 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportLibraryTestLibrary2 of com.oracle.truffle.api.library.test.ExportLibraryTest
  ExportsTestObjectError1 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError1 of com.oracle.truffle.api.library.test.ExportLibraryTest
  private ExportsTestObjectError2 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError2 of com.oracle.truffle.api.library.test.ExportLibraryTest
  ExportsTestObjectError3 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError3 of com.oracle.truffle.api.library.test.ExportLibraryTest
  ExportsTestObjectError4 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError4 of com.oracle.truffle.api.library.test.ExportLibraryTest
  ExportsTestObjectError5 = com.oracle.truffle.api.library.test.ExportLibraryTest$ExportsTestObjectError5 of com.oracle.truffle.api.library.test.ExportLibraryTest
  abstract NoLibrary = com.oracle.truffle.api.library.test.ExportLibraryTest$NoLibrary of com.oracle.truffle.api.library.test.ExportLibraryTest
  public PrimitiveInt = com.oracle.truffle.api.library.test.ExportLibraryTest$PrimitiveInt of com.oracle.truffle.api.library.test.ExportLibraryTest
  public SubClassNoRedeclaration = com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassNoRedeclaration of com.oracle.truffle.api.library.test.ExportLibraryTest
  public SubClassWithRedeclaration = com.oracle.truffle.api.library.test.ExportLibraryTest$SubClassWithRedeclaration of com.oracle.truffle.api.library.test.ExportLibraryTest
  TestReceiver = com.oracle.truffle.api.library.test.ExportLibraryTest$TestReceiver of com.oracle.truffle.api.library.test.ExportLibraryTest