public class com.oracle.truffle.api.instrumentation.test.SourceListenerTest extends com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  super_class: com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest
{
  private static final com.oracle.truffle.api.instrumentation.ExecutionEventListener EMPTY_EXECUTION_EVENT_LISTENER;
    descriptor: Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 100
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$1
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$1.<init>:()V
            putstatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.EMPTY_EXECUTION_EVENT_LISTENER:Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;
         1: .line 115
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.SourceListenerTest this
         0: .line 98
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;

  public static void beforeClass();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 119
            invokestatic com.oracle.truffle.api.instrumentation.test.CompileImmediatelyCheck.isCompileImmediately:()Z
            invokestatic org.junit.Assume.assumeFalse:(Z)V
         1: .line 120
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.junit.BeforeClass()

  public void testLoadSource1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 124
            aload 0 /* this */
            iconst_1
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 125
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadSource2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 129
            aload 0 /* this */
            iconst_1
            iconst_2
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 130
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadSource3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 134
            aload 0 /* this */
            iconst_1
            iconst_5
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 135
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteSource1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 139
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 140
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteSource2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 144
            aload 0 /* this */
            iconst_0
            iconst_2
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 145
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteSource3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 149
            aload 0 /* this */
            iconst_0
            iconst_5
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testLoadExecuteSourceImpl:(ZI)V
         1: .line 150
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testLoadExecuteSourceImpl(boolean, int);
    descriptor: (ZI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // boolean load
        start local 2 // int runTimes
         0: .line 153
            invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.getRootSourceSectionQueryCount:()I
            istore 3 /* initialQueryCount */
        start local 3 // int initialQueryCount
         1: .line 155
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testLoadExecuteSource"
            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
         2: .line 156
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "STATEMENT(EXPRESSION, EXPRESSION)"
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 5 /* source1 */
        start local 5 // org.graalvm.polyglot.Source source1
         3: .line 158
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 159
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* source1 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
         6: .line 158
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 2 /* runTimes */
            if_icmplt 5
        end local 6 // int i
         8: .line 162
            ldc "unexpected getSourceSection calls without source listeners"
            iload 3 /* initialQueryCount */
            i2l
            invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.getRootSourceSectionQueryCount:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         9: .line 164
            aload 4 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource
            astore 6 /* impl */
        start local 6 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
        10: .line 165
            ldc "Lookup of registered service enables the instrument"
            aload 0 /* this */
            aload 4 /* instrument */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.isCreated:(Lorg/graalvm/polyglot/Instrument;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        11: .line 166
            iload 1 /* load */
            ifeq 14
        12: .line 167
            aload 6 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachLoad:()V
        13: .line 168
            goto 15
        14: .line 169
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource
      StackMap stack:
            aload 6 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachExecute:()V
        15: .line 172
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ROOT(DEFINE(f1, STATEMENT(EXPRESSION)), DEFINE(f2, STATEMENT),BLOCK(CALL(f1), CALL(f2)))"
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 7 /* source2 */
        start local 7 // org.graalvm.polyglot.Source source2
        16: .line 174
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 20
        18: .line 175
      StackMap locals: org.graalvm.polyglot.Source int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* source2 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
        19: .line 174
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            iload 2 /* runTimes */
            if_icmplt 18
        end local 8 // int i
        21: .line 178
            ldc "expecting getSourceSection calls because of source listeners"
            iload 3 /* initialQueryCount */
            i2l
            invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage.getRootSourceSectionQueryCount:()I
            i2l
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
        22: .line 180
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.onlyNewEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 7 /* source2 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        23: .line 181
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_2
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 5 /* source1 */
            aastore
            dup
            iconst_1
            aload 7 /* source2 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        24: .line 184
            ldc "instrumentation-test-language"
            ldc "STATEMENT"
            ldc "test"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Source$Builder.internal:(Z)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            astore 8 /* source3 */
        start local 8 // org.graalvm.polyglot.Source source3
        25: .line 185
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        26: goto 29
        27: .line 186
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource org.graalvm.polyglot.Source org.graalvm.polyglot.Source int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* source3 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
        28: .line 185
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* i */
            iload 2 /* runTimes */
            if_icmplt 27
        end local 9 // int i
        30: .line 189
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.onlyNewEvents:Ljava/util/List;
            iconst_2
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 7 /* source2 */
            aastore
            dup
            iconst_1
            aload 8 /* source3 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        31: .line 190
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_3
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 5 /* source1 */
            aastore
            dup
            iconst_1
            aload 7 /* source2 */
            aastore
            dup
            iconst_2
            aload 8 /* source3 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        32: .line 191
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allNotInternalEvents:Ljava/util/List;
            iconst_2
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 5 /* source1 */
            aastore
            dup
            iconst_1
            aload 7 /* source2 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        33: .line 194
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.teardown:()V
        34: .line 195
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setup:()V
        35: .line 197
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "STATEMENT(EXPRESSION, EXPRESSION, EXPRESSION)"
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 9 /* source4 */
        start local 9 // org.graalvm.polyglot.Source source4
        36: .line 198
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        37: goto 40
        38: .line 199
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource org.graalvm.polyglot.Source org.graalvm.polyglot.Source org.graalvm.polyglot.Source int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* source4 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
        39: .line 198
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* i */
            iload 2 /* runTimes */
            if_icmplt 38
        end local 10 // int i
        41: .line 202
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.onlyNewEvents:Ljava/util/List;
            iconst_2
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 7 /* source2 */
            aastore
            dup
            iconst_1
            aload 8 /* source3 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        42: .line 203
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_3
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 5 /* source1 */
            aastore
            dup
            iconst_1
            aload 7 /* source2 */
            aastore
            dup
            iconst_2
            aload 8 /* source3 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        43: .line 205
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testLoadExecuteSource"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 4 /* instrument */
        44: .line 206
            aload 4 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource
            astore 6 /* impl */
        45: .line 207
            iload 1 /* load */
            ifeq 48
        46: .line 208
            aload 6 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachLoad:()V
        47: .line 209
            goto 49
        48: .line 210
      StackMap locals:
      StackMap stack:
            aload 6 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachExecute:()V
        49: .line 213
      StackMap locals:
      StackMap stack:
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.onlyNewEvents:Ljava/util/List;
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;)V
        50: .line 214
            aload 0 /* this */
            aload 6 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 9 /* source4 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        51: .line 215
            return
        end local 9 // org.graalvm.polyglot.Source source4
        end local 8 // org.graalvm.polyglot.Source source3
        end local 7 // org.graalvm.polyglot.Source source2
        end local 6 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
        end local 5 // org.graalvm.polyglot.Source source1
        end local 4 // org.graalvm.polyglot.Instrument instrument
        end local 3 // int initialQueryCount
        end local 2 // int runTimes
        end local 1 // boolean load
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   52     0               this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0   52     1               load  Z
            0   52     2           runTimes  I
            1   52     3  initialQueryCount  I
            2   52     4         instrument  Lorg/graalvm/polyglot/Instrument;
            3   52     5            source1  Lorg/graalvm/polyglot/Source;
            4    8     6                  i  I
           10   52     6               impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
           16   52     7            source2  Lorg/graalvm/polyglot/Source;
           17   21     8                  i  I
           25   52     8            source3  Lorg/graalvm/polyglot/Source;
           26   30     9                  i  I
           36   52     9            source4  Lorg/graalvm/polyglot/Source;
           37   41    10                  i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      load      
      runTimes  

  private static void assertEvents(java.util.List<com.oracle.truffle.api.source.Source>);
    descriptor: (Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.List actualSources
         0: .line 218
            lconst_0
            aload 0 /* actualSources */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 219
            return
        end local 0 // java.util.List actualSources
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  actualSources  Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;
    Signature: (Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;)V
    MethodParameters:
               Name  Flags
      actualSources  

  private void assertEvents(java.util.List<com.oracle.truffle.api.source.Source>, org.graalvm.polyglot.Source[]);
    descriptor: (Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // java.util.List actualSources
        start local 2 // org.graalvm.polyglot.Source[] expectedSources
         0: .line 222
            aload 2 /* expectedSources */
            arraylength
            i2l
            aload 1 /* actualSources */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 223
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 224
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* expectedSources */
            iload 3 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            aload 1 /* actualSources */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 223
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 2 /* expectedSources */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 226
            return
        end local 2 // org.graalvm.polyglot.Source[] expectedSources
        end local 1 // java.util.List actualSources
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    7     1    actualSources  Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;
            0    7     2  expectedSources  [Lorg/graalvm/polyglot/Source;
            2    6     3                i  I
    Signature: (Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;[Lorg/graalvm/polyglot/Source;)V
    MethodParameters:
                 Name  Flags
      actualSources    
      expectedSources  

  private static void assertEvents(java.util.List<com.oracle.truffle.api.source.Source>, com.oracle.truffle.api.source.Source[]);
    descriptor: (Ljava/util/List;[Lcom/oracle/truffle/api/source/Source;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.List actualSources
        start local 1 // com.oracle.truffle.api.source.Source[] expectedSources
         0: .line 229
            aload 1 /* expectedSources */
            arraylength
            i2l
            aload 0 /* actualSources */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 230
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 231
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* expectedSources */
            iload 2 /* i */
            aaload
            aload 0 /* actualSources */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 230
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* expectedSources */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 233
            return
        end local 1 // com.oracle.truffle.api.source.Source[] expectedSources
        end local 0 // java.util.List actualSources
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0    actualSources  Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;
            0    7     1  expectedSources  [Lcom/oracle/truffle/api/source/Source;
            2    6     2                i  I
    Signature: (Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;[Lcom/oracle/truffle/api/source/Source;)V
    MethodParameters:
                 Name  Flags
      actualSources    
      expectedSources  

  public void testLoadSourceException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 299
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testLoadSourceException"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
         1: .line 301
            aload 0 /* this */
            ldc ""
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Ljava/lang/String;)Ljava/lang/String;
            pop
         2: .line 302
            ldc "No exception was thrown."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         3: .line 303
            goto 6
      StackMap locals:
      StackMap stack: org.graalvm.polyglot.PolyglotException
         4: astore 1 /* ex */
        start local 1 // org.graalvm.polyglot.PolyglotException ex
         5: .line 304
            aload 1 /* ex */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            aload 1 /* ex */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            ldc "TestLoadSourceExceptionClass"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 1 // org.graalvm.polyglot.PolyglotException ex
         6: .line 306
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            5    6     1    ex  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           1     3       4  Class org.graalvm.polyglot.PolyglotException
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testAllowOnlySourceQueries();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 333
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testAllowOnlySourceQueries"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 1 /* instrument */
        start local 1 // org.graalvm.polyglot.Instrument instrument
         1: .line 334
            aload 0 /* this */
            aload 1 /* instrument */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assureEnabled:(Lorg/graalvm/polyglot/Instrument;)V
         2: .line 335
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc ""
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 2 /* source */
        start local 2 // org.graalvm.polyglot.Source source
         3: .line 336
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
         4: .line 338
            aload 1 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestAllowOnlySourceQueries;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries
            astore 3 /* impl */
        start local 3 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries impl
         5: .line 339
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries.success:Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 340
            return
        end local 3 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries impl
        end local 2 // org.graalvm.polyglot.Source source
        end local 1 // org.graalvm.polyglot.Instrument instrument
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            1    7     1  instrument  Lorg/graalvm/polyglot/Instrument;
            3    7     2      source  Lorg/graalvm/polyglot/Source;
            5    7     3        impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestAllowOnlySourceQueries;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadSourceNoRootSection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 396
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "instrumentation-test-language"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         1: .line 397
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testLoadExecuteSource"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 1 /* instrument */
        start local 1 // org.graalvm.polyglot.Instrument instrument
         2: .line 398
            aload 1 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource
            astore 2 /* impl */
        start local 2 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
         3: .line 399
            aload 2 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachLoad:()V
         4: .line 400
            aload 2 /* impl */
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testNoRootSectionImpl:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;)V
         5: .line 401
            return
        end local 2 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
        end local 1 // org.graalvm.polyglot.Instrument instrument
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    6     1  instrument  Lorg/graalvm/polyglot/Instrument;
            3    6     2        impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteSourceNoRootSection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 405
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "instrumentation-test-language"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         1: .line 406
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testLoadExecuteSource"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 1 /* instrument */
        start local 1 // org.graalvm.polyglot.Instrument instrument
         2: .line 407
            aload 1 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource
            astore 2 /* impl */
        start local 2 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
         3: .line 408
            aload 2 /* impl */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.attachExecute:()V
         4: .line 409
            aload 2 /* impl */
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testNoRootSectionImpl:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;)V
         5: .line 410
            return
        end local 2 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
        end local 1 // org.graalvm.polyglot.Instrument instrument
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    6     1  instrument  Lorg/graalvm/polyglot/Instrument;
            3    6     2        impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void testNoRootSectionImpl(com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
         0: .line 413
            ldc ""
            ldc "line1\nline2"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "NoName1"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 1 /* source1 */
        start local 1 // com.oracle.truffle.api.source.Source source1
         1: .line 414
            ldc ""
            ldc "line3\nline4"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "NoName2"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 2 /* source2 */
        start local 2 // com.oracle.truffle.api.source.Source source2
         2: .line 415
            ldc ""
            ldc "line5\nline6"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "NoName3"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* source3 */
        start local 3 // com.oracle.truffle.api.source.Source source3
         3: .line 416
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 1 /* source1 */
            iconst_1
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 4 /* node1 */
        start local 4 // com.oracle.truffle.api.nodes.Node node1
         4: .line 417
            aconst_null
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            iconst_1
            anewarray com.oracle.truffle.api.nodes.Node
            dup
            iconst_0
            aload 4 /* node1 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest.createRootNode:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Boolean;[Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 5 /* rootA */
        start local 5 // com.oracle.truffle.api.nodes.RootNode rootA
         5: .line 418
            aload 0 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;)V
         6: .line 419
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 5 /* rootA */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 420
            aload 0 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_1
            anewarray com.oracle.truffle.api.source.Source
            dup
            iconst_0
            aload 1 /* source1 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lcom/oracle/truffle/api/source/Source;)V
         8: .line 422
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 2 /* source2 */
            iconst_2
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 6 /* node2 */
        start local 6 // com.oracle.truffle.api.nodes.Node node2
         9: .line 423
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 3 /* source3 */
            iconst_2
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 7 /* node3 */
        start local 7 // com.oracle.truffle.api.nodes.Node node3
        10: .line 424
            aconst_null
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            iconst_2
            anewarray com.oracle.truffle.api.nodes.Node
            dup
            iconst_0
            aload 6 /* node2 */
            aastore
            dup
            iconst_1
            aload 7 /* node3 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest.createRootNode:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Boolean;[Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 8 /* rootB */
        start local 8 // com.oracle.truffle.api.nodes.RootNode rootB
        11: .line 425
            aload 0 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_1
            anewarray com.oracle.truffle.api.source.Source
            dup
            iconst_0
            aload 1 /* source1 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lcom/oracle/truffle/api/source/Source;)V
        12: .line 426
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 8 /* rootB */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 427
            aload 0 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource.allEvents:Ljava/util/List;
            iconst_3
            anewarray com.oracle.truffle.api.source.Source
            dup
            iconst_0
            aload 1 /* source1 */
            aastore
            dup
            iconst_1
            aload 2 /* source2 */
            aastore
            dup
            iconst_2
            aload 3 /* source3 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lcom/oracle/truffle/api/source/Source;)V
        14: .line 428
            return
        end local 8 // com.oracle.truffle.api.nodes.RootNode rootB
        end local 7 // com.oracle.truffle.api.nodes.Node node3
        end local 6 // com.oracle.truffle.api.nodes.Node node2
        end local 5 // com.oracle.truffle.api.nodes.RootNode rootA
        end local 4 // com.oracle.truffle.api.nodes.Node node1
        end local 3 // com.oracle.truffle.api.source.Source source3
        end local 2 // com.oracle.truffle.api.source.Source source2
        end local 1 // com.oracle.truffle.api.source.Source source1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource impl
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestLoadExecuteSource;
            1   15     1  source1  Lcom/oracle/truffle/api/source/Source;
            2   15     2  source2  Lcom/oracle/truffle/api/source/Source;
            3   15     3  source3  Lcom/oracle/truffle/api/source/Source;
            4   15     4    node1  Lcom/oracle/truffle/api/nodes/Node;
            5   15     5    rootA  Lcom/oracle/truffle/api/nodes/RootNode;
            9   15     6    node2  Lcom/oracle/truffle/api/nodes/Node;
           10   15     7    node3  Lcom/oracle/truffle/api/nodes/Node;
           11   15     8    rootB  Lcom/oracle/truffle/api/nodes/RootNode;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      impl  

  public void testExecutionAndSourceListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 432
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "instrumentation-test-language"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         1: .line 433
            ldc ""
            ldc "line1\nline2"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "Name1"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 1 /* source1 */
        start local 1 // com.oracle.truffle.api.source.Source source1
         2: .line 434
            ldc ""
            ldc "line3\nline4"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "Name2"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 2 /* source2 */
        start local 2 // com.oracle.truffle.api.source.Source source2
         3: .line 435
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 1 /* source1 */
            iconst_1
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 3 /* node1 */
        start local 3 // com.oracle.truffle.api.nodes.Node node1
         4: .line 436
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 2 /* source2 */
            iconst_1
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 4 /* node2 */
        start local 4 // com.oracle.truffle.api.nodes.Node node2
         5: .line 437
            aload 1 /* source1 */
            iconst_1
            iconst_1
            iconst_2
            iconst_5
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(IIII)Lcom/oracle/truffle/api/source/SourceSection;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            iconst_1
            anewarray com.oracle.truffle.api.nodes.Node
            dup
            iconst_0
            aload 3 /* node1 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest.createRootNode:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Boolean;[Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 5 /* root1 */
        start local 5 // com.oracle.truffle.api.nodes.RootNode root1
         6: .line 438
            aload 2 /* source2 */
            iconst_1
            iconst_1
            iconst_2
            iconst_5
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(IIII)Lcom/oracle/truffle/api/source/SourceSection;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            iconst_1
            anewarray com.oracle.truffle.api.nodes.Node
            dup
            iconst_0
            aload 4 /* node2 */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest.createRootNode:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Boolean;[Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 6 /* root2 */
        start local 6 // com.oracle.truffle.api.nodes.RootNode root2
         7: .line 439
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 5 /* root1 */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 440
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 6 /* root2 */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            pop
         9: .line 443
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 7 /* executedSources */
        start local 7 // java.util.Set executedSources
        10: .line 444
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 8 /* loadedSources */
        start local 8 // java.util.Set loadedSources
        11: .line 445
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$2
            dup
            aload 0 /* this */
            aload 7 /* executedSources */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$2.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;)V
        12: .line 450
            iconst_1
        13: .line 445
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
        14: .line 450
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
        15: .line 451
            ldc "[Name1]"
            aload 7 /* executedSources */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 452
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$3
            dup
            aload 0 /* this */
            aload 8 /* loadedSources */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$3.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;)V
        17: .line 457
            iconst_1
        18: .line 452
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
        19: .line 457
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
        20: .line 458
            ldc "[Name1, Name2]"
            aload 8 /* loadedSources */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 459
            aload 8 /* loadedSources */
            invokeinterface java.util.Set.clear:()V
        22: .line 460
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$4
            dup
            aload 0 /* this */
            aload 8 /* loadedSources */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$4.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
        23: .line 466
            ldc "[Name1, Name2]"
            aload 8 /* loadedSources */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 467
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$5
            dup
            aload 0 /* this */
            aload 7 /* executedSources */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$5.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;)V
        25: .line 472
            iconst_1
        26: .line 467
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
        27: .line 472
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
        28: .line 473
            ldc "[Name1]"
            aload 7 /* executedSources */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        29: .line 474
            return
        end local 8 // java.util.Set loadedSources
        end local 7 // java.util.Set executedSources
        end local 6 // com.oracle.truffle.api.nodes.RootNode root2
        end local 5 // com.oracle.truffle.api.nodes.RootNode root1
        end local 4 // com.oracle.truffle.api.nodes.Node node2
        end local 3 // com.oracle.truffle.api.nodes.Node node1
        end local 2 // com.oracle.truffle.api.source.Source source2
        end local 1 // com.oracle.truffle.api.source.Source source1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   30     1          source1  Lcom/oracle/truffle/api/source/Source;
            3   30     2          source2  Lcom/oracle/truffle/api/source/Source;
            4   30     3            node1  Lcom/oracle/truffle/api/nodes/Node;
            5   30     4            node2  Lcom/oracle/truffle/api/nodes/Node;
            6   30     5            root1  Lcom/oracle/truffle/api/nodes/RootNode;
            7   30     6            root2  Lcom/oracle/truffle/api/nodes/RootNode;
           10   30     7  executedSources  Ljava/util/Set<Ljava/lang/String;>;
           11   30     8    loadedSources  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLoadBindingDisposal();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 478
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testBindingDisposalImpl:(Z)V
         1: .line 479
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteBindingDisposal();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 483
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testBindingDisposalImpl:(Z)V
         1: .line 484
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testBindingDisposalImpl(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // boolean load
         0: .line 487
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "instrumentation-test-language"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         1: .line 488
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.engine:Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testBindingDisposal"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 2 /* instrument */
        start local 2 // org.graalvm.polyglot.Instrument instrument
         2: .line 489
            aload 2 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestBindingDisposal;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal
            astore 3 /* impl */
        start local 3 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal impl
         3: .line 490
            aload 3 /* impl */
            iload 1 /* load */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.doAttach:(Z)V
         4: .line 491
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "STATEMENT"
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 4 /* source1 */
        start local 4 // org.graalvm.polyglot.Source source1
         5: .line 492
            aload 0 /* this */
            aload 4 /* source1 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
         6: .line 493
            aload 0 /* this */
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.onlyNewEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 4 /* source1 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
         7: .line 494
            aload 0 /* this */
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.allEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 4 /* source1 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
         8: .line 496
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.onlyNewBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
         9: .line 497
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.allBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
        10: .line 499
            ldc ""
            ldc "line2a"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "NoName2a"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 5 /* source2a */
        start local 5 // com.oracle.truffle.api.source.Source source2a
        11: .line 500
            ldc ""
            ldc "line2b"
            aconst_null
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc "NoName2b"
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 6 /* source2b */
        start local 6 // com.oracle.truffle.api.source.Source source2b
        12: .line 501
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 5 /* source2a */
            iconst_1
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 7 /* node2a */
        start local 7 // com.oracle.truffle.api.nodes.Node node2a
        13: .line 502
            new com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
            dup
            aload 6 /* source2b */
            iconst_1
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
            iconst_0
            anewarray java.lang.Class
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.<init>:(Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
            astore 8 /* node2b */
        start local 8 // com.oracle.truffle.api.nodes.Node node2b
        14: .line 503
            aconst_null
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            iconst_2
            anewarray com.oracle.truffle.api.nodes.Node
            dup
            iconst_0
            aload 7 /* node2a */
            aastore
            dup
            iconst_1
            aload 8 /* node2b */
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest.createRootNode:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Boolean;[Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 9 /* root2 */
        start local 9 // com.oracle.truffle.api.nodes.RootNode root2
        15: .line 504
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 9 /* root2 */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 505
            aload 0 /* this */
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.onlyNewEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 4 /* source1 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        17: .line 506
            aload 0 /* this */
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.allEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 4 /* source1 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        18: .line 509
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.onlyNewEvents:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        19: .line 510
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.allEvents:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        20: .line 511
            aload 3 /* impl */
            iload 1 /* load */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.doAttach:(Z)V
        21: .line 512
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "VARIABLE(a, 10)"
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.lines:([Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 10 /* source3 */
        start local 10 // org.graalvm.polyglot.Source source3
        22: .line 513
            aload 0 /* this */
            aload 10 /* source3 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.run:(Lorg/graalvm/polyglot/Source;)Ljava/lang/String;
            pop
        23: .line 514
            aload 0 /* this */
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.onlyNewEvents:Ljava/util/List;
            iconst_1
            anewarray org.graalvm.polyglot.Source
            dup
            iconst_0
            aload 10 /* source3 */
            aastore
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lorg/graalvm/polyglot/Source;)V
        24: .line 515
            aload 3 /* impl */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal.allEvents:Ljava/util/List;
            iconst_4
            anewarray com.oracle.truffle.api.source.Source
            dup
            iconst_0
            aload 0 /* this */
            aload 4 /* source1 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            aastore
            dup
            iconst_1
            aload 5 /* source2a */
            aastore
            dup
            iconst_2
            aload 6 /* source2b */
            aastore
            dup
            iconst_3
            aload 0 /* this */
            aload 10 /* source3 */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.getSourceImpl:(Lorg/graalvm/polyglot/Source;)Lcom/oracle/truffle/api/source/Source;
            aastore
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.assertEvents:(Ljava/util/List;[Lcom/oracle/truffle/api/source/Source;)V
        25: .line 516
            return
        end local 10 // org.graalvm.polyglot.Source source3
        end local 9 // com.oracle.truffle.api.nodes.RootNode root2
        end local 8 // com.oracle.truffle.api.nodes.Node node2b
        end local 7 // com.oracle.truffle.api.nodes.Node node2a
        end local 6 // com.oracle.truffle.api.source.Source source2b
        end local 5 // com.oracle.truffle.api.source.Source source2a
        end local 4 // org.graalvm.polyglot.Source source1
        end local 3 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal impl
        end local 2 // org.graalvm.polyglot.Instrument instrument
        end local 1 // boolean load
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0   26     1        load  Z
            2   26     2  instrument  Lorg/graalvm/polyglot/Instrument;
            3   26     3        impl  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestBindingDisposal;
            5   26     4     source1  Lorg/graalvm/polyglot/Source;
           11   26     5    source2a  Lcom/oracle/truffle/api/source/Source;
           12   26     6    source2b  Lcom/oracle/truffle/api/source/Source;
           13   26     7      node2a  Lcom/oracle/truffle/api/nodes/Node;
           14   26     8      node2b  Lcom/oracle/truffle/api/nodes/Node;
           15   26     9       root2  Lcom/oracle/truffle/api/nodes/RootNode;
           22   26    10     source3  Lorg/graalvm/polyglot/Source;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      load  

  public void testMultiThreadedLoadSource();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 570
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testMultiThreadedSourceBindings:(Z)V
         1: .line 571
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultiThreadedExecuteSource();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 575
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testMultiThreadedSourceBindings:(Z)V
         1: .line 576
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testMultiThreadedSourceBindings(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // boolean load
         0: .line 579
            bipush 10
            istore 2 /* numInstrumentationThreads */
        start local 2 // int numInstrumentationThreads
         1: .line 580
            bipush 20
            istore 3 /* numExecutionThreads */
        start local 3 // int numExecutionThreads
         2: .line 581
            sipush 500
            istore 4 /* numRepeats */
        start local 4 // int numRepeats
         3: .line 582
            iload 2 /* numInstrumentationThreads */
            iload 3 /* numExecutionThreads */
            iadd
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
            astore 5 /* threadPool */
        start local 5 // java.util.concurrent.ExecutorService threadPool
         4: .line 584
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 585
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int int java.util.concurrent.ExecutorService int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* load */
            iload 2 /* numInstrumentationThreads */
            iload 3 /* numExecutionThreads */
            aload 5 /* threadPool */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.testMultiThreadedSourceBindings:(ZIILjava/util/concurrent/ExecutorService;)V
         7: .line 584
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 4 /* numRepeats */
            if_icmplt 6
        end local 6 // int i
         9: .line 587
            goto 14
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int int java.util.concurrent.ExecutorService
      StackMap stack: java.lang.Throwable
        10: astore 7
        11: .line 588
            aload 5 /* threadPool */
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        12: .line 589
            aload 5 /* threadPool */
            ldc 10
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        13: .line 590
            aload 7
            athrow
        14: .line 588
      StackMap locals:
      StackMap stack:
            aload 5 /* threadPool */
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        15: .line 589
            aload 5 /* threadPool */
            ldc 10
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        16: .line 591
            return
        end local 5 // java.util.concurrent.ExecutorService threadPool
        end local 4 // int numRepeats
        end local 3 // int numExecutionThreads
        end local 2 // int numInstrumentationThreads
        end local 1 // boolean load
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   17     0                       this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0   17     1                       load  Z
            1   17     2  numInstrumentationThreads  I
            2   17     3        numExecutionThreads  I
            3   17     4                 numRepeats  I
            4   17     5                 threadPool  Ljava/util/concurrent/ExecutorService;
            5    9     6                          i  I
      Exception table:
        from    to  target  type
           4    10      10  any
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
      Name  Flags
      load  

  private void testMultiThreadedSourceBindings(boolean, int, int, java.util.concurrent.ExecutorService);
    descriptor: (ZIILjava/util/concurrent/ExecutorService;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=22, args_size=5
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // boolean load
        start local 2 // int numInstrumentationThreads
        start local 3 // int numExecutionThreads
        start local 4 // java.util.concurrent.ExecutorService threadPool
         0: .line 594
            invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 5 /* testEngine */
        start local 5 // org.graalvm.polyglot.Engine testEngine
         1: .line 595
            aload 5 /* testEngine */
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "testSourceListenerInstrument"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 6 /* instrument */
        start local 6 // org.graalvm.polyglot.Instrument instrument
         2: .line 596
            aload 6 /* instrument */
            ldc Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestSourceListenerInstrument;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument
            astore 7 /* testInstrument */
        start local 7 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument testInstrument
         3: .line 597
            iload 2 /* numInstrumentationThreads */
            anewarray com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable
            astore 8 /* instrumentationRunnables */
        start local 8 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] instrumentationRunnables
         4: .line 598
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 8
         6: .line 599
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] int
      StackMap stack:
            aload 8 /* instrumentationRunnables */
            iload 9 /* i */
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable
            dup
            aload 0 /* this */
            aload 7 /* testInstrument */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            iload 1 /* load */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Z)V
            aastore
         7: .line 598
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 9 /* i */
            iload 2 /* numInstrumentationThreads */
            if_icmplt 6
        end local 9 // int i
         9: .line 602
            iload 3 /* numExecutionThreads */
            anewarray java.lang.Runnable
            astore 9 /* executionRunnables */
        start local 9 // java.lang.Runnable[] executionRunnables
        10: .line 603
            iload 3 /* numExecutionThreads */
            iconst_1
            isub
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 10 /* sourceNumDigits */
        start local 10 // int sourceNumDigits
        11: .line 604
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        12: goto 16
        13: .line 605
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int
      StackMap stack:
            iload 11 /* i */
            istore 12 /* fi */
        start local 12 // int fi
        14: .line 606
            aload 9 /* executionRunnables */
            iload 11 /* i */
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$6
            dup
            aload 0 /* this */
            aload 5 /* testEngine */
            iload 12 /* fi */
            iload 10 /* sourceNumDigits */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$6.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Lorg/graalvm/polyglot/Engine;II)V
            aastore
        end local 12 // int fi
        15: .line 604
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* i */
            iload 3 /* numExecutionThreads */
            if_icmplt 13
        end local 11 // int i
        17: .line 618
            iload 3 /* numExecutionThreads */
            iconst_4
            idiv
            istore 11 /* numExec1 */
        start local 11 // int numExec1
        18: .line 619
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        19: goto 22
        20: .line 620
      StackMap locals: int
      StackMap stack:
            aload 4 /* threadPool */
            aload 9 /* executionRunnables */
            iload 12 /* i */
            aaload
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
        21: .line 619
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 12 /* i */
            iload 11 /* numExec1 */
            if_icmplt 20
        end local 12 // int i
        23: .line 622
            iload 2 /* numInstrumentationThreads */
            iconst_4
            idiv
            istore 12 /* numInstr1 */
        start local 12 // int numInstr1
        24: .line 623
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        25: goto 28
        26: .line 624
      StackMap locals: int
      StackMap stack:
            aload 4 /* threadPool */
            aload 8 /* instrumentationRunnables */
            iload 13 /* i */
            aaload
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
        27: .line 623
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 13 /* i */
            iload 12 /* numInstr1 */
            if_icmplt 26
        end local 13 // int i
        29: .line 626
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 13 /* futures */
        start local 13 // java.util.List futures
        30: .line 627
            iload 12 /* numInstr1 */
            istore 14 /* i */
        start local 14 // int i
        31: goto 34
        32: .line 628
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List int
      StackMap stack:
            aload 13 /* futures */
            aload 4 /* threadPool */
            aload 8 /* instrumentationRunnables */
            iload 14 /* i */
            aaload
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 627
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 14 /* i */
            iload 2 /* numInstrumentationThreads */
            if_icmplt 32
        end local 14 // int i
        35: .line 630
            iload 11 /* numExec1 */
            istore 14 /* i */
        start local 14 // int i
        36: goto 39
        37: .line 631
      StackMap locals:
      StackMap stack:
            aload 13 /* futures */
            aload 4 /* threadPool */
            aload 9 /* executionRunnables */
            iload 14 /* i */
            aaload
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 630
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 14 /* i */
            iload 3 /* numExecutionThreads */
            if_icmplt 37
        end local 14 // int i
        40: .line 633
            aload 13 /* futures */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 43
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List top java.util.Iterator
      StackMap stack:
        41: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            astore 14 /* f */
        start local 14 // java.util.concurrent.Future f
        42: .line 634
            aload 14 /* f */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
        end local 14 // java.util.concurrent.Future f
        43: .line 633
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 637
            aconst_null
            astore 14 /* previousNamesUnsorted */
        start local 14 // java.util.List previousNamesUnsorted
        45: .line 638
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        46: goto 66
        47: .line 639
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List java.util.List int
      StackMap stack:
            aload 8 /* instrumentationRunnables */
            iload 15 /* i */
            aaload
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable.sources:Ljava/util/List;
            astore 16 /* sourceList */
        start local 16 // java.util.List sourceList
        48: .line 640
            new java.lang.StringBuilder
            dup
            ldc "Instrument "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 15 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* sourceList */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* numExecutionThreads */
            i2l
            aload 16 /* sourceList */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        49: .line 641
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 17 /* namesSorted */
        start local 17 // java.util.Set namesSorted
        50: .line 642
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 18 /* namesUnsorted */
        start local 18 // java.util.List namesUnsorted
        51: .line 643
            iconst_0
            istore 19 /* t */
        start local 19 // int t
        52: goto 56
        53: .line 644
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List java.util.List int java.util.List java.util.Set java.util.List int
      StackMap stack:
            aload 17 /* namesSorted */
            aload 16 /* sourceList */
            iload 19 /* t */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.source.Source
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        54: .line 645
            aload 18 /* namesUnsorted */
            aload 16 /* sourceList */
            iload 19 /* t */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.source.Source
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        55: .line 643
            iinc 19 /* t */ 1
      StackMap locals:
      StackMap stack:
        56: iload 19 /* t */
            iload 3 /* numExecutionThreads */
            if_icmplt 53
        end local 19 // int t
        57: .line 647
            aload 14 /* previousNamesUnsorted */
            ifnull 59
        58: .line 648
            aload 14 /* previousNamesUnsorted */
            aload 18 /* namesUnsorted */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        59: .line 650
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 19 /* t */
        start local 19 // int t
        60: .line 651
            aload 17 /* namesSorted */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 21
            goto 63
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List java.util.List int java.util.List java.util.Set java.util.List int top java.util.Iterator
      StackMap stack:
        61: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 20 /* name */
        start local 20 // java.lang.String name
        62: .line 652
            aload 17 /* namesSorted */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            iload 19 /* t */
            iinc 19 /* t */ 1
            iload 10 /* sourceNumDigits */
            invokestatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.sourceName:(II)Ljava/lang/String;
            aload 20 /* name */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 20 // java.lang.String name
        63: .line 651
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 61
        64: .line 654
            aload 18 /* namesUnsorted */
            astore 14 /* previousNamesUnsorted */
        end local 19 // int t
        end local 18 // java.util.List namesUnsorted
        end local 17 // java.util.Set namesSorted
        end local 16 // java.util.List sourceList
        65: .line 638
            iinc 15 /* i */ 1
      StackMap locals: com.oracle.truffle.api.instrumentation.test.SourceListenerTest int int int java.util.concurrent.ExecutorService org.graalvm.polyglot.Engine org.graalvm.polyglot.Instrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] java.lang.Runnable[] int int int java.util.List java.util.List int
      StackMap stack:
        66: iload 15 /* i */
            iload 2 /* numInstrumentationThreads */
            if_icmplt 47
        end local 15 // int i
        67: .line 656
            return
        end local 14 // java.util.List previousNamesUnsorted
        end local 13 // java.util.List futures
        end local 12 // int numInstr1
        end local 11 // int numExec1
        end local 10 // int sourceNumDigits
        end local 9 // java.lang.Runnable[] executionRunnables
        end local 8 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable[] instrumentationRunnables
        end local 7 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument testInstrument
        end local 6 // org.graalvm.polyglot.Instrument instrument
        end local 5 // org.graalvm.polyglot.Engine testEngine
        end local 4 // java.util.concurrent.ExecutorService threadPool
        end local 3 // int numExecutionThreads
        end local 2 // int numInstrumentationThreads
        end local 1 // boolean load
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   68     0                       this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0   68     1                       load  Z
            0   68     2  numInstrumentationThreads  I
            0   68     3        numExecutionThreads  I
            0   68     4                 threadPool  Ljava/util/concurrent/ExecutorService;
            1   68     5                 testEngine  Lorg/graalvm/polyglot/Engine;
            2   68     6                 instrument  Lorg/graalvm/polyglot/Instrument;
            3   68     7             testInstrument  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$TestSourceListenerInstrument;
            4   68     8   instrumentationRunnables  [Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest$InstrumentationRunnable;
            5    9     9                          i  I
           10   68     9         executionRunnables  [Ljava/lang/Runnable;
           11   68    10            sourceNumDigits  I
           12   17    11                          i  I
           14   15    12                         fi  I
           18   68    11                   numExec1  I
           19   23    12                          i  I
           24   68    12                  numInstr1  I
           25   29    13                          i  I
           30   68    13                    futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
           31   35    14                          i  I
           36   40    14                          i  I
           42   43    14                          f  Ljava/util/concurrent/Future<*>;
           45   68    14      previousNamesUnsorted  Ljava/util/List<Ljava/lang/String;>;
           46   67    15                          i  I
           48   65    16                 sourceList  Ljava/util/List<Lcom/oracle/truffle/api/source/Source;>;
           50   65    17                namesSorted  Ljava/util/Set<Ljava/lang/String;>;
           51   65    18              namesUnsorted  Ljava/util/List<Ljava/lang/String;>;
           52   57    19                          t  I
           60   65    19                          t  I
           62   63    20                       name  Ljava/lang/String;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
                           Name  Flags
      load                       
      numInstrumentationThreads  
      numExecutionThreads        
      threadPool                 

  private static java.lang.String sourceName(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int n
        start local 1 // int digits
         0: .line 659
            iload 0 /* n */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 2 /* ns */
        start local 2 // java.lang.String ns
         1: .line 660
            goto 3
         2: .line 661
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ns */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* ns */
         3: .line 660
      StackMap locals:
      StackMap stack:
            aload 2 /* ns */
            invokevirtual java.lang.String.length:()I
            iload 1 /* digits */
            if_icmplt 2
         4: .line 663
            new java.lang.StringBuilder
            dup
            ldc "source "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ns */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String ns
        end local 1 // int digits
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0       n  I
            0    5     1  digits  I
            1    5     2      ns  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      n       
      digits  

  public void testNoMaterializationOnSourceListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 713
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$7
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$7.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;)V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 733
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "a"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         2: .line 734
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$0(Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
         3: .line 735
            iconst_1
         4: .line 734
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         5: .line 736
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            invokedynamic onExecute()Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$1(Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
         6: .line 737
            iconst_1
         7: .line 736
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         8: .line 738
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            ldc "b"
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 741
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$2(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
        10: .line 742
            iconst_1
        11: .line 741
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
        12: .line 743
            invokestatic org.junit.Assert.fail:()V
        13: .line 744
            goto 15
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        14: pop
        15: .line 747
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
      Exception table:
        from    to  target  type
           9    13      14  Class java.lang.IllegalStateException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDifferentSourcesInAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 774
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 775
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 776
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 777
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$3(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 778
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 779
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 780
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    7     1        code  Ljava/lang/String;
            3    7     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPreLoadedSourcesReported();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 784
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 785
            ldc "abcd"
            astore 1 /* code1 */
        start local 1 // java.lang.String code1
         2: .line 786
            ldc "efgh"
            astore 2 /* code2 */
        start local 2 // java.lang.String code2
         3: .line 787
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* loadedCode */
        start local 3 // java.lang.StringBuilder loadedCode
         4: .line 788
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code1 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 789
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 3 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$4(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         6: .line 790
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 2 /* code2 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 791
            new java.lang.StringBuilder
            dup
            aload 1 /* code1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 792
            return
        end local 3 // java.lang.StringBuilder loadedCode
        end local 2 // java.lang.String code2
        end local 1 // java.lang.String code1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1       code1  Ljava/lang/String;
            3    9     2       code2  Ljava/lang/String;
            4    9     3  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPreExecutedSourcesReported();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 796
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 797
            ldc "abcd"
            astore 1 /* code1 */
        start local 1 // java.lang.String code1
         2: .line 798
            ldc "efgh"
            astore 2 /* code2 */
        start local 2 // java.lang.String code2
         3: .line 799
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* loadedCode */
        start local 3 // java.lang.StringBuilder loadedCode
         4: .line 800
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code1 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 801
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 3 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$5(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         6: .line 802
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 2 /* code2 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 803
            new java.lang.StringBuilder
            dup
            aload 1 /* code1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 804
            return
        end local 3 // java.lang.StringBuilder loadedCode
        end local 2 // java.lang.String code2
        end local 1 // java.lang.String code1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1       code1  Ljava/lang/String;
            3    9     2       code2  Ljava/lang/String;
            4    9     3  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPreLoadedSourcesNotReported();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 808
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 809
            ldc "abcd"
            astore 1 /* code1 */
        start local 1 // java.lang.String code1
         2: .line 810
            ldc "efgh"
            astore 2 /* code2 */
        start local 2 // java.lang.String code2
         3: .line 811
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* loadedCode */
        start local 3 // java.lang.StringBuilder loadedCode
         4: .line 812
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code1 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 813
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 3 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$6(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         6: .line 814
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 2 /* code2 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 815
            new java.lang.StringBuilder
            dup
            aload 2 /* code2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 816
            return
        end local 3 // java.lang.StringBuilder loadedCode
        end local 2 // java.lang.String code2
        end local 1 // java.lang.String code1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1       code1  Ljava/lang/String;
            3    9     2       code2  Ljava/lang/String;
            4    9     3  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPreExecutedSourcesNotReported();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 820
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 821
            ldc "abcd"
            astore 1 /* code1 */
        start local 1 // java.lang.String code1
         2: .line 822
            ldc "efgh"
            astore 2 /* code2 */
        start local 2 // java.lang.String code2
         3: .line 823
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* loadedCode */
        start local 3 // java.lang.StringBuilder loadedCode
         4: .line 824
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code1 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 825
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 3 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$7(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         6: .line 826
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 2 /* code2 */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 827
            new java.lang.StringBuilder
            dup
            aload 2 /* code2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* code2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 828
            return
        end local 3 // java.lang.StringBuilder loadedCode
        end local 2 // java.lang.String code2
        end local 1 // java.lang.String code1
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1       code1  Ljava/lang/String;
            3    9     2       code2  Ljava/lang/String;
            4    9     3  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesInAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 832
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 833
            ldc "Mabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 834
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 835
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$8(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 836
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 838
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "M"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 840
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$9(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         7: .line 841
            iconst_1
         8: .line 840
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         9: .line 842
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 843
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   11     1        code  Ljava/lang/String;
            3   11     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesInAST2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 847
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 848
            ldc "Mabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 849
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 850
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$10(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 851
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 853
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "M"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 855
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$11(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
         7: .line 857
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 858
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1        code  Ljava/lang/String;
            3    9     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesInAST3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 862
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 863
            ldc "Mabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 864
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 865
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$12(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 866
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 868
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "M"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 870
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
         7: .line 871
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 872
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1        code  Ljava/lang/String;
            3    9     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void attachAnySourceSectionExecutionEventListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 875
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            getstatic com.oracle.truffle.api.instrumentation.test.SourceListenerTest.EMPTY_EXECUTION_EVENT_LISTENER:Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;
            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 876
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;

  public void testMaterializedSourcesInAST4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 880
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 881
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 882
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 884
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* sources */
        start local 3 // java.util.Set sources
         4: .line 885
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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;
            aload 3 /* sources */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/util/Set;Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$13(Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 890
            iconst_1
         6: .line 885
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 891
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 893
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 895
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$14(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
        10: .line 896
            iconst_1
        11: .line 895
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
        12: .line 897
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 898
            return
        end local 3 // java.util.Set sources
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   14     1        code  Ljava/lang/String;
            3   14     2  loadedCode  Ljava/lang/StringBuilder;
            4   14     3     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesInAST5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 902
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 903
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 904
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 906
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* sources */
        start local 3 // java.util.Set sources
         4: .line 907
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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;
            aload 3 /* sources */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/util/Set;Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$15(Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 912
            iconst_1
         6: .line 907
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 913
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 915
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 917
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$16(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
        10: .line 919
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 920
            return
        end local 3 // java.util.Set sources
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   12     1        code  Ljava/lang/String;
            3   12     2  loadedCode  Ljava/lang/StringBuilder;
            4   12     3     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesInAST6();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 924
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 925
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 926
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 928
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* sources */
        start local 3 // java.util.Set sources
         4: .line 929
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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;
            aload 3 /* sources */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/util/Set;Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$17(Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 934
            iconst_1
         6: .line 929
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 935
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 937
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 939
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
        10: .line 940
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 941
            return
        end local 3 // java.util.Set sources
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   12     1        code  Ljava/lang/String;
            3   12     2  loadedCode  Ljava/lang/StringBuilder;
            4   12     3     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 945
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 946
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 947
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 948
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 949
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$18(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         5: .line 951
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 953
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$19(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         7: .line 954
            iconst_1
         8: .line 953
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         9: .line 955
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 956
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   11     1        code  Ljava/lang/String;
            3   11     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 960
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 961
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 962
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 963
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 964
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$20(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         5: .line 966
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 968
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$21(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
         7: .line 970
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 971
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1        code  Ljava/lang/String;
            3    9     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 975
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 976
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 977
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 978
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 979
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$22(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         5: .line 981
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 983
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
         7: .line 984
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 985
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1        code  Ljava/lang/String;
            3    9     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 989
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 990
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 991
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 992
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         4: .line 994
            aload 0 /* this */
            aload 2 /* loadedCode */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachExpressionTagExecutionEventListener:(Ljava/lang/StringBuilder;)V
         5: .line 995
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 997
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 999
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$23(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
         8: .line 1001
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 1002
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 1003
            return
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   11     1        code  Ljava/lang/String;
            3   11     2  loadedCode  Ljava/lang/StringBuilder;
            4   11     3      source  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void attachExpressionTagExecutionEventListener(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 1 // java.lang.StringBuilder loadedCode
         0: .line 1006
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* sources */
        start local 2 // java.util.Set sources
         1: .line 1007
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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.SourceListenerTest$8
            dup
            aload 0 /* this */
            aload 2 /* sources */
            aload 1 /* loadedCode */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$8.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;Ljava/lang/StringBuilder;)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
         2: .line 1026
            return
        end local 2 // java.util.Set sources
        end local 1 // java.lang.StringBuilder loadedCode
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    3     1  loadedCode  Ljava/lang/StringBuilder;
            1    3     2     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    MethodParameters:
            Name  Flags
      loadedCode  

  public void testMaterializedSourcesExecutedInAST5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1030
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1031
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1032
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1033
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         4: .line 1035
            aload 0 /* this */
            aload 2 /* loadedCode */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachExpressionTagExecutionEventListener:(Ljava/lang/StringBuilder;)V
         5: .line 1036
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 1038
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 1040
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$24(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         8: .line 1041
            iconst_1
         9: .line 1040
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
        10: .line 1042
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 1043
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 1044
            return
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   13     1        code  Ljava/lang/String;
            3   13     2  loadedCode  Ljava/lang/StringBuilder;
            4   13     3      source  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST6();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1048
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1049
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1050
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1051
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         4: .line 1053
            aload 0 /* this */
            aload 2 /* loadedCode */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachExpressionTagExecutionEventListener:(Ljava/lang/StringBuilder;)V
         5: .line 1054
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 1056
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 1058
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
         8: .line 1059
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 1060
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 1061
            return
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   11     1        code  Ljava/lang/String;
            3   11     2  loadedCode  Ljava/lang/StringBuilder;
            4   11     3      source  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST7();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1065
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1066
            ldc "MRabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1067
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1068
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         4: .line 1070
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* sources */
        start local 4 // java.util.Set sources
         5: .line 1071
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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;
            aload 4 /* sources */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/util/Set;Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$25(Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         6: .line 1076
            iconst_1
         7: .line 1071
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         8: .line 1078
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
         9: .line 1079
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        10: .line 1080
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 1081
            return
        end local 4 // java.util.Set sources
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   12     1        code  Ljava/lang/String;
            3   12     2  loadedCode  Ljava/lang/StringBuilder;
            4   12     3      source  Lorg/graalvm/polyglot/Source;
            5   12     4     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMaterializedSourcesExecutedInAST8();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1085
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1086
            ldc "Mabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1087
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1088
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            astore 3 /* source */
        start local 3 // org.graalvm.polyglot.Source source
         4: .line 1089
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$26(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         5: .line 1091
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.attachAnySourceSectionExecutionEventListener:()V
         6: .line 1092
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            aload 3 /* source */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 1093
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 1094
            return
        end local 3 // org.graalvm.polyglot.Source source
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    9     1        code  Ljava/lang/String;
            3    9     2  loadedCode  Ljava/lang/StringBuilder;
            4    9     3      source  Lorg/graalvm/polyglot/Source;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInsertedSourcesInAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1098
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1099
            ldc "Iabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1100
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1101
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$27(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 1102
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 1103
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 1104
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    7     1        code  Ljava/lang/String;
            3    7     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInsertedSourcesInAST2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1108
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1109
            ldc "Iabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1110
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1111
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* sources */
        start local 3 // java.util.Set sources
         4: .line 1112
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$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/StandardTags$ExpressionTag;
            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;
            aload 3 /* sources */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Ljava/util/Set;Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$28(Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 1117
            iconst_1
         6: .line 1112
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1118
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1119
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1120
            return
        end local 3 // java.util.Set sources
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1        code  Ljava/lang/String;
            3   10     2  loadedCode  Ljava/lang/StringBuilder;
            4   10     3     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInsertedSourcesExecutedInAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1124
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1125
            ldc "Iabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1126
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1127
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2 /* loadedCode */
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$29(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         4: .line 1128
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 1129
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 1130
            return
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    7     1        code  Ljava/lang/String;
            3    7     2  loadedCode  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInsertedSourcesExecutedInAST2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1134
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1135
            ldc "Iabcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1136
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1137
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* sources */
        start local 3 // java.util.Set sources
         4: .line 1138
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$9
            dup
            aload 0 /* this */
            aload 3 /* sources */
            aload 2 /* loadedCode */
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$9.<init>:(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;Ljava/util/Set;Ljava/lang/StringBuilder;)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
         5: .line 1157
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 1158
            aload 1 /* code */
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 1159
            return
        end local 3 // java.util.Set sources
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2    8     1        code  Ljava/lang/String;
            3    8     2  loadedCode  Ljava/lang/StringBuilder;
            4    8     3     sources  Ljava/util/Set<Lcom/oracle/truffle/api/source/Source;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceLoadedListenerFromSourceSectionNotification();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1163
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1164
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1165
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1166
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1167
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$30([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 1172
            iconst_1
         6: .line 1167
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1173
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1174
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1175
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceExecutedListenerFromSourceSectionNotification();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1179
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1180
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1181
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1182
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1183
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$32([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
         5: .line 1188
            iconst_1
         6: .line 1183
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1189
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1190
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1191
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceLoadedListenerFromSourceLoadedListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1195
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1196
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1197
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1198
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1199
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$34([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
         5: .line 1204
            iconst_1
         6: .line 1199
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1205
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1206
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1207
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceLoadedListenerFromSourceExecutedListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1211
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1212
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1213
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1214
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1215
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onExecute(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$36([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
         5: .line 1220
            iconst_1
         6: .line 1215
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1221
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1222
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1223
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceExecutedListenerFromSourceExecutedListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1227
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1228
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1229
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1230
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1231
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onExecute(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$38([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
         5: .line 1236
            iconst_1
         6: .line 1231
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1237
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1238
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1239
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallSourceExecutedListenerFromSourceLoadListener();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
         0: .line 1243
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
            new com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage
            dup
            invokespecial com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage.<init>:()V
            invokevirtual com.oracle.truffle.api.instrumentation.test.SourceListenerTest.setupEnv:(Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)V
         1: .line 1244
            ldc "abcd"
            astore 1 /* code */
        start local 1 // java.lang.String code
         2: .line 1245
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* loadedCode */
        start local 2 // java.lang.StringBuilder loadedCode
         3: .line 1246
            iconst_1
            newarray 4
            astore 3 /* sourceListenerInstalled */
        start local 3 // boolean[] sourceListenerInstalled
         4: .line 1247
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 0 /* this */
            aload 3 /* sourceListenerInstalled */
            aload 2 /* loadedCode */
            invokedynamic onLoad(Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;[ZLjava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$40([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (7)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
         5: .line 1252
            iconst_1
         6: .line 1247
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         7: .line 1253
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.context:Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            aload 1 /* code */
            invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 1254
            new java.lang.StringBuilder
            dup
            aload 1 /* code */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* loadedCode */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1255
            return
        end local 3 // boolean[] sourceListenerInstalled
        end local 2 // java.lang.StringBuilder loadedCode
        end local 1 // java.lang.String code
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            2   10     1                     code  Ljava/lang/String;
            3   10     2               loadedCode  Ljava/lang/StringBuilder;
            4   10     3  sourceListenerInstalled  [Z
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void lambda$0(com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 735
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$1(com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 737
            return
        end local 0 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$2(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 742
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$3(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 777
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$4(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 789
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$5(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 801
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$6(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 813
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$7(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 825
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$8(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 835
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$9(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 841
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$10(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 850
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$11(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 856
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$12(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 865
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$13(java.util.Set, java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 886
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* s */
        start local 3 // com.oracle.truffle.api.source.Source s
         1: .line 887
            aload 0
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 888
            aload 1
            aload 3 /* s */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 3 // com.oracle.truffle.api.source.Source s
         3: .line 890
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
            1    3     3     s  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$14(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 896
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$15(java.util.Set, java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 908
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* s */
        start local 3 // com.oracle.truffle.api.source.Source s
         1: .line 909
            aload 0
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 910
            aload 1
            aload 3 /* s */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 3 // com.oracle.truffle.api.source.Source s
         3: .line 912
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
            1    3     3     s  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$16(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 918
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$17(java.util.Set, java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 930
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* s */
        start local 3 // com.oracle.truffle.api.source.Source s
         1: .line 931
            aload 0
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 932
            aload 1
            aload 3 /* s */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 3 // com.oracle.truffle.api.source.Source s
         3: .line 934
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
            1    3     3     s  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$18(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 949
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$19(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 954
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$20(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 964
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$21(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 969
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$22(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 979
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$23(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 1000
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$24(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 1041
            return
        end local 0 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private static void lambda$25(java.util.Set, java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 1072
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* s */
        start local 3 // com.oracle.truffle.api.source.Source s
         1: .line 1073
            aload 0
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1074
            aload 1
            aload 3 /* s */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 3 // com.oracle.truffle.api.source.Source s
         3: .line 1076
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
            1    3     3     s  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$26(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 1089
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$27(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 1101
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$28(java.util.Set, java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: (Ljava/util/Set;Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
         0: .line 1113
            aload 2 /* e */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 3 /* s */
        start local 3 // com.oracle.truffle.api.source.Source s
         1: .line 1114
            aload 0
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1115
            aload 1
            aload 3 /* s */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 3 // com.oracle.truffle.api.source.Source s
         3: .line 1117
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2     e  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
            1    3     3     s  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$29(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 1127
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private void lambda$30(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent loadSourceSectionEvent
         0: .line 1168
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1169
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$31(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1170
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1172
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent loadSourceSectionEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceSectionEvent  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private void lambda$32(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent loadSourceSectionEvent
         0: .line 1184
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1185
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$33(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1186
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1188
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent loadSourceSectionEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceSectionEvent  Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;

  private void lambda$34(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.LoadSourceEvent loadSourceEvent
         0: .line 1200
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1201
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$35(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1202
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1204
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.LoadSourceEvent loadSourceEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceEvent  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private void lambda$36(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent loadSourceEvent
         0: .line 1216
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1217
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onLoad(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$37(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1218
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1220
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent loadSourceEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceEvent  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private void lambda$38(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent loadSourceEvent
         0: .line 1232
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1233
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$39(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1234
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1236
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent loadSourceEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceEvent  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private void lambda$40(boolean[], java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: ([ZLjava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
        start local 3 // com.oracle.truffle.api.instrumentation.LoadSourceEvent loadSourceEvent
         0: .line 1248
            aload 1
            iconst_0
            baload
            ifne 3
         1: .line 1249
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceListenerTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            getstatic com.oracle.truffle.api.instrumentation.SourceFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceFilter;
            aload 2
            invokedynamic onExecute(Ljava/lang/StringBuilder;)Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;
              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:
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
                  com/oracle/truffle/api/instrumentation/test/SourceListenerTest.lambda$41(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V (6)
                  (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
            iconst_1
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            pop
         2: .line 1250
            aload 1
            iconst_0
            iconst_1
            bastore
         3: .line 1252
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.instrumentation.LoadSourceEvent loadSourceEvent
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceListenerTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/api/instrumentation/test/SourceListenerTest;
            0    4     3  loadSourceEvent  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$31(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 1169
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$33(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 1185
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$35(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 1201
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$37(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.LoadSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
         0: .line 1217
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.LoadSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.LoadSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/LoadSourceEvent;

  private static void lambda$39(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 1233
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;

  private static void lambda$41(java.lang.StringBuilder, com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
         0: .line 1249
            aload 0
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            return
        end local 1 // com.oracle.truffle.api.instrumentation.ExecuteSourceEvent s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;
}
SourceFile: "SourceListenerTest.java"
NestMembers:
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$2  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$3  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$4  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$5  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$6  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$7  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$7$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$8  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$9  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable$2  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage$MultiSourceBlock  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$NeverMaterializedNode  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal$2  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal$3  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal$4  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$2  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$3  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$4  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$5  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource$6  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadSourceException  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadSourceException$1  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadSourceExceptionClass  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument
InnerClasses:
  public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$1
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$2
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$3
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$4
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$5
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$6
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$7
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$8
  com.oracle.truffle.api.instrumentation.test.SourceListenerTest$9
  private InstrumentationRunnable = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$InstrumentationRunnable of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  MultiSourceASTLanguage = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$MultiSourceASTLanguage of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  NeverMaterializedNode = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$NeverMaterializedNode of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  public TestAllowOnlySourceQueries = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestAllowOnlySourceQueries of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  public TestBindingDisposal = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestBindingDisposal of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  public TestLoadExecuteSource = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadExecuteSource of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  public TestLoadSourceException = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadSourceException of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  private TestLoadSourceExceptionClass = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestLoadSourceExceptionClass of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  public TestSourceListenerInstrument = com.oracle.truffle.api.instrumentation.test.SourceListenerTest$TestSourceListenerInstrument of com.oracle.truffle.api.instrumentation.test.SourceListenerTest
  SourceSectionNode = com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode of com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source