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

  public void fullAnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 57
            aload 0 /* this */
            ldc "var a = 42; var b = 43; var c = a + b;"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalAllTags:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            pop
         1: .line 60
            aload 0 /* this */
            ldc "a"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertGlobalVarDeclaration:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 62
            aload 0 /* this */
            ldc "b"
            bipush 43
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertGlobalVarDeclaration:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 64
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$0(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         4: .line 84
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         5: .line 85
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void leftConstantAnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 89
            ldc "var a = 42; var c = 43 + a;"
            astore 1 /* src */
        start local 1 // java.lang.String src
         1: .line 91
            aload 0 /* this */
            aload 1 /* src */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTag:(Ljava/lang/String;Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         2: .line 93
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$4(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         3: .line 96
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         4: .line 97
            return
        end local 1 // java.lang.String src
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            1    5     1   src  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantPlus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 101
            aload 0 /* this */
            bipush 43
            ldc "+"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 102
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantAnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 106
            aload 0 /* this */
            bipush 43
            ldc "&"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 107
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantOr();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 111
            aload 0 /* this */
            bipush 43
            ldc "|"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 112
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantXor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 116
            aload 0 /* this */
            bipush 43
            ldc "^"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 117
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantLeftShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 121
            aload 0 /* this */
            bipush 43
            ldc "<<"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 122
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantRightShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 126
            aload 0 /* this */
            bipush 43
            ldc ">>"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 127
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightConstantUnsignedRightShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 131
            aload 0 /* this */
            bipush 43
            ldc ">>>"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.constantBinaryOperationTestRight:(ILjava/lang/String;)V
         1: .line 132
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void eq();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 136
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "=="
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 137
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void strictEq();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 141
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "==="
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 142
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void plus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 146
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "+"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 147
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void minus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 151
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "-"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 152
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void mult();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 156
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "*"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 157
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void div();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 161
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "/"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 162
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void and();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 166
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "&"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 167
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void or();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 171
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "|"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 172
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void xor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 176
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "^"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 177
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void leftShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 181
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc "<<"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 182
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void rightShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 186
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc ">>"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 187
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void unsignedRightShift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 191
            aload 0 /* this */
            bipush 42
            bipush 43
            ldc ">>>"
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(IILjava/lang/String;)V
         1: .line 192
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void desugaredBinaryNeq();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 196
            aload 0 /* this */
            ldc "!="
            ldc "!"
            ldc "=="
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 197
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void desugaredBinarystrictNeq();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 201
            aload 0 /* this */
            ldc "!=="
            ldc "!"
            ldc "==="
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.binaryOperationTest:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 202
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void undefinedEqNullLeft();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 206
            aload 0 /* this */
            ldc "var foo = undefined; foo == null;"
         1: .line 207
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 208
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 206
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 209
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nullEqUndefinedLeft();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 213
            aload 0 /* this */
            ldc "var foo = null; foo == undefined;"
         1: .line 214
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 215
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 213
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 216
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nullEqUndefinedRight();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 220
            aload 0 /* this */
            ldc "var foo = null; undefined == foo;"
         1: .line 221
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 222
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 220
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 223
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void undefinedEqNullRight();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 227
            aload 0 /* this */
            ldc "var foo = undefined; null == foo;"
         1: .line 228
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 229
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 227
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 230
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void undefinedEqUndefined();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 234
            aload 0 /* this */
            ldc "var foo = undefined; undefined == foo;"
         1: .line 235
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 236
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 234
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 237
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void nullEqNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 241
            aload 0 /* this */
            ldc "var foo = null; null == foo;"
         1: .line 242
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         2: .line 243
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
         3: .line 241
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.testBinExpOnly:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 244
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalString1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 248
            aload 0 /* this */
            ldc "string"
            ldc "=="
            iconst_1
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 249
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalString2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 253
            aload 0 /* this */
            ldc "string"
            ldc "=="
            iconst_0
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 254
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalString3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 258
            aload 0 /* this */
            ldc "string"
            ldc "==="
            iconst_1
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 259
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalString4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 263
            aload 0 /* this */
            ldc "string"
            ldc "==="
            iconst_0
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 264
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalUnknown1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 268
            aload 0 /* this */
            ldc "foo"
            ldc "=="
            iconst_1
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 269
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalUnknown2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 273
            aload 0 /* this */
            ldc "foo"
            ldc "=="
            iconst_0
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 274
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalUnknown3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 278
            aload 0 /* this */
            ldc "foo"
            ldc "==="
            iconst_1
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 279
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void typeofIdenticalUnknown4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
         0: .line 282
            aload 0 /* this */
            ldc "foo"
            ldc "==="
            iconst_0
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.typeofIdenticalType:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 283
            return
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;

  public void typeofIdenticalType(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String operator
        start local 3 // boolean typeofAsLeftOperand
         0: .line 286
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* lhs */
        start local 4 // java.lang.String lhs
         1: .line 287
            ldc "(typeof a)"
            astore 5 /* rhs */
        start local 5 // java.lang.String rhs
         2: .line 289
            iload 3 /* typeofAsLeftOperand */
            ifeq 6
         3: .line 290
            aload 4 /* lhs */
            astore 6 /* tmp */
        start local 6 // java.lang.String tmp
         4: .line 291
            aload 5 /* rhs */
            astore 4 /* lhs */
         5: .line 292
            aload 6 /* tmp */
            astore 5 /* rhs */
        end local 6 // java.lang.String tmp
         6: .line 295
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "var a = 42; var c = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* lhs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* operator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* rhs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* src */
        start local 6 // java.lang.String src
         7: .line 297
            aload 0 /* this */
            aload 6 /* src */
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aastore
            dup
            iconst_1
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;
            aastore
            dup
            iconst_2
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
            aastore
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTags:(Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         8: .line 299
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertReturnValue:(Ljava/lang/Object;)Ljava/util/function/Consumer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:(Ljava/util/function/Consumer;)V
         9: .line 301
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 0 /* this */
            aload 2 /* operator */
            iload 3 /* typeofAsLeftOperand */
            aload 1 /* type */
            invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;Ljava/lang/String;ZLjava/lang/String;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$5(Ljava/lang/String;ZLjava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
        10: .line 315
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
        11: .line 316
            return
        end local 6 // java.lang.String src
        end local 5 // java.lang.String rhs
        end local 4 // java.lang.String lhs
        end local 3 // boolean typeofAsLeftOperand
        end local 2 // java.lang.String operator
        end local 1 // java.lang.String type
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0   12     1                 type  Ljava/lang/String;
            0   12     2             operator  Ljava/lang/String;
            0   12     3  typeofAsLeftOperand  Z
            1   12     4                  lhs  Ljava/lang/String;
            2   12     5                  rhs  Ljava/lang/String;
            4    6     6                  tmp  Ljava/lang/String;
            7   12     6                  src  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      type                 
      operator             
      typeofAsLeftOperand  

  private void testBinExpOnly(java.lang.String, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // java.lang.String src
        start local 2 // java.lang.Object firstValue
        start local 3 // java.lang.Object secondValue
         0: .line 319
            aload 0 /* this */
            aload 1 /* src */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTag:(Ljava/lang/String;Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         1: .line 320
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 2 /* firstValue */
            aload 3 /* secondValue */
            invokedynamic accept(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$7(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         2: .line 323
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         3: .line 324
            return
        end local 3 // java.lang.Object secondValue
        end local 2 // java.lang.Object firstValue
        end local 1 // java.lang.String src
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    4     1          src  Ljava/lang/String;
            0    4     2   firstValue  Ljava/lang/Object;
            0    4     3  secondValue  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      src          
      firstValue   
      secondValue  

  private void binaryOperationTest(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // java.lang.String srcOperator
        start local 2 // java.lang.String unOperator
        start local 3 // java.lang.String binOperator
         0: .line 327
            new java.lang.StringBuilder
            dup
            ldc "var a = 42 "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* srcOperator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " 41"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* src */
        start local 4 // java.lang.String src
         1: .line 329
            aload 0 /* this */
            aload 4 /* src */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aastore
            dup
            iconst_1
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;
            aastore
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTags:(Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         2: .line 331
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;
            aload 0 /* this */
            aload 2 /* unOperator */
            aload 3 /* binOperator */
            invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;Ljava/lang/String;Ljava/lang/String;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$8(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         3: .line 339
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         4: .line 340
            return
        end local 4 // java.lang.String src
        end local 3 // java.lang.String binOperator
        end local 2 // java.lang.String unOperator
        end local 1 // java.lang.String srcOperator
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    5     1  srcOperator  Ljava/lang/String;
            0    5     2   unOperator  Ljava/lang/String;
            0    5     3  binOperator  Ljava/lang/String;
            1    5     4          src  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      srcOperator  
      unOperator   
      binOperator  

  private void binaryOperationTest(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // int leftValue
        start local 2 // int rightValue
        start local 3 // java.lang.String operator
         0: .line 343
            new java.lang.StringBuilder
            dup
            ldc "var a = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* leftValue */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ; var b = a "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* operator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* rightValue */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* src */
        start local 4 // java.lang.String src
         1: .line 345
            aload 0 /* this */
            aload 4 /* src */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTag:(Ljava/lang/String;Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         2: .line 348
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 3 /* operator */
            iload 1 /* leftValue */
            iload 2 /* rightValue */
            invokedynamic accept(Ljava/lang/String;II)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$10(Ljava/lang/String;IILcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         3: .line 352
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         4: .line 353
            return
        end local 4 // java.lang.String src
        end local 3 // java.lang.String operator
        end local 2 // int rightValue
        end local 1 // int leftValue
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    5     1   leftValue  I
            0    5     2  rightValue  I
            0    5     3    operator  Ljava/lang/String;
            1    5     4         src  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      leftValue   
      rightValue  
      operator    

  private void constantBinaryOperationTestRight(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // int rightValue
        start local 2 // java.lang.String operator
         0: .line 356
            new java.lang.StringBuilder
            dup
            ldc "var a = 42; var c = a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* operator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* rightValue */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* src */
        start local 3 // java.lang.String src
         1: .line 358
            aload 0 /* this */
            aload 3 /* src */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.evalWithTag:(Ljava/lang/String;Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
            pop
         2: .line 360
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 2 /* operator */
            iload 1 /* rightValue */
            invokedynamic accept(Ljava/lang/String;I)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$11(Ljava/lang/String;ILcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         3: .line 364
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         4: .line 365
            return
        end local 3 // java.lang.String src
        end local 2 // java.lang.String operator
        end local 1 // int rightValue
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    5     1  rightValue  I
            0    5     2    operator  Ljava/lang/String;
            1    5     3         src  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      rightValue  
      operator    

  private void lambda$0(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent write
         0: .line 65
            aload 1 /* e */
            ldc "key"
            ldc "c"
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 66
            aload 2 /* write */
            getstatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 68
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$1(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         3: .line 81
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         4: .line 83
            aload 2 /* write */
            bipush 85
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         5: .line 84
            return
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent write
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    6     1      e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    6     2  write  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$4(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 94
            aload 1 /* binary */
            bipush 43
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         1: .line 95
            aload 1 /* binary */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 96
            return
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0      e2  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    3     1  binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private void lambda$5(java.lang.String, boolean, java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/String;ZLjava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 5 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 302
            aload 4 /* e */
            ldc "operator"
            aload 1
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 303
            iconst_0
            istore 6 /* eventNo */
        start local 6 // int eventNo
         2: goto 13
         3: .line 304
      StackMap locals: int
      StackMap stack:
            iload 2
            iload 6 /* eventNo */
            ifne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: com.oracle.truffle.js.test.instrumentation.BinaryOperationTest java.lang.String int java.lang.String com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent int
      StackMap stack: int int
         5: if_icmpne 10
         6: .line 305
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$6(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         7: .line 308
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         8: .line 309
            aload 5 /* binary */
            ldc "number"
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         9: .line 310
            goto 12
        10: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            aload 3
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertReturnValue:(Ljava/lang/Object;)Ljava/util/function/Consumer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:(Ljava/util/function/Consumer;)V
        11: .line 312
            aload 5 /* binary */
            aload 3
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
        12: .line 303
      StackMap locals:
      StackMap stack:
            iinc 6 /* eventNo */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* eventNo */
            iconst_2
            if_icmplt 3
        end local 6 // int eventNo
        14: .line 315
            return
        end local 5 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0   15     4        e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0   15     5   binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            2   14     6  eventNo  I

  private static void lambda$7(java.lang.Object, java.lang.Object, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 321
            aload 3 /* binary */
            aload 0
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         1: .line 322
            aload 3 /* binary */
            aload 1
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 323
            return
        end local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     2       e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    3     3  binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private void lambda$8(java.lang.String, java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent u
         0: .line 332
            aload 3 /* e */
            ldc "operator"
            aload 1
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 333
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
            aload 2
            invokedynamic accept(Ljava/lang/String;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$9(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         2: .line 337
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         3: .line 338
            aload 4 /* u */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         4: .line 339
            return
        end local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent u
        end local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    5     3     e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    5     4     u  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$10(java.lang.String, int, int, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/String;IILcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 349
            aload 3 /* e */
            ldc "operator"
            aload 0
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 350
            aload 4 /* binary */
            iload 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 351
            aload 4 /* binary */
            iload 2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         3: .line 352
            return
        end local 4 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     3       e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    4     4  binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$11(java.lang.String, int, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/String;ILcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
        start local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 361
            aload 2 /* e */
            ldc "operator"
            aload 0
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 362
            aload 3 /* binary */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 363
            aload 3 /* binary */
            iload 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         3: .line 364
            return
        end local 3 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     2       e  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    4     3  binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private void lambda$1(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
         0: .line 69
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadPropertyTag;
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$2(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         1: .line 72
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         2: .line 73
            aload 2 /* binary */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         3: .line 75
            aload 0 /* this */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadPropertyTag;
            invokedynamic accept()Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/oracle/truffle/js/test/instrumentation/BinaryOperationTest.lambda$3(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
                  (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
            invokevirtual com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
         4: .line 78
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
         5: .line 79
            aload 2 /* binary */
            bipush 43
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         6: .line 81
            return
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent binary
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
        end local 0 // com.oracle.truffle.js.test.instrumentation.BinaryOperationTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/oracle/truffle/js/test/instrumentation/BinaryOperationTest;
            0    7     1      e2  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    7     2  binary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$6(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent unary
         0: .line 306
            aload 0 /* e2 */
            ldc "operator"
            ldc "typeof"
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 307
            aload 1 /* unary */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 308
            return
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent unary
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     e2  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    3     1  unary  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$9(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent b
         0: .line 334
            aload 1 /* e2 */
            ldc "operator"
            aload 0
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 335
            aload 2 /* b */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 336
            aload 2 /* b */
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         3: .line 337
            return
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent b
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e2
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1    e2  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    4     2     b  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$2(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e3
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent prop
         0: .line 70
            aload 0 /* e3 */
            ldc "key"
            ldc "a"
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 71
            aload 1 /* prop */
            getstatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 72
            return
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent prop
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e3
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    e3  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    3     1  prop  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;

  private static void lambda$3(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
    descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e3
        start local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent prop
         0: .line 76
            aload 0 /* e3 */
            ldc "key"
            ldc "b"
            invokestatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 77
            aload 1 /* prop */
            getstatic com.oracle.truffle.js.test.instrumentation.BinaryOperationTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
            pop
         2: .line 78
            return
        end local 1 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent prop
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event e3
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    e3  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    3     1  prop  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
}
SourceFile: "BinaryOperationTest.java"
InnerClasses:
  public final BinaryOperationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$BinaryOperationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final LiteralTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final ReadPropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ReadPropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final UnaryOperationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$UnaryOperationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final WritePropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WritePropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  AssertedEvent = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
  protected Event = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles