public class org.graalvm.tools.insight.test.InsightObjectTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.tools.insight.test.InsightObjectTest
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/tools/insight/test/InsightObjectTest;

  public void cleanAgentObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 67
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.cleanAgentObject:()V
         1: .line 68
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void versionOfTheAgent();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 72
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 73
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 74
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 75
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 76
            ldc "1.0"
            aload 5 /* agentAPI */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.version:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
         6: .line 77
            aload 3 /* c */
            ifnull 12
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 12
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         7: astore 1
            aload 3 /* c */
            ifnull 8
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 1
            ifnonnull 10
            aload 2
            astore 1
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1
            aload 2
            if_acmpeq 11
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
        12: .line 78
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2    8     3         c  Lorg/graalvm/polyglot/Context;
            3    6     4     agent  Lorg/graalvm/polyglot/Value;
            4    6     5  agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
      Exception table:
        from    to  target  type
           2     6       7  any
           1     9       9  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void versionOfTheAgentDirect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 82
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 83
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 84
            ldc "agent created"
            aload 4 /* agent */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 85
            ldc "we have agent's truffle object"
            getstatic org.graalvm.tools.insight.test.InsightObjectFactory.insightObject:Lcom/oracle/truffle/api/interop/TruffleObject;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 87
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 5 /* iop */
        start local 5 // com.oracle.truffle.api.interop.InteropLibrary iop
         6: .line 89
            ldc "Yes, it has members"
            aload 5 /* iop */
            getstatic org.graalvm.tools.insight.test.InsightObjectFactory.insightObject:Lcom/oracle/truffle/api/interop/TruffleObject;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         7: .line 91
            aload 5 /* iop */
            getstatic org.graalvm.tools.insight.test.InsightObjectFactory.insightObject:Lcom/oracle/truffle/api/interop/TruffleObject;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* members */
        start local 6 // java.lang.Object members
         8: .line 92
            aload 5 /* iop */
            aload 6 /* members */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 7 /* membersCount */
        start local 7 // long membersCount
         9: .line 93
            ldc 2
            lload 7 /* membersCount */
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 95
            ldc "id"
            aload 5 /* iop */
            aload 6 /* members */
            lconst_0
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 96
            ldc "version"
            aload 5 /* iop */
            aload 6 /* members */
            lconst_1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // long membersCount
        end local 6 // java.lang.Object members
        end local 5 // com.oracle.truffle.api.interop.InteropLibrary iop
        end local 4 // org.graalvm.polyglot.Value agent
        12: .line 97
            aload 3 /* c */
            ifnull 18
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 18
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        13: astore 1
            aload 3 /* c */
            ifnull 14
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        14: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 2
            aload 1
            ifnonnull 16
            aload 2
            astore 1
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 1
            aload 2
            if_acmpeq 17
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 1
            athrow
        18: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   14     3             c  Lorg/graalvm/polyglot/Context;
            3   12     4         agent  Lorg/graalvm/polyglot/Value;
            6   12     5           iop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            8   12     6       members  Ljava/lang/Object;
            9   12     7  membersCount  J
      Exception table:
        from    to  target  type
           2    12      13  any
           1    15      15  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onErrorneousCallbackRegistration();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 102
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 103
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 104
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 105
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 107
            invokedynamic sourceLoaded()Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$0(Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
            astore 6 /* listener */
        start local 6 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
         6: .line 109
            aload 5 /* agentAPI */
            ldc "enterOrLeave"
            aload 6 /* listener */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;)V
         7: .line 110
            ldc "Should have failed with PolyglotException"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        end local 6 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
         8: .line 111
            aload 3 /* c */
            ifnull 16
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         9: astore 1
            aload 3 /* c */
            ifnull 10
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 1
            ifnonnull 12
            aload 2
            astore 1
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 1
            aload 2
            if_acmpeq 13
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest
      StackMap stack: org.graalvm.polyglot.PolyglotException
        14: astore 1 /* t */
        start local 1 // org.graalvm.polyglot.PolyglotException t
        15: .line 112
            aload 1 /* t */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            aload 1 /* t */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            ldc "insight: Unknown event type"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 1 // org.graalvm.polyglot.PolyglotException t
        16: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   10     3         c  Lorg/graalvm/polyglot/Context;
            3    8     4     agent  Lorg/graalvm/polyglot/Value;
            4    8     5  agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6    8     6  listener  Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
           15   16     1         t  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
           2     8       9  any
           1    11      11  any
           0    14      14  Class org.graalvm.polyglot.PolyglotException
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onSourceCallback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 118
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 119
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 120
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 121
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 123
            iconst_5
            anewarray java.lang.String
            astore 6 /* loadedScript */
        start local 6 // java.lang.String[] loadedScript
         6: .line 124
            aload 6 /* loadedScript */
            invokedynamic sourceLoaded([Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$1([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
            astore 7 /* listener */
        start local 7 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
         7: .line 131
            aload 5 /* agentAPI */
            ldc "source"
            aload 7 /* listener */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;)V
         8: .line 133
            ldc "proxyLanguage"
            ldc "sample, code"
            ldc "sample.px"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            ldc "application/x-proxy-language"
            invokevirtual org.graalvm.polyglot.Source$Builder.mimeType:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            new java.net.URI
            dup
            ldc "http://app.test/data"
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokevirtual org.graalvm.polyglot.Source$Builder.uri:(Ljava/net/URI;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            astore 8 /* sampleScript */
        start local 8 // org.graalvm.polyglot.Source sampleScript
         9: .line 134
            aload 3 /* c */
            aload 8 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        10: .line 136
            aload 8 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            aload 6 /* loadedScript */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 137
            ldc "sample, code"
            aload 6 /* loadedScript */
            iconst_1
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 138
            ldc "language check"
            ldc "proxyLanguage"
            aload 6 /* loadedScript */
            iconst_2
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 139
            ldc "mime type check"
            ldc "application/x-proxy-language"
            aload 6 /* loadedScript */
            iconst_3
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 140
            ldc "URI"
            ldc "http://app.test/data"
            aload 6 /* loadedScript */
            iconst_4
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 142
            aload 6 /* loadedScript */
            iconst_0
            aconst_null
            aastore
        16: .line 144
            aload 5 /* agentAPI */
            ldc "source"
            aload 7 /* listener */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        17: .line 146
            ldc "proxyLanguage"
            ldc "sample, code"
            ldc "sample.px"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            ldc "application/x-proxy-language"
            invokevirtual org.graalvm.polyglot.Source$Builder.mimeType:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            new java.net.URI
            dup
            ldc "http://app.test/data2"
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokevirtual org.graalvm.polyglot.Source$Builder.uri:(Ljava/net/URI;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            astore 9 /* sampleScript2 */
        start local 9 // org.graalvm.polyglot.Source sampleScript2
        18: .line 147
            aload 3 /* c */
            aload 9 /* sampleScript2 */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        19: .line 149
            ldc "No new script load notified"
            aload 6 /* loadedScript */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 9 // org.graalvm.polyglot.Source sampleScript2
        end local 8 // org.graalvm.polyglot.Source sampleScript
        end local 7 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
        end local 6 // java.lang.String[] loadedScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        20: .line 150
            aload 3 /* c */
            ifnull 26
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 26
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        21: astore 1
            aload 3 /* c */
            ifnull 22
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        22: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 2
            aload 1
            ifnonnull 24
            aload 2
            astore 1
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1
            aload 2
            if_acmpeq 25
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
        26: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   22     3              c  Lorg/graalvm/polyglot/Context;
            3   20     4          agent  Lorg/graalvm/polyglot/Value;
            4   20     5       agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   20     6   loadedScript  [Ljava/lang/String;
            7   20     7       listener  Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
            9   20     8   sampleScript  Lorg/graalvm/polyglot/Source;
           18   20     9  sampleScript2  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    20      21  any
           1    23      23  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nullMimeType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 155
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 156
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 157
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 158
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 160
            iconst_5
            anewarray java.lang.String
            astore 6 /* loadedScript */
        start local 6 // java.lang.String[] loadedScript
         6: .line 161
            aload 5 /* agentAPI */
            ldc "source"
            aload 6 /* loadedScript */
            invokedynamic sourceLoaded([Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$2([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;)V
         7: .line 169
            ldc "proxyLanguage"
            ldc "another code"
            ldc "sample.px"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
            astore 7 /* sampleScript */
        start local 7 // org.graalvm.polyglot.Source sampleScript
         8: .line 170
            aload 3 /* c */
            aload 7 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 172
            aload 7 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            aload 6 /* loadedScript */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 173
            ldc "another code"
            aload 6 /* loadedScript */
            iconst_1
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 174
            ldc "language check"
            ldc "proxyLanguage"
            aload 6 /* loadedScript */
            iconst_2
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 175
            ldc "null mime type"
            aload 6 /* loadedScript */
            iconst_3
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 176
            ldc "Some uri generated"
            aload 6 /* loadedScript */
            iconst_4
            aaload
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 177
            new java.lang.StringBuilder
            dup
            ldc "Uses truffle prefix: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* loadedScript */
            iconst_4
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* loadedScript */
            iconst_4
            aaload
            ldc "truffle:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 7 // org.graalvm.polyglot.Source sampleScript
        end local 6 // java.lang.String[] loadedScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        15: .line 178
            aload 3 /* c */
            ifnull 21
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 21
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        16: astore 1
            aload 3 /* c */
            ifnull 17
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        17: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 2
            aload 1
            ifnonnull 19
            aload 2
            astore 1
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 1
            aload 2
            if_acmpeq 20
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 1
            athrow
        21: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   17     3             c  Lorg/graalvm/polyglot/Context;
            3   15     4         agent  Lorg/graalvm/polyglot/Value;
            4   15     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   15     6  loadedScript  [Ljava/lang/String;
            8   15     7  sampleScript  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    15      16  any
           1    18      18  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onEnterCallback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 183
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 184
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 185
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 186
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 188
            iconst_1
            newarray 4
            astore 6 /* program */
        start local 6 // boolean[] program
         6: .line 189
            iconst_1
            anewarray java.lang.String
            astore 7 /* functionName */
        start local 7 // java.lang.String[] functionName
         7: .line 190
            aload 6 /* program */
            aload 7 /* functionName */
            invokedynamic event([Z[Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$3([Z[Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 8 /* listener */
        start local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler listener
         8: .line 199
            aload 5 /* agentAPI */
            ldc "enter"
            aload 8 /* listener */
            iconst_0
            iconst_0
            iconst_1
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
         9: .line 202
            ldc "instrumentation-test-language"
        10: .line 203
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
        11: .line 209
            ldc "sample.px"
        12: .line 202
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        13: .line 210
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        14: .line 202
            astore 9 /* sampleScript */
        start local 9 // org.graalvm.polyglot.Source sampleScript
        15: .line 212
            aload 3 /* c */
            aload 9 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 214
            ldc "Program started"
            aload 6 /* program */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        17: .line 215
            ldc "Function foo has been called"
            ldc "foo"
            aload 7 /* functionName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 217
            aload 5 /* agentAPI */
            ldc "enter"
            aload 8 /* listener */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        19: .line 218
            aload 6 /* program */
            iconst_0
            iconst_0
            bastore
        20: .line 219
            aload 7 /* functionName */
            iconst_0
            aconst_null
            aastore
        21: .line 222
            ldc "instrumentation-test-language"
        22: .line 223
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
        23: .line 229
            ldc "sample.px"
        24: .line 222
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        25: .line 230
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        26: .line 222
            astore 10 /* sampleScript2 */
        start local 10 // org.graalvm.polyglot.Source sampleScript2
        27: .line 232
            aload 3 /* c */
            aload 10 /* sampleScript2 */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        28: .line 234
            ldc "No listener notified"
            aload 6 /* program */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        29: .line 235
            ldc "No function entered"
            aload 7 /* functionName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 10 // org.graalvm.polyglot.Source sampleScript2
        end local 9 // org.graalvm.polyglot.Source sampleScript
        end local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler listener
        end local 7 // java.lang.String[] functionName
        end local 6 // boolean[] program
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        30: .line 236
            aload 3 /* c */
            ifnull 36
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 36
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        31: astore 1
            aload 3 /* c */
            ifnull 32
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        32: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 2
            aload 1
            ifnonnull 34
            aload 2
            astore 1
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 1
            aload 2
            if_acmpeq 35
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 1
            athrow
        36: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   32     3              c  Lorg/graalvm/polyglot/Context;
            3   30     4          agent  Lorg/graalvm/polyglot/Value;
            4   30     5       agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   30     6        program  [Z
            7   30     7   functionName  [Ljava/lang/String;
            8   30     8       listener  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           15   30     9   sampleScript  Lorg/graalvm/polyglot/Source;
           27   30    10  sampleScript2  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    30      31  any
           1    33      33  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void evalFirstAndThenOnEnterCallback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 241
            invokedynamic execute()Ljava/util/concurrent/Executor;
              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:
                  (Ljava/lang/Runnable;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$4(Ljava/lang/Runnable;)V (6)
                  (Ljava/lang/Runnable;)V
            astore 1 /* direct */
        start local 1 // java.util.concurrent.Executor direct
         1: .line 242
            aload 1 /* direct */
            invokestatic org.graalvm.tools.insight.test.InsightObjectTest.evalFirstAndThenOnEnterCallbackImpl:(Ljava/util/concurrent/Executor;)V
         2: .line 243
            return
        end local 1 // java.util.concurrent.Executor direct
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            1    3     1  direct  Ljava/util/concurrent/Executor;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void evalFirstAndThenOnEnterCallbackInBackground();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 247
            invokestatic java.util.concurrent.Executors.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService;
            astore 1 /* background */
        start local 1 // java.util.concurrent.Executor background
         1: .line 248
            aload 1 /* background */
            invokestatic org.graalvm.tools.insight.test.InsightObjectTest.evalFirstAndThenOnEnterCallbackImpl:(Ljava/util/concurrent/Executor;)V
         2: .line 249
            return
        end local 1 // java.util.concurrent.Executor background
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            1    3     1  background  Ljava/util/concurrent/Executor;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void evalFirstAndThenOnEnterCallbackImpl(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // java.util.concurrent.Executor registerIn
         0: .line 252
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 255
            ldc "instrumentation-test-language"
         3: .line 256
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
         4: .line 262
            ldc "sample.px"
         5: .line 255
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         6: .line 263
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
         7: .line 255
            astore 4 /* sampleScript */
        start local 4 // org.graalvm.polyglot.Source sampleScript
         8: .line 265
            aload 3 /* c */
            aload 4 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 267
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 5 /* agent */
        start local 5 // org.graalvm.polyglot.Value agent
        10: .line 268
            aload 5 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 6 /* agentAPI */
        start local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        11: .line 269
            ldc "Agent API obtained"
            aload 6 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 271
            iconst_1
            anewarray java.lang.String
            astore 7 /* functionName */
        start local 7 // java.lang.String[] functionName
        13: .line 272
            aload 7 /* functionName */
            invokedynamic event([Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$5([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 8 /* listener */
        start local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler listener
        14: .line 289
            new java.util.concurrent.CountDownLatch
            dup
            iconst_1
            invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
            astore 9 /* await */
        start local 9 // java.util.concurrent.CountDownLatch await
        15: .line 290
            iconst_1
            anewarray java.lang.Throwable
            astore 10 /* err */
        start local 10 // java.lang.Throwable[] err
        16: .line 291
            aload 0 /* registerIn */
            aload 9 /* await */
            aload 6 /* agentAPI */
            aload 8 /* listener */
            aload 10 /* err */
            invokedynamic run(Ljava/util/concurrent/CountDownLatch;Lorg/graalvm/tools/insight/test/InsightAPI;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;[Ljava/lang/Throwable;)Ljava/lang/Runnable;
              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:
                  ()V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$6(Ljava/util/concurrent/CountDownLatch;Lorg/graalvm/tools/insight/test/InsightAPI;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;[Ljava/lang/Throwable;)V (6)
                  ()V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        17: .line 300
            aload 9 /* await */
            ldc 10
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        18: .line 301
            aload 10 /* err */
            iconst_0
            aaload
            ifnull 20
        19: .line 302
            aload 10 /* err */
            iconst_0
            aaload
            athrow
        20: .line 306
      StackMap locals: java.util.concurrent.Executor java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Source org.graalvm.polyglot.Value org.graalvm.tools.insight.test.InsightAPI java.lang.String[] org.graalvm.tools.insight.test.InsightAPI$OnEventHandler java.util.concurrent.CountDownLatch java.lang.Throwable[]
      StackMap stack:
            ldc "instrumentation-test-language"
        21: .line 307
            ldc "ROOT(\n  CALL(foo)\n)"
        22: .line 310
            ldc "run.px"
        23: .line 306
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        24: .line 311
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        25: .line 306
            astore 11 /* runScript */
        start local 11 // org.graalvm.polyglot.Source runScript
        26: .line 313
            aload 3 /* c */
            aload 11 /* runScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        27: .line 315
            ldc "Function foo has been called"
            ldc "foo"
            aload 7 /* functionName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 11 // org.graalvm.polyglot.Source runScript
        end local 10 // java.lang.Throwable[] err
        end local 9 // java.util.concurrent.CountDownLatch await
        end local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler listener
        end local 7 // java.lang.String[] functionName
        end local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 5 // org.graalvm.polyglot.Value agent
        end local 4 // org.graalvm.polyglot.Source sampleScript
        28: .line 316
            aload 3 /* c */
            ifnull 34
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 34
      StackMap locals: java.util.concurrent.Executor java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        29: astore 1
            aload 3 /* c */
            ifnull 30
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        30: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 2
            aload 1
            ifnonnull 32
            aload 2
            astore 1
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 1
            aload 2
            if_acmpeq 33
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 1
            athrow
        34: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.concurrent.Executor registerIn
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0    registerIn  Ljava/util/concurrent/Executor;
            2   30     3             c  Lorg/graalvm/polyglot/Context;
            8   28     4  sampleScript  Lorg/graalvm/polyglot/Source;
           10   28     5         agent  Lorg/graalvm/polyglot/Value;
           11   28     6      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           13   28     7  functionName  [Ljava/lang/String;
           14   28     8      listener  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           15   28     9         await  Ljava/util/concurrent/CountDownLatch;
           16   28    10           err  [Ljava/lang/Throwable;
           26   28    11     runScript  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    28      29  any
           1    31      31  any
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
            Name  Flags
      registerIn  

  public void onEnterCallbackWithFilterOnRootName();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 321
            iconst_1
            newarray 4
            astore 1 /* finished */
        start local 1 // boolean[] finished
         1: .line 322
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 4 /* c */
        start local 4 // org.graalvm.polyglot.Context c
         3: .line 323
            aload 4 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 5 /* agent */
        start local 5 // org.graalvm.polyglot.Value agent
         4: .line 324
            aload 5 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 6 /* agentAPI */
        start local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         5: .line 325
            ldc "Agent API obtained"
            aload 6 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 327
            iconst_1
            anewarray java.lang.String
            astore 7 /* functionName */
        start local 7 // java.lang.String[] functionName
         7: .line 328
            aload 6 /* agentAPI */
            ldc "enter"
            aload 7 /* functionName */
            invokedynamic event([Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$7([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
         8: .line 331
            iconst_0
            iconst_0
            iconst_1
            ldc "foo"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
         9: .line 328
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        10: .line 332
            aload 6 /* agentAPI */
            ldc "close"
            aload 1 /* finished */
            invokedynamic closed([Z)Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;
              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:
                  ()V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$8([Z)V (6)
                  ()V
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;)V
        11: .line 337
            ldc "instrumentation-test-language"
        12: .line 338
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  DEFINE(bar,\n    CALL(foo)\n  ),\n  CALL(bar)\n)"
        13: .line 347
            ldc "sample.px"
        14: .line 337
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        15: .line 348
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        16: .line 337
            astore 8 /* sampleScript */
        start local 8 // org.graalvm.polyglot.Source sampleScript
        17: .line 350
            aload 4 /* c */
            aload 8 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        18: .line 352
            ldc "Function foo has been called"
            ldc "foo"
            aload 7 /* functionName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 354
            ldc "Not closed yet"
            aload 1 /* finished */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        end local 8 // org.graalvm.polyglot.Source sampleScript
        end local 7 // java.lang.String[] functionName
        end local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 5 // org.graalvm.polyglot.Value agent
        20: .line 355
            aload 4 /* c */
            ifnull 26
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 26
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest boolean[] java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        21: astore 2
            aload 4 /* c */
            ifnull 22
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        22: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 3
            aload 2
            ifnonnull 24
            aload 3
            astore 2
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 2
            aload 3
            if_acmpeq 25
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 2
            athrow
        26: .line 356
      StackMap locals:
      StackMap stack:
            ldc "Closed now"
            aload 1 /* finished */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        27: .line 357
            return
        end local 1 // boolean[] finished
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            1   28     1      finished  [Z
            3   22     4             c  Lorg/graalvm/polyglot/Context;
            4   20     5         agent  Lorg/graalvm/polyglot/Value;
            5   20     6      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            7   20     7  functionName  [Ljava/lang/String;
           17   20     8  sampleScript  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           3    20      21  any
           2    23      23  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onEnterCallbackWithFilterOnSourceName();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 362
            iconst_1
            newarray 4
            astore 1 /* finished */
        start local 1 // boolean[] finished
         1: .line 363
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 4 /* c */
        start local 4 // org.graalvm.polyglot.Context c
         3: .line 364
            aload 4 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 5 /* agent */
        start local 5 // org.graalvm.polyglot.Value agent
         4: .line 365
            aload 5 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 6 /* agentAPI */
        start local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         5: .line 366
            ldc "Agent API obtained"
            aload 6 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 368
            iconst_1
            anewarray java.lang.String
            astore 7 /* functionName */
        start local 7 // java.lang.String[] functionName
         7: .line 369
            aload 6 /* agentAPI */
            ldc "enter"
            aload 7 /* functionName */
            invokedynamic event([Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$9([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
         8: .line 375
            iconst_0
            iconst_0
            iconst_1
            aconst_null
            new org.graalvm.tools.insight.test.InsightObjectTest$SourceNameCheck
            dup
            ldc "foo.px"
            invokespecial org.graalvm.tools.insight.test.InsightObjectTest$SourceNameCheck.<init>:(Ljava/lang/String;)V
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
         9: .line 369
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        10: .line 376
            aload 6 /* agentAPI */
            ldc "close"
            aload 1 /* finished */
            invokedynamic closed([Z)Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;
              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:
                  ()V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$10([Z)V (6)
                  ()V
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;)V
        11: .line 381
            ldc "instrumentation-test-language"
        12: .line 382
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  )\n)"
        13: .line 387
            ldc "foo.px"
        14: .line 381
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        15: .line 388
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        16: .line 381
            astore 8 /* foo */
        start local 8 // org.graalvm.polyglot.Source foo
        17: .line 390
            aload 4 /* c */
            aload 8 /* foo */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        18: .line 392
            ldc "instrumentation-test-language"
        19: .line 393
            ldc "ROOT(\n  DEFINE(bar,\n    CALL(foo)\n  ),\n  CALL(bar)\n)"
        20: .line 399
            ldc "bar.px"
        21: .line 392
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        22: .line 400
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        23: .line 392
            astore 9 /* bar */
        start local 9 // org.graalvm.polyglot.Source bar
        24: .line 402
            aload 4 /* c */
            aload 9 /* bar */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        25: .line 404
            ldc "Function foo has been called"
            ldc "foo"
            aload 7 /* functionName */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 406
            ldc "Not closed yet"
            aload 1 /* finished */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
        end local 9 // org.graalvm.polyglot.Source bar
        end local 8 // org.graalvm.polyglot.Source foo
        end local 7 // java.lang.String[] functionName
        end local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 5 // org.graalvm.polyglot.Value agent
        27: .line 407
            aload 4 /* c */
            ifnull 33
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 33
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest boolean[] java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        28: astore 2
            aload 4 /* c */
            ifnull 29
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        29: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 3
            aload 2
            ifnonnull 31
            aload 3
            astore 2
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 2
            aload 3
            if_acmpeq 32
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 2
            athrow
        33: .line 408
      StackMap locals:
      StackMap stack:
            ldc "Closed now"
            aload 1 /* finished */
            iconst_0
            baload
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        34: .line 409
            return
        end local 1 // boolean[] finished
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            1   35     1      finished  [Z
            3   29     4             c  Lorg/graalvm/polyglot/Context;
            4   27     5         agent  Lorg/graalvm/polyglot/Value;
            5   27     6      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            7   27     7  functionName  [Ljava/lang/String;
           17   27     8           foo  Lorg/graalvm/polyglot/Source;
           24   27     9           bar  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           3    27      28  any
           2    30      30  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onStatementCallback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 413
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 414
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 415
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 416
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 418
            iconst_1
            newarray 10
            astore 6 /* loopIndexSum */
        start local 6 // int[] loopIndexSum
         6: .line 419
            aload 5 /* agentAPI */
            ldc "enter"
            aload 6 /* loopIndexSum */
            invokedynamic event([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$11([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
         7: .line 423
            iconst_0
            iconst_1
            iconst_0
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
         8: .line 419
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
         9: .line 426
            ldc "instrumentation-test-language"
        10: .line 427
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
        11: .line 433
            ldc "sample.px"
        12: .line 426
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        13: .line 434
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        14: .line 426
            astore 7 /* sampleScript */
        start local 7 // org.graalvm.polyglot.Source sampleScript
        15: .line 436
            aload 3 /* c */
            aload 7 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 438
            ldc "0,1,2,...9 indexes"
            ldc 45
            aload 6 /* loopIndexSum */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        end local 7 // org.graalvm.polyglot.Source sampleScript
        end local 6 // int[] loopIndexSum
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        17: .line 439
            aload 3 /* c */
            ifnull 23
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 23
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        18: astore 1
            aload 3 /* c */
            ifnull 19
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        19: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 2
            aload 1
            ifnonnull 21
            aload 2
            astore 1
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 1
            aload 2
            if_acmpeq 22
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 1
            athrow
        23: .line 440
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   19     3             c  Lorg/graalvm/polyglot/Context;
            3   17     4         agent  Lorg/graalvm/polyglot/Value;
            4   17     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   17     6  loopIndexSum  [I
           15   17     7  sampleScript  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    17      18  any
           1    20      20  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onExpressionCallback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 444
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 445
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 446
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 447
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 449
            iconst_1
            newarray 10
            astore 6 /* expressionCounter */
        start local 6 // int[] expressionCounter
         6: .line 450
            iconst_1
            newarray 10
            astore 7 /* expressionReturnCounter */
        start local 7 // int[] expressionReturnCounter
         7: .line 451
            aload 5 /* agentAPI */
            ldc "enter"
            aload 6 /* expressionCounter */
            invokedynamic event([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$12([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
         8: .line 453
            iconst_1
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
         9: .line 451
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        10: .line 454
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* expressionReturnCounter */
            invokedynamic event([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$13([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
        11: .line 456
            iconst_1
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
        12: .line 454
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        13: .line 459
            ldc "instrumentation-test-language"
        14: .line 460
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
        15: .line 466
            ldc "sample.px"
        16: .line 459
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        17: .line 467
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        18: .line 459
            astore 8 /* sampleScript */
        start local 8 // org.graalvm.polyglot.Source sampleScript
        19: .line 469
            aload 3 /* c */
            aload 8 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        20: .line 471
            ldc "10x2 expressions"
            ldc 20
            aload 6 /* expressionCounter */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        21: .line 472
            ldc "Same amount of expressions"
            aload 6 /* expressionCounter */
            iconst_0
            iaload
            i2l
            aload 7 /* expressionReturnCounter */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        end local 8 // org.graalvm.polyglot.Source sampleScript
        end local 7 // int[] expressionReturnCounter
        end local 6 // int[] expressionCounter
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        22: .line 473
            aload 3 /* c */
            ifnull 28
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 28
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        23: astore 1
            aload 3 /* c */
            ifnull 24
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        24: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 2
            aload 1
            ifnonnull 26
            aload 2
            astore 1
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 1
            aload 2
            if_acmpeq 27
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 1
            athrow
        28: .line 474
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   29     0                     this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   24     3                        c  Lorg/graalvm/polyglot/Context;
            3   22     4                    agent  Lorg/graalvm/polyglot/Value;
            4   22     5                 agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   22     6        expressionCounter  [I
            7   22     7  expressionReturnCounter  [I
           19   22     8             sampleScript  Lorg/graalvm/polyglot/Source;
      Exception table:
        from    to  target  type
           2    22      23  any
           1    25      25  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void internalScriptsAreIgnored();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 478
            iconst_1
            newarray 10
            astore 1 /* closeCounter */
        start local 1 // int[] closeCounter
         1: .line 479
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 4 /* c */
        start local 4 // org.graalvm.polyglot.Context c
         3: .line 480
            aload 4 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 5 /* agent */
        start local 5 // org.graalvm.polyglot.Value agent
         4: .line 481
            aload 5 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 6 /* agentAPI */
        start local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         5: .line 482
            ldc "Agent API obtained"
            aload 6 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 485
            ldc "instrumentation-test-language"
         7: .line 486
            ldc "ROOT(\n  DEFINE(foo,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  CALL(foo)\n)"
         8: .line 492
            ldc "sample.px"
         9: .line 485
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        10: .line 493
            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;
        11: .line 485
            astore 7 /* sampleScript */
        start local 7 // org.graalvm.polyglot.Source sampleScript
        12: .line 496
            aload 7 /* sampleScript */
            invokedynamic sourceLoaded(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$14(Lorg/graalvm/polyglot/Source;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
            astore 8 /* listener */
        start local 8 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
        13: .line 501
            aload 6 /* agentAPI */
            ldc "source"
            aload 8 /* listener */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;)V
        14: .line 503
            iconst_1
            newarray 10
            astore 9 /* expressionCounter */
        start local 9 // int[] expressionCounter
        15: .line 504
            aload 6 /* agentAPI */
            ldc "enter"
            aload 9 /* expressionCounter */
            invokedynamic event([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$15([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
        16: .line 506
            iconst_1
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
        17: .line 504
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        18: .line 507
            aload 6 /* agentAPI */
            ldc "return"
            aload 9 /* expressionCounter */
            invokedynamic event([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$16([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
        19: .line 509
            iconst_1
            iconst_0
            iconst_0
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
        20: .line 507
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        21: .line 511
            aload 6 /* agentAPI */
            ldc "close"
            aload 1 /* closeCounter */
            invokedynamic closed([I)Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;
              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:
                  ()V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$17([I)V (6)
                  ()V
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnCloseHandler;)V
        22: .line 515
            aload 4 /* c */
            aload 7 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        23: .line 517
            ldc "No expressions entered & exited"
            lconst_0
            aload 9 /* expressionCounter */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        end local 9 // int[] expressionCounter
        end local 8 // org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler listener
        end local 7 // org.graalvm.polyglot.Source sampleScript
        end local 6 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 5 // org.graalvm.polyglot.Value agent
        24: .line 518
            aload 4 /* c */
            ifnull 30
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 30
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest int[] java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        25: astore 2
            aload 4 /* c */
            ifnull 26
            aload 4 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        26: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 3
            aload 2
            ifnonnull 28
            aload 3
            astore 2
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 2
            aload 3
            if_acmpeq 29
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 2
            athrow
        30: .line 519
      StackMap locals:
      StackMap stack:
            ldc "Close is reported"
            lconst_1
            aload 1 /* closeCounter */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        31: .line 520
            return
        end local 1 // int[] closeCounter
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   32     0               this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            1   32     1       closeCounter  [I
            3   26     4                  c  Lorg/graalvm/polyglot/Context;
            4   24     5              agent  Lorg/graalvm/polyglot/Value;
            5   24     6           agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           12   24     7       sampleScript  Lorg/graalvm/polyglot/Source;
           13   24     8           listener  Lorg/graalvm/tools/insight/test/InsightAPI$OnSourceLoadedHandler;
           15   24     9  expressionCounter  [I
      Exception table:
        from    to  target  type
           3    24      25  any
           2    27      27  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void onEnterAndReturn();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 524
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 525
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 526
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 527
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 529
            iconst_1
            anewarray java.lang.String[]
            dup
            iconst_0
            iconst_0
            anewarray java.lang.String
            aastore
            astore 6 /* max */
        start local 6 // java.lang.String[][] max
         6: .line 530
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 7 /* stack */
        start local 7 // java.util.LinkedList stack
         7: .line 531
            iconst_0
            iconst_0
            iconst_1
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            astore 8 /* allRoots */
        start local 8 // org.graalvm.tools.insight.test.InsightAPI$OnConfig allRoots
         8: .line 532
            aload 5 /* agentAPI */
            ldc "enter"
            aload 7 /* stack */
            aload 6 /* max */
            invokedynamic event(Ljava/util/LinkedList;[[Ljava/lang/String;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$18(Ljava/util/LinkedList;[[Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
         9: .line 537
            aload 8 /* allRoots */
        10: .line 532
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        11: .line 538
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* stack */
            invokedynamic event(Ljava/util/LinkedList;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$19(Ljava/util/LinkedList;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
        12: .line 542
            aload 8 /* allRoots */
        13: .line 538
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        14: .line 545
            ldc "instrumentation-test-language"
        15: .line 546
            ldc "ROOT(\n  DEFINE(mar,\n    LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))\n  ),\n  DEFINE(bar,\n    LOOP(10, CALL(mar))\n  ),\n  DEFINE(foo,\n    LOOP(10, CALL(bar))\n  ),\n  CALL(foo)\n)"
        16: .line 558
            ldc "sample.px"
        17: .line 545
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        18: .line 559
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        19: .line 545
            astore 9 /* sampleScript */
        start local 9 // org.graalvm.polyglot.Source sampleScript
        20: .line 561
            aload 3 /* c */
            aload 9 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        21: .line 563
            aload 6 /* max */
            iconst_0
            aaload
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 10 /* maxStack */
        start local 10 // java.util.List maxStack
        22: .line 564
            ldc "Three functions & main program"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "mar"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "foo"
            aastore
            dup
            iconst_3
            ldc ""
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 10 /* maxStack */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List maxStack
        end local 9 // org.graalvm.polyglot.Source sampleScript
        end local 8 // org.graalvm.tools.insight.test.InsightAPI$OnConfig allRoots
        end local 7 // java.util.LinkedList stack
        end local 6 // java.lang.String[][] max
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        23: .line 565
            aload 3 /* c */
            ifnull 29
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        24: astore 1
            aload 3 /* c */
            ifnull 25
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
            aload 1
            ifnonnull 27
            aload 2
            astore 1
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 1
            aload 2
            if_acmpeq 28
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 1
            athrow
        29: .line 566
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   25     3             c  Lorg/graalvm/polyglot/Context;
            3   23     4         agent  Lorg/graalvm/polyglot/Value;
            4   23     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
            6   23     6           max  [[Ljava/lang/String;
            7   23     7         stack  Ljava/util/LinkedList<Ljava/lang/String;>;
            8   23     8      allRoots  Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
           20   23     9  sampleScript  Lorg/graalvm/polyglot/Source;
           22   23    10      maxStack  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           2    23      24  any
           1    26      26  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void accessFrameVariables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=15, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 570
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 571
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 572
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 573
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 576
            ldc "instrumentation-test-language"
         6: .line 577
            ldc "ROOT(\n  DEFINE(do_mul,\n    ARGUMENT(a),\n    ARGUMENT(b),\n    EXPRESSION\n  ),\n  DEFINE(mul,\n    ARGUMENT(a),\n    ARGUMENT(b),\n    CALL_WITH(do_mul, 1, READ_VAR(a), READ_VAR(b))\n  ),\n  CALL(mul, CONSTANT(6), CONSTANT(7))\n)"
         7: .line 590
            ldc "sample.px"
         8: .line 576
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         9: .line 591
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        10: .line 576
            astore 6 /* sampleScript */
        start local 6 // org.graalvm.polyglot.Source sampleScript
        11: .line 594
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 7 /* names */
        start local 7 // java.util.Set names
        12: .line 595
            aload 7 /* names */
            invokedynamic event(Ljava/util/Set;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$20(Ljava/util/Set;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 8 /* captureNames */
        start local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler captureNames
        13: .line 599
            aload 5 /* agentAPI */
            ldc "enter"
            aload 8 /* captureNames */
            iconst_1
            iconst_0
            iconst_0
            ldc "do_mul.*"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        14: .line 600
            aload 3 /* c */
            aload 6 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            pop
        15: .line 601
            aload 5 /* agentAPI */
            ldc "enter"
            aload 8 /* captureNames */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        16: .line 603
            ldc "THIS, a and b found"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "THIS"
            aastore
            dup
            iconst_1
            ldc "a"
            aastore
            dup
            iconst_2
            ldc "b"
            aastore
            aload 7 /* names */
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            invokestatic org.junit.Assert.assertArrayEquals:(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Object;)V
        17: .line 605
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 9 /* values */
        start local 9 // java.lang.Object[] values
        18: .line 606
            aload 5 /* agentAPI */
            ldc "enter"
            aload 9 /* values */
            invokedynamic event([Ljava/lang/Object;)Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$21([Ljava/lang/Object;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
        19: .line 630
            iconst_1
            iconst_0
            iconst_0
            ldc "do_mul"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
        20: .line 606
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        21: .line 632
            aload 3 /* c */
            ldc "instrumentation-test-language"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "mul"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 10 /* mul */
        start local 10 // org.graalvm.polyglot.Value mul
        22: .line 633
            ldc "mul function found"
            aload 10 /* mul */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 634
            ldc "mul function found"
            aload 10 /* mul */
            invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        24: .line 636
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            astore 11 /* r */
        start local 11 // java.util.Random r
        25: .line 637
            iconst_1
            istore 12 /* i */
        start local 12 // int i
        26: goto 34
        27: .line 638
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value org.graalvm.tools.insight.test.InsightAPI org.graalvm.polyglot.Source java.util.Set org.graalvm.tools.insight.test.InsightAPI$OnEventHandler java.lang.Object[] org.graalvm.polyglot.Value java.util.Random int
      StackMap stack:
            aload 11 /* r */
            invokevirtual java.util.Random.nextInt:()I
            istore 13 /* a */
        start local 13 // int a
        28: .line 639
            aload 11 /* r */
            invokevirtual java.util.Random.nextInt:()I
            istore 14 /* b */
        start local 14 // int b
        29: .line 641
            aload 10 /* mul */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 13 /* a */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 14 /* b */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        30: .line 643
            new java.lang.StringBuilder
            dup
            iload 12 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "th: a has been read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 13 /* a */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 9 /* values */
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 644
            new java.lang.StringBuilder
            dup
            iload 12 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "th: b has been read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 14 /* b */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 9 /* values */
            iconst_1
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 645
            new java.lang.StringBuilder
            dup
            iload 12 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "th: THIS has been read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 9 /* values */
            iconst_2
            aaload
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 14 // int b
        end local 13 // int a
        33: .line 637
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 12 /* i */
            ldc 100000
            if_icmple 27
        end local 12 // int i
        end local 11 // java.util.Random r
        end local 10 // org.graalvm.polyglot.Value mul
        end local 9 // java.lang.Object[] values
        end local 8 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler captureNames
        end local 7 // java.util.Set names
        end local 6 // org.graalvm.polyglot.Source sampleScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        35: .line 647
            aload 3 /* c */
            ifnull 41
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 41
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        36: astore 1
            aload 3 /* c */
            ifnull 37
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        37: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 2
            aload 1
            ifnonnull 39
            aload 2
            astore 1
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 1
            aload 2
            if_acmpeq 40
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 1
            athrow
        41: .line 648
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   42     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   37     3             c  Lorg/graalvm/polyglot/Context;
            3   35     4         agent  Lorg/graalvm/polyglot/Value;
            4   35     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           11   35     6  sampleScript  Lorg/graalvm/polyglot/Source;
           12   35     7         names  Ljava/util/Set<Ljava/lang/String;>;
           13   35     8  captureNames  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           18   35     9        values  [Ljava/lang/Object;
           22   35    10           mul  Lorg/graalvm/polyglot/Value;
           25   35    11             r  Ljava/util/Random;
           26   35    12             i  I
           28   33    13             a  I
           29   33    14             b  I
      Exception table:
        from    to  target  type
           2    35      36  any
           1    38      38  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void changeReturnValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 652
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 653
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 654
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 655
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 658
            ldc "instrumentation-test-language"
         6: .line 659
            ldc "ROOT(\n  DEFINE(mul,\n    ARGUMENT(a),\n    ARGUMENT(b),\n    EXPRESSION\n  ),\n  CALL(mul, CONSTANT(6), CONSTANT(7))\n)"
         7: .line 667
            ldc "sample.px"
         8: .line 658
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         9: .line 668
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        10: .line 658
            astore 6 /* sampleScript */
        start local 6 // org.graalvm.polyglot.Source sampleScript
        11: .line 671
            invokedynamic event()Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$22(Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 7 /* return42 */
        start local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        12: .line 674
            aload 5 /* agentAPI */
            ldc "enter"
            aload 7 /* return42 */
            iconst_1
            iconst_0
            iconst_0
            ldc "mul.*"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        13: .line 675
            aload 3 /* c */
            aload 6 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 8 /* fourtyTwo */
        start local 8 // org.graalvm.polyglot.Value fourtyTwo
        14: .line 676
            aload 5 /* agentAPI */
            ldc "enter"
            aload 7 /* return42 */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        15: .line 678
            ldc 42
            aload 8 /* fourtyTwo */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 8 // org.graalvm.polyglot.Value fourtyTwo
        end local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        end local 6 // org.graalvm.polyglot.Source sampleScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        16: .line 679
            aload 3 /* c */
            ifnull 22
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 22
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 1
            aload 3 /* c */
            ifnull 18
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        18: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 1
            ifnonnull 20
            aload 2
            astore 1
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1
            aload 2
            if_acmpeq 21
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 1
            athrow
        22: .line 680
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   18     3             c  Lorg/graalvm/polyglot/Context;
            3   16     4         agent  Lorg/graalvm/polyglot/Value;
            4   16     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           11   16     6  sampleScript  Lorg/graalvm/polyglot/Source;
           12   16     7      return42  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           14   16     8     fourtyTwo  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           2    16      17  any
           1    19      19  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void doubleReturnValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 684
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 685
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 686
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 687
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 690
            ldc "instrumentation-test-language"
         6: .line 691
            ldc "ROOT(\n  DEFINE(meaning,\n    EXPRESSION(\n      CONSTANT(6),\n      CONSTANT(7)\n    )\n  ),\n  CALL(meaning)\n)"
         7: .line 700
            ldc "sample.px"
         8: .line 690
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         9: .line 701
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        10: .line 690
            astore 6 /* sampleScript */
        start local 6 // org.graalvm.polyglot.Source sampleScript
        11: .line 704
            invokedynamic event()Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$23(Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 7 /* return42 */
        start local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        12: .line 712
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* return42 */
            iconst_1
            iconst_0
            iconst_0
            ldc "meaning.*"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        13: .line 713
            aload 3 /* c */
            aload 6 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 8 /* fourtyTwo */
        start local 8 // org.graalvm.polyglot.Value fourtyTwo
        14: .line 714
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* return42 */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        15: .line 716
            ldc 42
            aload 8 /* fourtyTwo */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 8 // org.graalvm.polyglot.Value fourtyTwo
        end local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        end local 6 // org.graalvm.polyglot.Source sampleScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        16: .line 717
            aload 3 /* c */
            ifnull 22
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 22
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 1
            aload 3 /* c */
            ifnull 18
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        18: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 1
            ifnonnull 20
            aload 2
            astore 1
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1
            aload 2
            if_acmpeq 21
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 1
            athrow
        22: .line 718
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   18     3             c  Lorg/graalvm/polyglot/Context;
            3   16     4         agent  Lorg/graalvm/polyglot/Value;
            4   16     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           11   16     6  sampleScript  Lorg/graalvm/polyglot/Source;
           12   16     7      return42  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           14   16     8     fourtyTwo  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           2    16      17  any
           1    19      19  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void wrongReturnValueCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 722
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 723
            aload 3 /* c */
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createAgentObject:(Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
            astore 4 /* agent */
        start local 4 // org.graalvm.polyglot.Value agent
         3: .line 724
            aload 4 /* agent */
            ldc Lorg/graalvm/tools/insight/test/InsightAPI;
            invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.tools.insight.test.InsightAPI
            astore 5 /* agentAPI */
        start local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
         4: .line 725
            ldc "Agent API obtained"
            aload 5 /* agentAPI */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 728
            ldc "instrumentation-test-language"
         6: .line 729
            ldc "ROOT(\n  DEFINE(meaning,\n    EXPRESSION(\n      CONSTANT(6),\n      CONSTANT(7)\n    )\n  ),\n  CALL(meaning)\n)"
         7: .line 738
            ldc "sample.px"
         8: .line 728
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         9: .line 739
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        10: .line 728
            astore 6 /* sampleScript */
        start local 6 // org.graalvm.polyglot.Source sampleScript
        11: .line 742
            invokedynamic event()Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
              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:
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
                  org/graalvm/tools/insight/test/InsightObjectTest.lambda$24(Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V (6)
                  (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
            astore 7 /* return42 */
        start local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        12: .line 750
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* return42 */
            iconst_1
            iconst_0
            iconst_0
            ldc "meaning.*"
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
        13: .line 751
            aload 3 /* c */
            aload 6 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 8 /* fourtyTwo */
        start local 8 // org.graalvm.polyglot.Value fourtyTwo
        14: .line 752
            aload 5 /* agentAPI */
            ldc "return"
            aload 7 /* return42 */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.off:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$Handler;)V
        15: .line 754
            ldc 42
            aload 8 /* fourtyTwo */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 8 // org.graalvm.polyglot.Value fourtyTwo
        end local 7 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler return42
        end local 6 // org.graalvm.polyglot.Source sampleScript
        end local 5 // org.graalvm.tools.insight.test.InsightAPI agentAPI
        end local 4 // org.graalvm.polyglot.Value agent
        16: .line 755
            aload 3 /* c */
            ifnull 22
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 22
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 1
            aload 3 /* c */
            ifnull 18
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        18: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 1
            ifnonnull 20
            aload 2
            astore 1
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1
            aload 2
            if_acmpeq 21
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 1
            athrow
        22: .line 756
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   18     3             c  Lorg/graalvm/polyglot/Context;
            3   16     4         agent  Lorg/graalvm/polyglot/Value;
            4   16     5      agentAPI  Lorg/graalvm/tools/insight/test/InsightAPI;
           11   16     6  sampleScript  Lorg/graalvm/polyglot/Source;
           12   16     7      return42  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;
           14   16     8     fourtyTwo  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           2    16      17  any
           1    19      19  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unknownLanguageCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
         0: .line 760
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.newContext:()Lorg/graalvm/polyglot/Context;
            astore 3 /* c */
        start local 3 // org.graalvm.polyglot.Context c
         2: .line 761
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
            ldc "insight"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Instrument
            astore 4 /* insight */
        start local 4 // org.graalvm.polyglot.Instrument insight
         3: .line 762
            ldc "found"
            aload 4 /* insight */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 765
            ldc "instrumentation-test-language"
         5: .line 766
            ldc "ROOT(\n  DEFINE(meaning,\n    EXPRESSION(\n      CONSTANT(6),\n      CONSTANT(7)\n    )\n  ),\n  CALL(meaning)\n)"
         6: .line 775
            ldc "sample.px"
         7: .line 765
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
         8: .line 776
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
         9: .line 765
            astore 5 /* sampleScript */
        start local 5 // org.graalvm.polyglot.Source sampleScript
        10: .line 778
            ldc "unknownInsightLanguage"
        11: .line 779
            ldc "anything"
        12: .line 780
            ldc "insightScript.uil"
        13: .line 778
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
        14: .line 781
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
        15: .line 778
            astore 6 /* insightScript */
        start local 6 // org.graalvm.polyglot.Source insightScript
        16: .line 785
            aload 4 /* insight */
            ldc Ljava/util/function/Function;
            invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.util.function.Function
            aload 6 /* insightScript */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 788
            aload 3 /* c */
            aload 5 /* sampleScript */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 7 /* fourtyTwo */
        start local 7 // org.graalvm.polyglot.Value fourtyTwo
        18: .line 789
            ldc "Unlikely to happen, expect exception"
            ldc 42
            aload 7 /* fourtyTwo */
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
        end local 7 // org.graalvm.polyglot.Value fourtyTwo
        19: .line 790
            goto 22
      StackMap locals: org.graalvm.tools.insight.test.InsightObjectTest java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Instrument org.graalvm.polyglot.Source org.graalvm.polyglot.Source
      StackMap stack: org.graalvm.polyglot.PolyglotException
        20: astore 7 /* ex */
        start local 7 // org.graalvm.polyglot.PolyglotException ex
        21: .line 791
            ldc "Missing language error reported"
            ldc -1
            aload 7 /* ex */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            ldc "No language for id unknownInsightLanguage found"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            i2l
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
        end local 7 // org.graalvm.polyglot.PolyglotException ex
        end local 6 // org.graalvm.polyglot.Source insightScript
        end local 5 // org.graalvm.polyglot.Source sampleScript
        end local 4 // org.graalvm.polyglot.Instrument insight
        22: .line 793
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            ifnull 28
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 1
            aload 3 /* c */
            ifnull 24
            aload 3 /* c */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context c
      StackMap locals:
      StackMap stack:
        24: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 2
            aload 1
            ifnonnull 26
            aload 2
            astore 1
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 1
            aload 2
            if_acmpeq 27
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 1
            athrow
        28: .line 794
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.tools.insight.test.InsightObjectTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lorg/graalvm/tools/insight/test/InsightObjectTest;
            2   24     3              c  Lorg/graalvm/polyglot/Context;
            3   22     4        insight  Lorg/graalvm/polyglot/Instrument;
           10   22     5   sampleScript  Lorg/graalvm/polyglot/Source;
           16   22     6  insightScript  Lorg/graalvm/polyglot/Source;
           18   19     7      fourtyTwo  Lorg/graalvm/polyglot/Value;
           21   22     7             ex  Lorg/graalvm/polyglot/PolyglotException;
      Exception table:
        from    to  target  type
          17    19      20  Class org.graalvm.polyglot.PolyglotException
           2    22      23  any
           1    25      25  any
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static void lambda$0(org.graalvm.tools.insight.test.InsightAPI$SourceInfo);
    descriptor: (Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
         0: .line 108
            return
        end local 0 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ev  Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;

  private static void lambda$1(java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$SourceInfo);
    descriptor: ([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
         0: .line 125
            aload 0
            iconst_0
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.name:()Ljava/lang/String;
            aastore
         1: .line 126
            aload 0
            iconst_1
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.characters:()Ljava/lang/String;
            aastore
         2: .line 127
            aload 0
            iconst_2
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.language:()Ljava/lang/String;
            aastore
         3: .line 128
            aload 0
            iconst_3
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.mimeType:()Ljava/lang/String;
            aastore
         4: .line 129
            aload 0
            iconst_4
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.uri:()Ljava/lang/String;
            aastore
         5: .line 130
            return
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     1    ev  Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;

  private static void lambda$2(java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$SourceInfo);
    descriptor: ([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
         0: .line 162
            aload 0
            iconst_0
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.name:()Ljava/lang/String;
            aastore
         1: .line 163
            aload 0
            iconst_1
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.characters:()Ljava/lang/String;
            aastore
         2: .line 164
            aload 0
            iconst_2
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.language:()Ljava/lang/String;
            aastore
         3: .line 165
            aload 0
            iconst_3
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.mimeType:()Ljava/lang/String;
            aastore
         4: .line 166
            aload 0
            iconst_4
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.uri:()Ljava/lang/String;
            aastore
         5: .line 167
            return
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     1    ev  Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;

  private static void lambda$3(boolean[], java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([Z[Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 2 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 3 // java.util.Map frame
         0: .line 191
            aload 2 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 192
            ldc "Program root is entered just once"
            aload 0
            iconst_0
            baload
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
         2: .line 193
            aload 0
            iconst_0
            iconst_1
            bastore
         3: .line 194
            return
         4: .line 196
      StackMap locals:
      StackMap stack:
            ldc "No function entered yet"
            aload 1
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 197
            aload 1
            iconst_0
            aload 2 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            aastore
         6: .line 198
            return
        end local 3 // java.util.Map frame
        end local 2 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     2    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    7     3  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$4(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Runnable c
         0: .line 241
            aload 0 /* c */
            invokeinterface java.lang.Runnable.run:()V
            return
        end local 0 // java.lang.Runnable c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Runnable;

  private static void lambda$5(java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 273
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 274
            return
         2: .line 276
      StackMap locals:
      StackMap stack:
            ldc "No function entered yet"
            aload 0
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 277
            aload 0
            iconst_0
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            aastore
         4: .line 278
            ldc "Subset of the source found"
            ldc -1
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.characters:()Ljava/lang/String;
            ldc "LOOP(10, STATEMENT(EXPRESSION,EXPRESSION))"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            i2l
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
         5: .line 280
            ldc 14
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.column:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         6: .line 281
            ldc 14
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.startColumn:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         7: .line 282
            ldc 2
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.endColumn:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 284
            ldc 2
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.line:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 285
            ldc 2
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.startLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 286
            ldc 4
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.endLine:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 287
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0   12     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$6(java.util.concurrent.CountDownLatch, org.graalvm.tools.insight.test.InsightAPI, org.graalvm.tools.insight.test.InsightAPI$OnEventHandler, java.lang.Throwable[]);
    descriptor: (Ljava/util/concurrent/CountDownLatch;Lorg/graalvm/tools/insight/test/InsightAPI;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;[Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=6, args_size=4
         0: .line 293
            aload 1
            ldc "enter"
            aload 2
            iconst_0
            iconst_0
            iconst_1
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.insight.test.InsightObjectFactory.createConfig:(ZZZLjava/lang/String;Ljava/util/function/Predicate;)Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI.on:(Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler;Lorg/graalvm/tools/insight/test/InsightAPI$OnConfig;)V
         1: .line 294
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 4 /* t */
        start local 4 // java.lang.Throwable t
         3: .line 295
            aload 3
            iconst_0
            aload 4 /* t */
            aastore
        end local 4 // java.lang.Throwable t
         4: .line 297
            aload 0
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
            goto 9
         5: .line 296
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         6: .line 297
            aload 0
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
         7: .line 298
            aload 5
            athrow
         8: .line 297
      StackMap locals:
      StackMap stack:
            aload 0
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
         9: .line 299
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    4     4     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
           0     4       5  any

  private static void lambda$7(java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 329
            ldc "No function entered yet"
            aload 0
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 330
            aload 0
            iconst_0
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            aastore
         2: .line 331
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    3     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$8(boolean[]);
    descriptor: ([Z)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 333
            aload 0
            iconst_0
            iconst_1
            bastore
         1: .line 334
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$9(java.lang.String[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 370
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 371
            return
         2: .line 373
      StackMap locals:
      StackMap stack:
            ldc "No function entered yet"
            aload 0
            iconst_0
            aaload
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 374
            aload 0
            iconst_0
            aload 1 /* ctx */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            aastore
         4: .line 375
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    5     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$10(boolean[]);
    descriptor: ([Z)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 377
            aload 0
            iconst_0
            iconst_1
            bastore
         1: .line 378
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$11(int[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 420
            aload 2 /* frame */
            ldc "loopIndex0"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* index */
        start local 3 // java.lang.Object index
         1: .line 421
            new java.lang.StringBuilder
            dup
            ldc "Number as expected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* index */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* index */
            instanceof java.lang.Number
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         2: .line 422
            aload 0
            iconst_0
            dup2
            iaload
            aload 3 /* index */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.intValue:()I
            iadd
            iastore
        end local 3 // java.lang.Object index
         3: .line 423
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    4     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    3     3  index  Ljava/lang/Object;

  private static void lambda$12(int[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 2 // java.util.Map frame
         0: .line 452
            aload 0
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 453
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    2     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$13(int[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 2 // java.util.Map frame
         0: .line 455
            aload 0
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 456
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    2     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$14(org.graalvm.polyglot.Source, org.graalvm.tools.insight.test.InsightAPI$SourceInfo);
    descriptor: (Lorg/graalvm/polyglot/Source;Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
         0: .line 497
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.name:()Ljava/lang/String;
            aload 0
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 498
            new java.lang.StringBuilder
            dup
            ldc "Don't load internal scripts: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$SourceInfo.uri:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$SourceInfo ev
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1    ev  Lorg/graalvm/tools/insight/test/InsightAPI$SourceInfo;

  private static void lambda$15(int[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 2 // java.util.Map frame
         0: .line 505
            aload 0
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 506
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    2     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$16(int[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([ILorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 2 // java.util.Map frame
         0: .line 508
            aload 0
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 509
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     1     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    2     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$17(int[]);
    descriptor: ([I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
         0: .line 512
            aload 0
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 513
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$18(java.util.LinkedList, java.lang.String[][], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Ljava/util/LinkedList;[[Ljava/lang/String;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 2 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 3 // java.util.Map frame
         0: .line 533
            aload 0
            aload 2 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            invokevirtual java.util.LinkedList.push:(Ljava/lang/Object;)V
         1: .line 534
            aload 0
            invokevirtual java.util.LinkedList.size:()I
            aload 1
            iconst_0
            aaload
            arraylength
            if_icmple 3
         2: .line 535
            aload 1
            iconst_0
            aload 0
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.LinkedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            aastore
         3: .line 537
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map frame
        end local 2 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     2     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    4     3  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$19(java.util.LinkedList, org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Ljava/util/LinkedList;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
        start local 2 // java.util.Map frame
         0: .line 539
            aload 0
            invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* prev */
        start local 3 // java.lang.String prev
         1: .line 540
            ldc "Exit from a topmost scope"
            aload 3 /* prev */
            aload 1 /* ev */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.name:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 3 // java.lang.String prev
         2: .line 542
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ev
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1     ev  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    3     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    2     3   prev  Ljava/lang/String;

  private static void lambda$20(java.util.Set, org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Ljava/util/Set;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 596
            aload 0
            invokeinterface java.util.Set.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 597
            aload 0
            aload 2 /* frame */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 598
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    3     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$21(java.lang.Object[], org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: ([Ljava/lang/Object;Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=3
        start local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 2 // java.util.Map frame
         0: .line 607
            aload 0
            iconst_0
            aload 2 /* frame */
            ldc "a"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         1: .line 608
            aload 0
            iconst_1
            aload 2 /* frame */
            ldc "b"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         2: .line 609
            aload 2 /* frame */
            ldc "a"
            bipush 33
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 610
            bipush 33
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* frame */
            ldc "a"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 611
            aload 2 /* frame */
            ldc "a"
            ldc "ahoj"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 612
            ldc "ahoj"
            aload 2 /* frame */
            ldc "a"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 614
            aload 2 /* frame */
            ldc "c"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 615
            ldc "Expecting an exception when setting unknown variable c"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         8: .line 616
            goto 12
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         9: astore 3 /* t */
        start local 3 // java.lang.IllegalArgumentException t
        10: .line 617
            aload 3 /* t */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            ldc "identifier 'c'"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 12
        11: .line 618
            aload 3 /* t */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        end local 3 // java.lang.IllegalArgumentException t
        12: .line 621
      StackMap locals:
      StackMap stack:
            aload 0
            iconst_2
            aload 2 /* frame */
            ldc "THIS"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        13: .line 623
            aload 2 /* frame */
            ldc "THIS"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 624
            ldc "Expecting an exception when setting THIS"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        15: .line 625
            goto 19
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        16: astore 3 /* t */
        start local 3 // java.lang.IllegalArgumentException t
        17: .line 626
            aload 3 /* t */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            ldc "identifier 'THIS'"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 19
        18: .line 627
            aload 3 /* t */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        end local 3 // java.lang.IllegalArgumentException t
        19: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map frame
        end local 1 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     1    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0   20     2  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           10   12     3      t  Ljava/lang/IllegalArgumentException;
           17   19     3      t  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.IllegalArgumentException
          13    15      16  Class java.lang.IllegalArgumentException

  private static void lambda$22(org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 1 // java.util.Map frame
         0: .line 672
            aload 0 /* ctx */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.returnNow:(Ljava/lang/Object;)V
         1: .line 673
            return
        end local 1 // java.util.Map frame
        end local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    2     1  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$23(org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 1 // java.util.Map frame
         0: .line 705
            aload 0 /* ctx */
            aload 1 /* frame */
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.returnValue:(Ljava/util/Map;)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         1: .line 706
            new java.lang.StringBuilder
            dup
            ldc "A string is returned: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* obj */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* obj */
            instanceof java.lang.String
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         2: .line 707
            aload 2 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "[\\(\\)]"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            ldc "\\+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* constants */
        start local 3 // java.lang.String[] constants
         3: .line 708
            ldc "6 and 7"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "6"
            aastore
            dup
            iconst_1
            ldc "7"
            aastore
            aload 3 /* constants */
            invokestatic org.junit.Assert.assertArrayEquals:(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Object;)V
         4: .line 709
            aload 3 /* constants */
            iconst_0
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            aload 3 /* constants */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            imul
            istore 4 /* mul */
        start local 4 // int mul
         5: .line 710
            aload 0 /* ctx */
            iload 4 /* mul */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.returnNow:(Ljava/lang/Object;)V
        end local 4 // int mul
        end local 3 // java.lang.String[] constants
        end local 2 // java.lang.Object obj
         6: .line 711
            return
        end local 1 // java.util.Map frame
        end local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0        ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    7     1      frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    6     2        obj  Ljava/lang/Object;
            3    6     3  constants  [Ljava/lang/String;
            5    6     4        mul  I

  private static void lambda$24(org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context, java.util.Map);
    descriptor: (Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;Ljava/util/Map;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
        start local 1 // java.util.Map frame
         0: .line 744
            aload 0 /* ctx */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.returnValue:(Ljava/util/Map;)Ljava/lang/Object;
            pop
         1: .line 745
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: astore 2 /* ex */
        start local 2 // java.lang.RuntimeException ex
         3: .line 746
            new java.lang.StringBuilder
            dup
            ldc "Expecting TruffleException: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ex */
            instanceof com.oracle.truffle.api.exception.AbstractTruffleException
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 2 // java.lang.RuntimeException ex
         4: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* ctx */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context.returnNow:(Ljava/lang/Object;)V
         5: .line 749
            return
        end local 1 // java.util.Map frame
        end local 0 // org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context ctx
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    ctx  Lorg/graalvm/tools/insight/test/InsightAPI$OnEventHandler$Context;
            0    6     1  frame  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    4     2     ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
}
SourceFile: "InsightObjectTest.java"
NestMembers:
  org.graalvm.tools.insight.test.InsightObjectTest$SourceNameCheck
InnerClasses:
  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
  public abstract Handler = org.graalvm.tools.insight.test.InsightAPI$Handler of org.graalvm.tools.insight.test.InsightAPI
  public abstract OnCloseHandler = org.graalvm.tools.insight.test.InsightAPI$OnCloseHandler of org.graalvm.tools.insight.test.InsightAPI
  public OnConfig = org.graalvm.tools.insight.test.InsightAPI$OnConfig of org.graalvm.tools.insight.test.InsightAPI
  public abstract OnEventHandler = org.graalvm.tools.insight.test.InsightAPI$OnEventHandler of org.graalvm.tools.insight.test.InsightAPI
  public abstract Context = org.graalvm.tools.insight.test.InsightAPI$OnEventHandler$Context of org.graalvm.tools.insight.test.InsightAPI$OnEventHandler
  public abstract OnSourceLoadedHandler = org.graalvm.tools.insight.test.InsightAPI$OnSourceLoadedHandler of org.graalvm.tools.insight.test.InsightAPI
  public abstract SourceInfo = org.graalvm.tools.insight.test.InsightAPI$SourceInfo of org.graalvm.tools.insight.test.InsightAPI
  public SourceNameCheck = org.graalvm.tools.insight.test.InsightObjectTest$SourceNameCheck of org.graalvm.tools.insight.test.InsightObjectTest