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

  protected void onCreate(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1 this
        start local 1 // com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env
         0: .line 1364
            aload 1 /* env */
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestUsedTagNotRequired1$Foobar;
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            new com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestUsedTagNotRequired1;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         1: .line 1374
            invokestatic org.junit.Assert.fail:()V
         2: .line 1375
            goto 7
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         3: astore 2 /* e */
        start local 2 // java.lang.IllegalArgumentException e
         4: .line 1377
            ldc "The attached filter SourceSectionFilter[tag is one of [foobar0]] references the following tags [foobar0] which are not declared as required by the instrument. To fix this annotate the instrument class com.oracle.truffle.api.instrumentation.InstrumentationTest$TestUsedTagNotRequired1 with @RequiredTags({foobar0})."
         5: .line 1381
            aload 2 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
         6: .line 1376
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.IllegalArgumentException e
         7: .line 1383
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env
        end local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTest$TestUsedTagNotRequired1;
            0    8     1   env  Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            4    7     2     e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      env   final
}
SourceFile: "InstrumentationTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationTest
InnerClasses:
  public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public abstract Registration = com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public TestUsedTagNotRequired1 = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1 of com.oracle.truffle.api.instrumentation.test.InstrumentationTest
  com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$1
  private Foobar = com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1$Foobar of com.oracle.truffle.api.instrumentation.test.InstrumentationTest$TestUsedTagNotRequired1
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(id = "testUsedTagNotRequired1", services = {Ljava/lang/Object;})