public class org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest extends org.graalvm.compiler.truffle.test.PartialEvaluationTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  super_class: org.graalvm.compiler.truffle.test.PartialEvaluationTest
{
  static final com.oracle.truffle.api.source.SourceSection DUMMY_SECTION;
    descriptor: Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  com.oracle.truffle.api.test.polyglot.ProxyLanguage langauge;
    descriptor: Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
    flags: (0x0000) 

  static int counter;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  private final java.util.function.Consumer<org.graalvm.polyglot.management.ExecutionEvent> empty;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;

  private final java.util.function.Consumer<org.graalvm.polyglot.management.ExecutionEvent> counting;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 50
            ldc "proxyLanguage"
            ldc ""
            ldc ""
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            ldc ""
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            iconst_0
            iconst_0
            invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.DUMMY_SECTION:Lcom/oracle/truffle/api/source/SourceSection;
         1: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 48
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.<init>:()V
         1: .line 98
            aload 0 /* this */
            invokedynamic accept()Ljava/util/function/Consumer;
              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/Object;)V
                  org/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest.lambda$0(Lorg/graalvm/polyglot/management/ExecutionEvent;)V (6)
                  (Lorg/graalvm/polyglot/management/ExecutionEvent;)V
            putfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
         2: .line 101
            aload 0 /* this */
            invokedynamic accept()Ljava/util/function/Consumer;
              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/Object;)V
                  org/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest.lambda$1(Lorg/graalvm/polyglot/management/ExecutionEvent;)V (6)
                  (Lorg/graalvm/polyglot/management/ExecutionEvent;)V
            putfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
         3: .line 48
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;

  public static java.lang.Object return42();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 57
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object return84();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 61
            bipush 84
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object returnNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object returnNullAndIncrement();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 69
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         1: .line 70
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object return42AndIncrement();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 74
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         1: .line 75
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object return84AndIncrementThrice();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 79
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         1: .line 80
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         2: .line 81
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         3: .line 82
            bipush 84
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object throwError();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 86
            new org.graalvm.compiler.truffle.test.PartialEvaluationTest$IgnoreError
            dup
            invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest$IgnoreError.<init>:()V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Object throwErrorAndIncrement();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 91
            new org.graalvm.compiler.truffle.test.PartialEvaluationTest$IgnoreError
            dup
            invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest$IgnoreError.<init>:()V
            athrow
         1: .line 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 0 /* e */
        start local 0 // java.lang.Throwable e
         2: .line 93
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         3: .line 94
            aload 0 /* e */
            athrow
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    4     0     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       1  Class java.lang.Throwable

  public void testOnEnterCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 107
            aload 0 /* this */
            aconst_null
            ldc "return42"
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         1: .line 109
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onEnter:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         2: .line 110
            ldc "return42"
         3: .line 111
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
         4: .line 109
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         5: .line 113
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onEnter:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         6: .line 114
            ldc "return42AndIncrement"
         7: .line 115
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
         8: .line 113
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         9: .line 116
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testOnReturnCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 120
            aload 0 /* this */
            aconst_null
            ldc "return42"
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         1: .line 122
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         2: .line 123
            ldc "return42"
         3: .line 124
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
         4: .line 122
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         5: .line 126
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         6: .line 127
            ldc "return42AndIncrement"
         7: .line 128
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
         8: .line 126
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         9: .line 129
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testOnErrorCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 133
            aload 0 /* this */
            aconst_null
            ldc "throwError"
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode.<init>:()V
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         1: .line 135
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         2: .line 136
            ldc "throwError"
         3: .line 137
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode.<init>:()V
         4: .line 135
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         5: .line 139
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         6: .line 140
            ldc "throwErrorAndIncrement"
         7: .line 141
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode.<init>:()V
         8: .line 139
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         9: .line 142
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testOnErrorNoException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 150
            aload 0 /* this */
            aconst_null
            ldc "returnNull"
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode.<init>:()V
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         1: .line 152
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onEnter:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.collectReturnValue:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.collectInputValues:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         2: .line 153
            ldc "returnNull"
         3: .line 154
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode.<init>:()V
         4: .line 152
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         5: .line 156
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.empty:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onEnter:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onReturn:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.collectReturnValue:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.collectInputValues:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         6: .line 157
            ldc "returnNullAndIncrement"
         7: .line 158
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode.<init>:()V
         8: .line 156
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         9: .line 160
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleCounts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 164
            aload 0 /* this */
            aconst_null
            ldc "return84"
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode
            dup
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode.<init>:(Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         1: .line 166
            aload 0 /* this */
            invokestatic org.graalvm.polyglot.management.ExecutionListener.newBuilder:()Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counting:Ljava/util/function/Consumer;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.onEnter:(Ljava/util/function/Consumer;)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.expressions:(Z)Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
         2: .line 167
            ldc "return84AndIncrementThrice"
         3: .line 168
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode
            dup
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node
            dup
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node.<init>:()V
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode.<init>:(Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         4: .line 166
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.testListener:(Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
         5: .line 169
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testListener(org.graalvm.polyglot.management.ExecutionListener$Builder, java.lang.String, org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode);
    descriptor: (Lorg/graalvm/polyglot/management/ExecutionListener$Builder;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
        start local 1 // org.graalvm.polyglot.management.ExecutionListener$Builder builder
        start local 2 // java.lang.String expectedMethodName
        start local 3 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode baseNode
         0: .line 172
            aconst_null
            astore 4 /* listener */
        start local 4 // org.graalvm.polyglot.management.ExecutionListener listener
         1: .line 173
            aload 1 /* builder */
            ifnull 3
         2: .line 174
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.getContext:()Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.polyglot.management.ExecutionListener$Builder.attach:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/management/ExecutionListener;
            astore 4 /* listener */
         3: .line 176
      StackMap locals: org.graalvm.polyglot.management.ExecutionListener
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expectedMethodName */
            aload 0 /* this */
            aload 3 /* baseNode */
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.createRoot:(Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.assertPartialEvalEquals:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            pop
         4: .line 177
            aload 4 /* listener */
            ifnull 6
         5: .line 178
            aload 4 /* listener */
            invokevirtual org.graalvm.polyglot.management.ExecutionListener.close:()V
         6: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.polyglot.management.ExecutionListener listener
        end local 3 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode baseNode
        end local 2 // java.lang.String expectedMethodName
        end local 1 // org.graalvm.polyglot.management.ExecutionListener$Builder builder
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
            0    7     1             builder  Lorg/graalvm/polyglot/management/ExecutionListener$Builder;
            0    7     2  expectedMethodName  Ljava/lang/String;
            0    7     3            baseNode  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;
            1    7     4            listener  Lorg/graalvm/polyglot/management/ExecutionListener;
    MethodParameters:
                    Name  Flags
      builder             
      expectedMethodName  
      baseNode            

  public void setup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
         0: .line 184
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$1.<init>:(Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;)V
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;)Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            pop
         1: .line 190
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.setupContext:()V
         2: .line 191
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.getContext:()Lorg/graalvm/polyglot/Context;
            ldc "proxyLanguage"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         3: .line 192
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyLanguage.getCurrentLanguage:()Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            putfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.langauge:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
         4: .line 193
            iconst_0
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         5: .line 194
            return
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  private com.oracle.truffle.api.nodes.RootNode createRoot(org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode);
    descriptor: (Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
        start local 1 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode node
         0: .line 197
            new org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.langauge:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
            aload 1 /* node */
            invokespecial org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$2.<init>:(Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;Lcom/oracle/truffle/api/TruffleLanguage;Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;)V
            areturn
        end local 1 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode node
        end local 0 // org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest;
            0    1     1  node  Lorg/graalvm/compiler/truffle/test/ExecutionListenerCompilerTest$BaseNode;
    MethodParameters:
      Name  Flags
      node  

  private static void lambda$0(org.graalvm.polyglot.management.ExecutionEvent);
    descriptor: (Lorg/graalvm/polyglot/management/ExecutionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.management.ExecutionEvent e
         0: .line 99
            return
        end local 0 // org.graalvm.polyglot.management.ExecutionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Lorg/graalvm/polyglot/management/ExecutionEvent;

  private static void lambda$1(org.graalvm.polyglot.management.ExecutionEvent);
    descriptor: (Lorg/graalvm/polyglot/management/ExecutionEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.management.ExecutionEvent e
         0: .line 102
            getstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
            iconst_1
            iadd
            putstatic org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest.counter:I
         1: .line 103
            return
        end local 0 // org.graalvm.polyglot.management.ExecutionEvent e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Lorg/graalvm/polyglot/management/ExecutionEvent;
}
SourceFile: "ExecutionListenerCompilerTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$1  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$2  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode
InnerClasses:
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$1
  org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$2
  abstract BaseNode = org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$BaseNode of org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  ExecuteTwoChildrenNode = org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ExecuteTwoChildrenNode of org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  Return42Node = org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$Return42Node of org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  ReturnNullNode = org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ReturnNullNode of org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  ThrowErrorNode = org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest$ThrowErrorNode of org.graalvm.compiler.truffle.test.ExecutionListenerCompilerTest
  protected final IgnoreError = org.graalvm.compiler.truffle.test.PartialEvaluationTest$IgnoreError of org.graalvm.compiler.truffle.test.PartialEvaluationTest
  public final Builder = org.graalvm.polyglot.management.ExecutionListener$Builder of org.graalvm.polyglot.management.ExecutionListener