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

  public void testLoadLegacyRegistrations();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest this
         0: .line 87
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 3 /* eng */
        start local 3 // org.graalvm.polyglot.Engine eng
         2: .line 88
            aload 3 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "legacyregistration"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 4 /* instrument */
        start local 4 // org.graalvm.polyglot.Instrument instrument
         3: .line 89
            aload 4 /* instrument */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         4: .line 90
            ldc "LegacyRegistration"
            aload 4 /* instrument */
            invokevirtual org.graalvm.polyglot.Instrument.getName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 91
            ldc "1.0.0"
            aload 4 /* instrument */
            invokevirtual org.graalvm.polyglot.Instrument.getVersion:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // org.graalvm.polyglot.Instrument instrument
         6: .line 92
            aload 3 /* eng */
            ifnull 12
            aload 3 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 12
      StackMap locals: com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine
      StackMap stack: java.lang.Throwable
         7: astore 1
            aload 3 /* eng */
            ifnull 8
            aload 3 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 3 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 1
            ifnonnull 10
            aload 2
            astore 1
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1
            aload 2
            if_acmpeq 11
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
        12: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/oracle/truffle/api/dsl/test/processor/InstrumentRegistrationTest;
            2    8     3         eng  Lorg/graalvm/polyglot/Engine;
            3    6     4  instrument  Lorg/graalvm/polyglot/Instrument;
      Exception table:
        from    to  target  type
           2     6       7  any
           1     9       9  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "InstrumentRegistrationTest.java"
NestMembers:
  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$LegacyRegistration  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$MyInstrumentGood  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$MyInstrumentGoodWithServices  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$NonPublicInstrument  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$Service1  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$Service2  com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$WrongSuperClassInstrument
InnerClasses:
  public final LegacyRegistration = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$LegacyRegistration of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  public final MyInstrumentGood = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$MyInstrumentGood of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  public final MyInstrumentGoodWithServices = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$MyInstrumentGoodWithServices of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  final NonPublicInstrument = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$NonPublicInstrument of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  abstract Service1 = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$Service1 of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  abstract Service2 = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$Service2 of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest
  public final WrongSuperClassInstrument = com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest$WrongSuperClassInstrument of com.oracle.truffle.api.dsl.test.processor.InstrumentRegistrationTest