public class com.oracle.truffle.api.test.polyglot.LoggingTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.test.polyglot.LoggingTest
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 90
            ldc Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.api.test.polyglot.LoggingTest.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;

  public void tearDown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 94
            aconst_null
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         1: .line 95
            return
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
    RuntimeVisibleAnnotations: 
      org.junit.After()

  public void testDefaultLogging();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 99
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         1: .line 100
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 2 /* defaultLevel */
        start local 2 // java.util.logging.Level defaultLevel
         2: .line 101
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 102
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 103
            ldc "log1"
            aload 2 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            astore 6 /* expected */
        start local 6 // java.util.List expected
         6: .line 104
            aload 6 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 105
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.clear:()V
         8: .line 106
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 107
            ldc "log2"
            aload 2 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            astore 6 /* expected */
        10: .line 108
            aload 6 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        11: .line 109
            aload 5 /* ctx */
            ifnull 17
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.util.logging.Level java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 5 /* ctx */
            ifnull 13
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.logging.Level defaultLevel
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   18     1       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            2   18     2  defaultLevel  Ljava/util/logging/Level;
            4   13     5           ctx  Lorg/graalvm/polyglot/Context;
            6   11     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    11      12  any
           3    14      14  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSingleLanguageAllLogging();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 114
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 115
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 116
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 117
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 118
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 119
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
         7: .line 121
            aload 6 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 122
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 123
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        10: .line 124
            aload 5 /* ctx */
            ifnull 16
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 125
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        17: .line 126
            aconst_null
            astore 3
            aconst_null
            astore 4
        18: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log2"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
        19: .line 127
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        20: .line 128
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        21: .line 130
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
        22: .line 131
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 132
            aload 6 /* expected */
            ldc "log2"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 133
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        25: .line 134
            aload 5 /* ctx */
            ifnull 31
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 31
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        26: astore 3
            aload 5 /* ctx */
            ifnull 27
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        27: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 4
            aload 3
            ifnonnull 29
            aload 4
            astore 3
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 3
            aload 4
            if_acmpeq 30
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 3
            athrow
        31: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   32     1  defaultLevel  Ljava/util/logging/Level;
            2   32     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   12     5           ctx  Lorg/graalvm/polyglot/Context;
            7   10     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           19   27     5           ctx  Lorg/graalvm/polyglot/Context;
           22   25     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
          19    25      26  any
          18    28      28  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testAllLanguagesAllLogging();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 139
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         1: .line 140
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* ctx */
        start local 4 // org.graalvm.polyglot.Context ctx
         3: .line 141
            aload 4 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 142
            aload 4 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 143
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        start local 5 // java.util.List expected
         6: .line 144
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 145
            aload 5 /* expected */
            ldc "log2"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 146
            aload 5 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.util.List expected
         9: .line 147
            aload 4 /* ctx */
            ifnull 15
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 4 /* ctx */
            ifnull 11
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 2
            ifnonnull 13
            aload 3
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2
            aload 3
            if_acmpeq 14
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
        15: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   16     1   handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   11     4       ctx  Lorg/graalvm/polyglot/Context;
            6    9     5  expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           3     9      10  any
           2    12      12  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBothLanguagesAllLogging();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 152
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         1: .line 153
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 154
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "log2"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
         4: .line 153
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
         5: .line 154
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         6: .line 153
            astore 4 /* ctx */
        start local 4 // org.graalvm.polyglot.Context ctx
         7: .line 155
            aload 4 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 156
            aload 4 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        start local 5 // java.util.List expected
        10: .line 158
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 159
            aload 5 /* expected */
            ldc "log2"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 160
            aload 5 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.util.List expected
        13: .line 161
            aload 4 /* ctx */
            ifnull 19
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 19
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* ctx */
            ifnull 15
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   20     1   handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            7   15     4       ctx  Lorg/graalvm/polyglot/Context;
           10   13     5  expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           7    13      14  any
           2    16      16  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFinestOnListLogger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 166
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 167
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 168
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.b"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 169
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 170
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 171
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
         7: .line 172
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.b"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 173
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 174
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        10: .line 175
            aload 5 /* ctx */
            ifnull 16
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 176
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   17     1  defaultLevel  Ljava/util/logging/Level;
            2   17     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   12     5           ctx  Lorg/graalvm/polyglot/Context;
            7   10     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFinestOnIntermediateLogger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 180
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 181
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 182
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 183
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 184
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 185
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
         7: .line 186
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 187
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 188
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        10: .line 189
            aload 5 /* ctx */
            ifnull 16
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   17     1  defaultLevel  Ljava/util/logging/Level;
            2   17     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   12     5           ctx  Lorg/graalvm/polyglot/Context;
            7   10     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFinestOnIntermediateNonExistentLogger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 194
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 195
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 196
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "b.a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 197
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 198
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 199
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
         7: .line 200
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "b.a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 201
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 202
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        10: .line 203
            aload 5 /* ctx */
            ifnull 16
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   17     1  defaultLevel  Ljava/util/logging/Level;
            2   17     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   12     5           ctx  Lorg/graalvm/polyglot/Context;
            7   10     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDifferentLogLevelOnChildAndParent();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 208
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 209
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 210
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
         4: .line 211
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
         5: .line 212
            ldc "log1"
            aastore
            dup
            iconst_4
            ldc "a.a"
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            bipush 6
         6: .line 213
            ldc "log1"
            aastore
            dup
            bipush 7
            ldc "a.a.a"
            aastore
            dup
            bipush 8
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
         7: .line 210
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
         8: .line 213
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         9: .line 210
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
        10: .line 214
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 215
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 216
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
        13: .line 217
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* levels */
        start local 7 // java.util.Map levels
        14: .line 218
            aload 7 /* levels */
            ldc "a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 219
            aload 7 /* levels */
            ldc "a.a"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 220
            aload 7 /* levels */
            ldc "a.a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 221
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            aload 7 /* levels */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 222
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 223
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // java.util.Map levels
        end local 6 // java.util.List expected
        20: .line 224
            aload 5 /* ctx */
            ifnull 26
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 26
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        21: astore 3
            aload 5 /* ctx */
            ifnull 22
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        22: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 4
            aload 3
            ifnonnull 24
            aload 4
            astore 3
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 3
            aload 4
            if_acmpeq 25
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 3
            athrow
        26: .line 225
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   27     1  defaultLevel  Ljava/util/logging/Level;
            2   27     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           10   22     5           ctx  Lorg/graalvm/polyglot/Context;
           13   20     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           14   20     7        levels  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
      Exception table:
        from    to  target  type
          10    20      21  any
           3    23      23  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleContextsExclusive();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 229
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 230
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 231
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         4: .line 232
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 233
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 234
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
         7: .line 235
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 236
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 237
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        10: .line 238
            aload 5 /* ctx */
            ifnull 16
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 239
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        17: .line 240
            aconst_null
            astore 3
            aconst_null
            astore 4
        18: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log2"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
        19: .line 241
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        20: .line 242
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        21: .line 243
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
        22: .line 244
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 245
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 246
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        25: .line 247
            aload 5 /* ctx */
            ifnull 31
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 31
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        26: astore 3
            aload 5 /* ctx */
            ifnull 27
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        27: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 4
            aload 3
            ifnonnull 29
            aload 4
            astore 3
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 3
            aload 4
            if_acmpeq 30
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 3
            athrow
        31: .line 248
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        32: .line 249
            aconst_null
            astore 3
            aconst_null
            astore 4
        33: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
        34: .line 250
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        35: .line 251
            aload 5 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        36: .line 252
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* expected */
        start local 6 // java.util.List expected
        37: .line 253
            aload 6 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        38: .line 254
            aload 6 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        39: .line 255
            aload 6 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.util.List expected
        40: .line 256
            aload 5 /* ctx */
            ifnull 46
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 46
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        41: astore 3
            aload 5 /* ctx */
            ifnull 42
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        42: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 4
            aload 3
            ifnonnull 44
            aload 4
            astore 3
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 3
            aload 4
            if_acmpeq 45
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 3
            athrow
        46: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   47     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   47     1  defaultLevel  Ljava/util/logging/Level;
            2   47     2       handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   12     5           ctx  Lorg/graalvm/polyglot/Context;
            7   10     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           19   27     5           ctx  Lorg/graalvm/polyglot/Context;
           22   25     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           34   42     5           ctx  Lorg/graalvm/polyglot/Context;
           37   40     6      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
          19    25      26  any
          18    28      28  any
          34    40      41  any
          33    43      43  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleContextsNested();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 261
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 262
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler1 */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         2: .line 263
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* handler2 */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
         3: .line 264
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler3 */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
         4: .line 265
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx1 */
        start local 7 // org.graalvm.polyglot.Context ctx1
         6: .line 266
            aconst_null
            astore 8
            aconst_null
            astore 9
         7: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log2"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 10 /* ctx2 */
        start local 10 // org.graalvm.polyglot.Context ctx2
         8: .line 267
            aconst_null
            astore 11
            aconst_null
            astore 12
         9: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* handler3 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 13 /* ctx3 */
        start local 13 // org.graalvm.polyglot.Context ctx3
        10: .line 268
            aload 7 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 269
            aload 7 /* ctx1 */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 270
            aload 10 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        13: .line 271
            aload 10 /* ctx2 */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        14: .line 272
            aload 13 /* ctx3 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        15: .line 273
            aload 13 /* ctx3 */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 274
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* expected */
        start local 14 // java.util.List expected
        17: .line 275
            aload 14 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 276
            aload 14 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 277
            aload 14 /* expected */
            aload 2 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 278
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* expected */
        21: .line 279
            aload 14 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        22: .line 280
            aload 14 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 281
            aload 14 /* expected */
            aload 3 /* handler2 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 282
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* expected */
        25: .line 283
            aload 14 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        26: .line 284
            aload 14 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        27: .line 285
            aload 14 /* expected */
            aload 4 /* handler3 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 14 // java.util.List expected
        28: .line 286
            aload 13 /* ctx3 */
            ifnull 34
            aload 13 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 34
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        29: astore 11
            aload 13 /* ctx3 */
            ifnull 30
            aload 13 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 13 // org.graalvm.polyglot.Context ctx3
      StackMap locals:
      StackMap stack:
        30: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 12
            aload 11
            ifnonnull 32
            aload 12
            astore 11
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 11
            aload 12
            if_acmpeq 33
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 11
            athrow
        34: .line 287
      StackMap locals:
      StackMap stack:
            aload 10 /* ctx2 */
            ifnull 40
            aload 10 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: astore 8
            aload 10 /* ctx2 */
            ifnull 36
            aload 10 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 10 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        36: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 9
            aload 8
            ifnonnull 38
            aload 9
            astore 8
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 8
            aload 9
            if_acmpeq 39
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 8
            athrow
        40: .line 288
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx1 */
            ifnull 46
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 5
            aload 7 /* ctx1 */
            ifnull 42
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        42: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 6
            aload 5
            ifnonnull 44
            aload 6
            astore 5
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 5
            aload 6
            if_acmpeq 45
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 5
            athrow
        46: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   47     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   47     1  defaultLevel  Ljava/util/logging/Level;
            2   47     2      handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   47     3      handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   47     4      handler3  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            6   42     7          ctx1  Lorg/graalvm/polyglot/Context;
            8   36    10          ctx2  Lorg/graalvm/polyglot/Context;
           10   30    13          ctx3  Lorg/graalvm/polyglot/Context;
           17   28    14      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          10    28      29  any
           9    31      31  any
           8    34      35  any
           7    37      37  any
           6    40      41  any
           5    43      43  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleContextsNested2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 293
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 294
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler1 */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         2: .line 295
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* handler2 */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
         3: .line 296
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx1 */
        start local 6 // org.graalvm.polyglot.Context ctx1
         5: .line 297
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx2 */
        start local 9 // org.graalvm.polyglot.Context ctx2
         7: .line 298
            aload 6 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 299
            aload 9 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 300
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        10: .line 301
            aload 10 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 302
            aload 10 /* expected */
            aload 2 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 303
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        13: .line 304
            aload 10 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 305
            aload 10 /* expected */
            aload 3 /* handler2 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        15: .line 306
            aload 9 /* ctx2 */
            ifnull 21
            aload 9 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 21
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        16: astore 7
            aload 9 /* ctx2 */
            ifnull 17
            aload 9 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        17: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 8
            aload 7
            ifnonnull 19
            aload 8
            astore 7
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 7
            aload 8
            if_acmpeq 20
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 7
            athrow
        21: .line 307
      StackMap locals:
      StackMap stack:
            aload 6 /* ctx1 */
            ifnull 27
            aload 6 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 6 /* ctx1 */
            ifnull 23
            aload 6 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        23: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 5
            aload 4
            ifnonnull 25
            aload 5
            astore 4
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 4
            aload 5
            if_acmpeq 26
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 4
            athrow
        27: .line 308
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   28     1  defaultLevel  Ljava/util/logging/Level;
            2   28     2      handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   28     3      handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            5   23     6          ctx1  Lorg/graalvm/polyglot/Context;
            7   17     9          ctx2  Lorg/graalvm/polyglot/Context;
           10   15    10      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           7    15      16  any
           6    18      18  any
           5    21      22  any
           4    24      24  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleContextsNested3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 312
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 313
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler1 */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         2: .line 314
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* handler2 */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
         3: .line 315
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler3 */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
         4: .line 316
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx1 */
        start local 7 // org.graalvm.polyglot.Context ctx1
         6: .line 317
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx2 */
        start local 8 // org.graalvm.polyglot.Context ctx2
         7: .line 318
            aconst_null
            astore 9
            aconst_null
            astore 10
         8: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* handler3 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 11 /* ctx3 */
        start local 11 // org.graalvm.polyglot.Context ctx3
         9: .line 319
            aload 8 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        10: .line 320
            aload 7 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 321
            aload 11 /* ctx3 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 322
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        start local 12 // java.util.List expected
        13: .line 323
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 324
            aload 12 /* expected */
            aload 2 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 325
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        16: .line 326
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a.a"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 327
            aload 12 /* expected */
            aload 4 /* handler3 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.util.List expected
        18: .line 328
            aload 11 /* ctx3 */
            ifnull 24
            aload 11 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 24
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        19: astore 9
            aload 11 /* ctx3 */
            ifnull 20
            aload 11 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 11 // org.graalvm.polyglot.Context ctx3
      StackMap locals:
      StackMap stack:
        20: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 10
            aload 9
            ifnonnull 22
            aload 10
            astore 9
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 9
            aload 10
            if_acmpeq 23
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 9
            athrow
        end local 8 // org.graalvm.polyglot.Context ctx2
        24: .line 329
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx1 */
            ifnull 30
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 5
            aload 7 /* ctx1 */
            ifnull 26
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        26: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 6
            aload 5
            ifnonnull 28
            aload 6
            astore 5
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 5
            aload 6
            if_acmpeq 29
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 5
            athrow
        30: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   31     1  defaultLevel  Ljava/util/logging/Level;
            2   31     2      handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   31     3      handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   31     4      handler3  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            6   26     7          ctx1  Lorg/graalvm/polyglot/Context;
            7   24     8          ctx2  Lorg/graalvm/polyglot/Context;
            9   20    11          ctx3  Lorg/graalvm/polyglot/Context;
           13   18    12      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           9    18      19  any
           8    21      21  any
           6    24      25  any
           5    27      27  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleContextsNested4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 334
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 335
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler1 */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         2: .line 336
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* handler2 */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
         3: .line 337
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler3 */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
         4: .line 338
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx1 */
        start local 7 // org.graalvm.polyglot.Context ctx1
         6: .line 339
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx2 */
        start local 8 // org.graalvm.polyglot.Context ctx2
         7: .line 340
            aconst_null
            astore 9
            aconst_null
            astore 10
         8: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "a.a"
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* handler3 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 11 /* ctx3 */
        start local 11 // org.graalvm.polyglot.Context ctx3
         9: .line 341
            aload 8 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        10: .line 342
            aload 7 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 343
            aload 11 /* ctx3 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 344
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        start local 12 // java.util.List expected
        13: .line 345
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 346
            aload 12 /* expected */
            aload 2 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 347
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        16: .line 348
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            ldc "a.a"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 349
            aload 12 /* expected */
            aload 4 /* handler3 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.util.List expected
        18: .line 350
            aload 11 /* ctx3 */
            ifnull 24
            aload 11 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 24
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        19: astore 9
            aload 11 /* ctx3 */
            ifnull 20
            aload 11 /* ctx3 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 11 // org.graalvm.polyglot.Context ctx3
      StackMap locals:
      StackMap stack:
        20: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 10
            aload 9
            ifnonnull 22
            aload 10
            astore 9
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 9
            aload 10
            if_acmpeq 23
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 9
            athrow
        end local 8 // org.graalvm.polyglot.Context ctx2
        24: .line 351
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx1 */
            ifnull 30
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 5
            aload 7 /* ctx1 */
            ifnull 26
            aload 7 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        26: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 6
            aload 5
            ifnonnull 28
            aload 6
            astore 5
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 5
            aload 6
            if_acmpeq 29
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 5
            athrow
        30: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler3
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   31     1  defaultLevel  Ljava/util/logging/Level;
            2   31     2      handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   31     3      handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   31     4      handler3  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            6   26     7          ctx1  Lorg/graalvm/polyglot/Context;
            7   24     8          ctx2  Lorg/graalvm/polyglot/Context;
            9   20    11          ctx3  Lorg/graalvm/polyglot/Context;
           13   18    12      expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           9    18      19  any
           8    21      21  any
           6    24      25  any
           5    27      27  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogRecordImmutable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 356
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler1 */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         1: .line 357
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* ctx1 */
        start local 4 // org.graalvm.polyglot.Context ctx1
         3: .line 358
            aload 4 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         4: .line 359
            iconst_0
            istore 5 /* logged */
        start local 5 // boolean logged
         5: .line 360
            aload 1 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getRawLog:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context int top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.logging.LogRecord
            astore 6 /* r */
        start local 6 // java.util.logging.LogRecord r
         7: .line 361
            iconst_1
            istore 5 /* logged */
         8: .line 362
            aload 6 /* r */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.assertImmutable:(Ljava/util/logging/LogRecord;)V
        end local 6 // java.util.logging.LogRecord r
         9: .line 360
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 364
            iload 5 /* logged */
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 5 // boolean logged
        11: .line 365
            aload 4 /* ctx1 */
            ifnull 17
            aload 4 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 17
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* ctx1 */
            ifnull 13
            aload 4 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 366
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   18     1  handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   13     4      ctx1  Lorg/graalvm/polyglot/Context;
            5   11     5    logged  Z
            7    9     6         r  Ljava/util/logging/LogRecord;
      Exception table:
        from    to  target  type
           3    11      12  any
           2    14      14  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParametersPrimitive();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 370
            bipush 9
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            lconst_1
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            ldc 1.1
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_4
            ldc 1.1
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_5
            ldc "test"
            aastore
            dup
            bipush 6
            bipush 116
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            dup
            bipush 8
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            astore 1 /* expected */
        start local 1 // java.lang.Object[] expected
         1: .line 371
            new com.oracle.truffle.api.test.polyglot.LoggingTest$1
            dup
            aload 0 /* this */
            aload 1 /* expected */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$1.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;[Ljava/lang/Object;)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         2: .line 380
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler1 */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         3: .line 381
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 2 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx1 */
        start local 5 // org.graalvm.polyglot.Context ctx1
         5: .line 382
            aload 5 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 383
            iconst_0
            istore 6 /* logged */
        start local 6 // boolean logged
         7: .line 384
            aload 2 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getRawLog:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 12
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.lang.Object[] com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context int top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.logging.LogRecord
            astore 7 /* r */
        start local 7 // java.util.logging.LogRecord r
         9: .line 385
            iconst_1
            istore 6 /* logged */
        10: .line 386
            ldc "Parameters"
            aload 7 /* r */
            invokevirtual java.util.logging.LogRecord.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 387
            aload 1 /* expected */
            aload 7 /* r */
            invokevirtual java.util.logging.LogRecord.getParameters:()[Ljava/lang/Object;
            invokestatic org.junit.Assert.assertArrayEquals:([Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 7 // java.util.logging.LogRecord r
        12: .line 384
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 389
            iload 6 /* logged */
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 6 // boolean logged
        14: .line 390
            aload 5 /* ctx1 */
            ifnull 20
            aload 5 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 20
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.lang.Object[] com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        15: astore 3
            aload 5 /* ctx1 */
            ifnull 16
            aload 5 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 3
            ifnonnull 18
            aload 4
            astore 3
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 3
            aload 4
            if_acmpeq 19
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 3
            athrow
        20: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 1 // java.lang.Object[] expected
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   21     1  expected  [Ljava/lang/Object;
            3   21     2  handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            5   16     5      ctx1  Lorg/graalvm/polyglot/Context;
            7   14     6    logged  Z
            9   12     7         r  Ljava/util/logging/LogRecord;
      Exception table:
        from    to  target  type
           5    14      15  any
           4    17      17  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testParametersObjects();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 395
            new com.oracle.truffle.api.test.polyglot.LoggingTest$2
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$2.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         1: .line 404
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler1 */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
         2: .line 405
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* ctx1 */
        start local 4 // org.graalvm.polyglot.Context ctx1
         4: .line 406
            aload 4 /* ctx1 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 407
            iconst_0
            istore 5 /* logged */
        start local 5 // boolean logged
         6: .line 408
            aload 1 /* handler1 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getRawLog:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context int top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.logging.LogRecord
            astore 6 /* r */
        start local 6 // java.util.logging.LogRecord r
         8: .line 409
            iconst_1
            istore 5 /* logged */
         9: .line 410
            ldc "Parameters"
            aload 6 /* r */
            invokevirtual java.util.logging.LogRecord.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 411
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "passed"
            aastore
            aload 6 /* r */
            invokevirtual java.util.logging.LogRecord.getParameters:()[Ljava/lang/Object;
            invokestatic org.junit.Assert.assertArrayEquals:([Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 6 // java.util.logging.LogRecord r
        11: .line 408
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 413
            iload 5 /* logged */
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 5 // boolean logged
        13: .line 414
            aload 4 /* ctx1 */
            ifnull 19
            aload 4 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 19
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* ctx1 */
            ifnull 15
            aload 4 /* ctx1 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context ctx1
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 415
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler1
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            2   20     1  handler1  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   15     4      ctx1  Lorg/graalvm/polyglot/Context;
            6   13     5    logged  Z
            8   11     6         r  Ljava/util/logging/LogRecord;
      Exception table:
        from    to  target  type
           4    13      14  any
           3    16      16  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInnerContextLogging();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 419
            new com.oracle.truffle.api.test.polyglot.LoggingTest$3
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$3.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         1: .line 435
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 436
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* ctx */
        start local 4 // org.graalvm.polyglot.Context ctx
         4: .line 437
            aload 4 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 438
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        start local 5 // java.util.List expected
         6: .line 439
            getstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.LOGGER_NAMES:[Ljava/lang/String;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.util.List top int int java.lang.String[]
      StackMap stack:
         7: aload 9
            iload 7
            aaload
            astore 6 /* loggerName */
        start local 6 // java.lang.String loggerName
         8: .line 440
            aload 5 /* expected */
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "INNER: log1."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* loggerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String loggerName
         9: .line 439
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 7
        11: .line 442
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 443
            aload 5 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.util.List expected
        13: .line 444
            aload 4 /* ctx */
            ifnull 19
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 19
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* ctx */
            ifnull 15
            aload 4 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 4 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 445
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            2   20     1     handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   15     4         ctx  Lorg/graalvm/polyglot/Context;
            6   13     5    expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
            8    9     6  loggerName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4    13      14  any
           3    16      16  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPolyglotLogHandler();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 449
            ldc "polyglot.log.file"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic org.junit.Assume.assumeTrue:(Z)V
         3: .line 450
            new com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.<init>:()V
            astore 1 /* err */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream err
         4: .line 451
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* err */
            invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* err */
            iconst_0
            iconst_1
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.testLogToStream:(Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
         5: .line 452
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream err
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            4    6     1   err  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGcedContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 456
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         1: .line 457
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 2 /* gcedContext */
        start local 2 // org.graalvm.polyglot.Context gcedContext
         2: .line 458
            aload 2 /* gcedContext */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 459
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* expected */
        start local 3 // java.util.List expected
         4: .line 460
            aload 3 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 461
            aload 3 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 462
            new java.lang.ref.WeakReference
            dup
            aload 2 /* gcedContext */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            astore 4 /* gcedContextRef */
        start local 4 // java.lang.ref.Reference gcedContextRef
         7: .line 463
            aconst_null
            astore 2 /* gcedContext */
         8: .line 464
            ldc "Cannot free context."
            aload 4 /* gcedContextRef */
            invokestatic com.oracle.truffle.api.test.GCUtils.assertGc:(Ljava/lang/String;Ljava/lang/ref/Reference;)V
         9: .line 465
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* handler */
        10: .line 466
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* newContext */
        start local 5 // org.graalvm.polyglot.Context newContext
        11: .line 467
            aload 5 /* newContext */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 468
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* expected */
        13: .line 469
            aload 3 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 470
            aload 3 /* expected */
            aload 1 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 471
            return
        end local 5 // org.graalvm.polyglot.Context newContext
        end local 4 // java.lang.ref.Reference gcedContextRef
        end local 3 // java.util.List expected
        end local 2 // org.graalvm.polyglot.Context gcedContext
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   16     1         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            2   16     2     gcedContext  Lorg/graalvm/polyglot/Context;
            4   16     3        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
            7   16     4  gcedContextRef  Ljava/lang/ref/Reference<Lorg/graalvm/polyglot/Context;>;
           11   16     5      newContext  Lorg/graalvm/polyglot/Context;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGcedContext2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 475
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* gcedContextHandler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler gcedContextHandler
         1: .line 476
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* gcedContextHandler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 2 /* gcedContext */
        start local 2 // org.graalvm.polyglot.Context gcedContext
         2: .line 477
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* contextHandler */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
         3: .line 478
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* contextHandler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 4 /* context */
        start local 4 // org.graalvm.polyglot.Context context
         4: .line 479
            aload 2 /* gcedContext */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         5: .line 480
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        start local 5 // java.util.List expected
         6: .line 481
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 482
            aload 5 /* expected */
            aload 1 /* gcedContextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 483
            aload 4 /* context */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 484
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        10: .line 485
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 486
            aload 5 /* expected */
            aload 3 /* contextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 487
            new java.lang.ref.WeakReference
            dup
            aload 2 /* gcedContext */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            astore 6 /* gcedContextRef */
        start local 6 // java.lang.ref.Reference gcedContextRef
        13: .line 488
            aconst_null
            astore 2 /* gcedContext */
        14: .line 489
            ldc "Cannot free context."
            aload 6 /* gcedContextRef */
            invokestatic com.oracle.truffle.api.test.GCUtils.assertGc:(Ljava/lang/String;Ljava/lang/ref/Reference;)V
        15: .line 490
            aload 3 /* contextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.clear:()V
        16: .line 491
            aload 4 /* context */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 492
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* expected */
        18: .line 493
            aload 5 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 494
            aload 5 /* expected */
            aload 3 /* contextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 495
            return
        end local 6 // java.lang.ref.Reference gcedContextRef
        end local 5 // java.util.List expected
        end local 4 // org.graalvm.polyglot.Context context
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
        end local 2 // org.graalvm.polyglot.Context gcedContext
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler gcedContextHandler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   21     1  gcedContextHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            2   21     2         gcedContext  Lorg/graalvm/polyglot/Context;
            3   21     3      contextHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   21     4             context  Lorg/graalvm/polyglot/Context;
            6   21     5            expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           13   21     6      gcedContextRef  Ljava/lang/ref/Reference<Lorg/graalvm/polyglot/Context;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogToStream();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 499
            new com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.<init>:()V
            astore 1 /* stream */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream stream
         1: .line 500
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* stream */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* stream */
            iconst_1
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.testLogToStream:(Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
         2: .line 501
            new com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.<init>:()V
            astore 1 /* stream */
         3: .line 502
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            aload 1 /* stream */
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
            astore 4 /* engine */
        start local 4 // org.graalvm.polyglot.Engine engine
         5: .line 503
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* engine */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* stream */
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.testLogToStream:(Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
         6: .line 504
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.clear:()V
         7: .line 505
            new com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.<init>:()V
            astore 5 /* innerStream */
        start local 5 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream innerStream
         8: .line 506
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* engine */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* innerStream */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* innerStream */
            iconst_1
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.testLogToStream:(Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
         9: .line 507
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.isClosed:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        10: .line 508
            lconst_0
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.toByteArray:()[B
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 509
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* engine */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            aload 1 /* stream */
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.testLogToStream:(Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
        end local 5 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream innerStream
        12: .line 510
            aload 4 /* engine */
            ifnull 18
            aload 4 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 18
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine
      StackMap stack: java.lang.Throwable
        13: astore 2
            aload 4 /* engine */
            ifnull 14
            aload 4 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 4 // org.graalvm.polyglot.Engine engine
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 3
            aload 2
            ifnonnull 16
            aload 3
            astore 2
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 2
            aload 3
            if_acmpeq 17
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 2
            athrow
        18: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.isClosed:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        19: .line 512
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream stream
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   20     1       stream  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;
            5   14     4       engine  Lorg/graalvm/polyglot/Engine;
            8   12     5  innerStream  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;
      Exception table:
        from    to  target  type
           5    12      13  any
           4    15      15  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDecreaseLogLevelSingleContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 516
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 517
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* setLevelsMap */
        start local 2 // java.util.Map setLevelsMap
         2: .line 518
            aload 2 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 519
            aload 2 /* setLevelsMap */
            ldc "a.a"
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 520
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 3 /* builder */
        start local 3 // org.graalvm.polyglot.Context$Builder builder
         5: .line 521
            aload 2 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* levelsMapEntry */
        start local 4 // java.util.Map$Entry levelsMapEntry
         7: .line 522
            aload 3 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 4 // java.util.Map$Entry levelsMapEntry
         8: .line 521
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 524
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        10: .line 525
            aconst_null
            astore 5
            aconst_null
            astore 6
        11: aload 3 /* builder */
            aload 4 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx */
        start local 7 // org.graalvm.polyglot.Context ctx
        12: .line 526
            aload 7 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        13: .line 527
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* expected */
        start local 8 // java.util.List expected
        14: .line 528
            aload 8 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            aload 2 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        15: .line 529
            aload 8 /* expected */
            aload 4 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // java.util.List expected
        16: .line 530
            aload 7 /* ctx */
            ifnull 22
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 22
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 5
            aload 7 /* ctx */
            ifnull 18
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        18: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 6
            aload 5
            ifnonnull 20
            aload 6
            astore 5
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 5
            aload 6
            if_acmpeq 21
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 5
            athrow
        22: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 3 // org.graalvm.polyglot.Context$Builder builder
        end local 2 // java.util.Map setLevelsMap
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   23     1    defaultLevel  Ljava/util/logging/Level;
            2   23     2    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            5   23     3         builder  Lorg/graalvm/polyglot/Context$Builder;
            7    8     4  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
           10   23     4         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           12   18     7             ctx  Lorg/graalvm/polyglot/Context;
           14   16     8        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          12    16      17  any
          11    19      19  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDecreaseLogLevelMultipleContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 535
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 536
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* setLevelsMap */
        start local 2 // java.util.Map setLevelsMap
         2: .line 537
            aload 2 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 538
            aload 2 /* setLevelsMap */
            ldc "a.a"
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 539
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 3 /* builder */
        start local 3 // org.graalvm.polyglot.Context$Builder builder
         5: .line 540
            aload 2 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* levelsMapEntry */
        start local 4 // java.util.Map$Entry levelsMapEntry
         7: .line 541
            aload 3 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 4 // java.util.Map$Entry levelsMapEntry
         8: .line 540
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 543
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        10: .line 544
            aconst_null
            astore 5
            aconst_null
            astore 6
        11: aload 3 /* builder */
            aload 4 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx */
        start local 7 // org.graalvm.polyglot.Context ctx
        12: .line 545
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 8 /* handler2 */
        start local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        13: .line 546
            aconst_null
            astore 9
            aconst_null
            astore 10
        14: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 8 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 11 /* ctx2 */
        start local 11 // org.graalvm.polyglot.Context ctx2
        15: .line 547
            aload 7 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 548
            aload 11 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 549
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        start local 12 // java.util.List expected
        18: .line 550
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            aload 2 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 551
            aload 12 /* expected */
            aload 4 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 552
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        21: .line 553
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        22: .line 554
            aload 12 /* expected */
            aload 8 /* handler2 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.util.List expected
        23: .line 555
            aload 11 /* ctx2 */
            ifnull 29
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        24: astore 9
            aload 11 /* ctx2 */
            ifnull 25
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 11 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        25: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 10
            aload 9
            ifnonnull 27
            aload 10
            astore 9
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 9
            aload 10
            if_acmpeq 28
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 9
            athrow
        end local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        29: .line 556
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx */
            ifnull 35
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 5
            aload 7 /* ctx */
            ifnull 31
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        31: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 6
            aload 5
            ifnonnull 33
            aload 6
            astore 5
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 5
            aload 6
            if_acmpeq 34
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 5
            athrow
        35: .line 557
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 3 // org.graalvm.polyglot.Context$Builder builder
        end local 2 // java.util.Map setLevelsMap
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   36     1    defaultLevel  Ljava/util/logging/Level;
            2   36     2    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            5   36     3         builder  Lorg/graalvm/polyglot/Context$Builder;
            7    8     4  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
           10   36     4         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           12   31     7             ctx  Lorg/graalvm/polyglot/Context;
           13   29     8        handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           15   25    11            ctx2  Lorg/graalvm/polyglot/Context;
           18   23    12        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          15    23      24  any
          14    26      26  any
          12    29      30  any
          11    32      32  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDecreaseIncreaseLogLevelSingleContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 561
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* setLevelsMap */
        start local 1 // java.util.Map setLevelsMap
         1: .line 562
            aload 1 /* setLevelsMap */
            aconst_null
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 563
            aload 1 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 564
            aload 1 /* setLevelsMap */
            ldc "a.a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 565
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         5: .line 566
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 3 /* builder */
        start local 3 // org.graalvm.polyglot.Context$Builder builder
         6: .line 567
            aload 1 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* levelsMapEntry */
        start local 4 // java.util.Map$Entry levelsMapEntry
         8: .line 568
            aload 3 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 4 // java.util.Map$Entry levelsMapEntry
         9: .line 567
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 570
            aconst_null
            astore 4
            aconst_null
            astore 5
        11: aload 3 /* builder */
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
        12: .line 571
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        13: .line 572
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* expected */
        start local 7 // java.util.List expected
        14: .line 573
            aload 7 /* expected */
            ldc "log1"
            aload 1 /* setLevelsMap */
            aconst_null
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.logging.Level
            aload 1 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        15: .line 574
            aload 7 /* expected */
            aload 2 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // java.util.List expected
        16: .line 575
            aload 6 /* ctx */
            ifnull 22
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 22
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 6 /* ctx */
            ifnull 18
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 4
            ifnonnull 20
            aload 5
            astore 4
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 4
            aload 5
            if_acmpeq 21
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 4
            athrow
        22: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.polyglot.Context$Builder builder
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // java.util.Map setLevelsMap
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   23     1    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            5   23     2         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            6   23     3         builder  Lorg/graalvm/polyglot/Context$Builder;
            8    9     4  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
           12   18     6             ctx  Lorg/graalvm/polyglot/Context;
           14   16     7        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          12    16      17  any
          11    19      19  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDecreaseIncreaseLogLevelMultipleContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 580
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 581
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* setLevelsMap */
        start local 2 // java.util.Map setLevelsMap
         2: .line 582
            aload 2 /* setLevelsMap */
            aconst_null
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 583
            aload 2 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 584
            aload 2 /* setLevelsMap */
            ldc "a.a"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 585
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 3 /* builder */
        start local 3 // org.graalvm.polyglot.Context$Builder builder
         6: .line 586
            aload 2 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* levelsMapEntry */
        start local 4 // java.util.Map$Entry levelsMapEntry
         8: .line 587
            aload 3 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 4 // java.util.Map$Entry levelsMapEntry
         9: .line 586
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 589
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        11: .line 590
            aconst_null
            astore 5
            aconst_null
            astore 6
        12: aload 3 /* builder */
            aload 4 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx */
        start local 7 // org.graalvm.polyglot.Context ctx
        13: .line 591
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 8 /* handler2 */
        start local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        14: .line 592
            aconst_null
            astore 9
            aconst_null
            astore 10
        15: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 8 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 11 /* ctx2 */
        start local 11 // org.graalvm.polyglot.Context ctx2
        16: .line 593
            aload 7 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 594
            aload 11 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        18: .line 595
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        start local 12 // java.util.List expected
        19: .line 596
            aload 12 /* expected */
            ldc "log1"
            aload 2 /* setLevelsMap */
            aconst_null
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.logging.Level
            aload 2 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 597
            aload 12 /* expected */
            aload 4 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 598
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        22: .line 599
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 600
            aload 12 /* expected */
            aload 8 /* handler2 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.util.List expected
        24: .line 601
            aload 11 /* ctx2 */
            ifnull 30
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 30
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        25: astore 9
            aload 11 /* ctx2 */
            ifnull 26
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 11 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        26: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 10
            aload 9
            ifnonnull 28
            aload 10
            astore 9
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 9
            aload 10
            if_acmpeq 29
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 9
            athrow
        end local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        30: .line 602
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx */
            ifnull 36
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 5
            aload 7 /* ctx */
            ifnull 32
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        32: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 6
            aload 5
            ifnonnull 34
            aload 6
            astore 5
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 5
            aload 6
            if_acmpeq 35
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 5
            athrow
        36: .line 603
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 3 // org.graalvm.polyglot.Context$Builder builder
        end local 2 // java.util.Map setLevelsMap
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   37     1    defaultLevel  Ljava/util/logging/Level;
            2   37     2    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            6   37     3         builder  Lorg/graalvm/polyglot/Context$Builder;
            8    9     4  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
           11   37     4         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           13   32     7             ctx  Lorg/graalvm/polyglot/Context;
           14   30     8        handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           16   26    11            ctx2  Lorg/graalvm/polyglot/Context;
           19   24    12        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          16    24      25  any
          15    27      27  any
          13    30      31  any
          12    33      33  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDisableLoggersSingleContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 607
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* setLevelsMap */
        start local 1 // java.util.Map setLevelsMap
         1: .line 608
            aload 1 /* setLevelsMap */
            aconst_null
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 609
            aload 1 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 610
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 2 /* builder */
        start local 2 // org.graalvm.polyglot.Context$Builder builder
         4: .line 611
            aload 1 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.Map org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* levelsMapEntry */
        start local 3 // java.util.Map$Entry levelsMapEntry
         6: .line 612
            aload 2 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 3 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 3 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 3 // java.util.Map$Entry levelsMapEntry
         7: .line 611
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 614
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 3 /* handler */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         9: .line 615
            aconst_null
            astore 4
            aconst_null
            astore 5
        10: aload 2 /* builder */
            aload 3 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
        11: .line 616
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 617
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* expected */
        start local 7 // java.util.List expected
        13: .line 618
            aload 7 /* expected */
            ldc "log1"
            aload 1 /* setLevelsMap */
            aconst_null
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.logging.Level
            aload 1 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 619
            aload 7 /* expected */
            aload 3 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // java.util.List expected
        15: .line 620
            aload 6 /* ctx */
            ifnull 21
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 21
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.Map org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        16: astore 4
            aload 6 /* ctx */
            ifnull 17
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
        21: .line 621
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 2 // org.graalvm.polyglot.Context$Builder builder
        end local 1 // java.util.Map setLevelsMap
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   22     1    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            4   22     2         builder  Lorg/graalvm/polyglot/Context$Builder;
            6    7     3  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
            9   22     3         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           11   17     6             ctx  Lorg/graalvm/polyglot/Context;
           13   15     7        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          11    15      16  any
          10    18      18  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDisableLoggersMultipleContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 625
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 626
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* setLevelsMap */
        start local 2 // java.util.Map setLevelsMap
         2: .line 627
            aload 2 /* setLevelsMap */
            aconst_null
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 628
            aload 2 /* setLevelsMap */
            ldc "a"
            getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 629
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 3 /* builder */
        start local 3 // org.graalvm.polyglot.Context$Builder builder
         5: .line 630
            aload 2 /* setLevelsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* levelsMapEntry */
        start local 4 // java.util.Map$Entry levelsMapEntry
         7: .line 631
            aload 3 /* builder */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
            dup
            iconst_2
            aload 4 /* levelsMapEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            pop
        end local 4 // java.util.Map$Entry levelsMapEntry
         8: .line 630
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 633
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 4 /* handler */
        start local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        10: .line 634
            aconst_null
            astore 5
            aconst_null
            astore 6
        11: aload 3 /* builder */
            aload 4 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 7 /* ctx */
        start local 7 // org.graalvm.polyglot.Context ctx
        12: .line 635
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 8 /* handler2 */
        start local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        13: .line 636
            aconst_null
            astore 9
            aconst_null
            astore 10
        14: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 8 /* handler2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 11 /* ctx2 */
        start local 11 // org.graalvm.polyglot.Context ctx2
        15: .line 637
            aload 7 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        16: .line 638
            aload 11 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 639
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        start local 12 // java.util.List expected
        18: .line 640
            aload 12 /* expected */
            ldc "log1"
            aload 2 /* setLevelsMap */
            aconst_null
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.logging.Level
            aload 2 /* setLevelsMap */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 641
            aload 12 /* expected */
            aload 4 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 642
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* expected */
        21: .line 643
            aload 12 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        22: .line 644
            aload 12 /* expected */
            aload 8 /* handler2 */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.util.List expected
        23: .line 645
            aload 11 /* ctx2 */
            ifnull 29
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level java.util.Map org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        24: astore 9
            aload 11 /* ctx2 */
            ifnull 25
            aload 11 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 11 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        25: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 10
            aload 9
            ifnonnull 27
            aload 10
            astore 9
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 9
            aload 10
            if_acmpeq 28
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 9
            athrow
        end local 8 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler2
        29: .line 646
      StackMap locals:
      StackMap stack:
            aload 7 /* ctx */
            ifnull 35
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 5
            aload 7 /* ctx */
            ifnull 31
            aload 7 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 7 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        31: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 6
            aload 5
            ifnonnull 33
            aload 6
            astore 5
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 5
            aload 6
            if_acmpeq 34
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 5
            athrow
        35: .line 647
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 3 // org.graalvm.polyglot.Context$Builder builder
        end local 2 // java.util.Map setLevelsMap
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   36     1    defaultLevel  Ljava/util/logging/Level;
            2   36     2    setLevelsMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            5   36     3         builder  Lorg/graalvm/polyglot/Context$Builder;
            7    8     4  levelsMapEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
           10   36     4         handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           12   31     7             ctx  Lorg/graalvm/polyglot/Context;
           13   29     8        handler2  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           15   25    11            ctx2  Lorg/graalvm/polyglot/Context;
           18   23    12        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          15    23      24  any
          14    26      26  any
          12    29      30  any
          11    32      32  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoContextLoggingBasic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 652
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 653
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
         2: .line 654
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            aload 2 /* engineHandler */
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
         4: .line 655
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 6 /* handler */
        start local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         5: .line 656
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
         7: .line 657
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         8: .line 658
            aload 9 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 659
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        10: .line 661
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 662
            aload 10 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 663
            aload 10 /* expected */
            aload 6 /* handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        13: .line 664
            aload 9 /* ctx */
            ifnull 19
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 19
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        14: astore 7
            aload 9 /* ctx */
            ifnull 15
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        15: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 8
            aload 7
            ifnonnull 17
            aload 8
            astore 7
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 7
            aload 8
            if_acmpeq 18
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 7
            athrow
        end local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        19: .line 665
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 25
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 3
            aload 5 /* eng */
            ifnull 21
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 3
            ifnonnull 23
            aload 4
            astore 3
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 3
            aload 4
            if_acmpeq 24
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 3
            athrow
        25: .line 666
      StackMap locals:
      StackMap stack:
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        26: .line 669
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        27: .line 670
            aconst_null
            astore 3
            aconst_null
            astore 4
        28: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
            aload 2 /* engineHandler */
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
        29: .line 671
            aconst_null
            astore 6
            aconst_null
            astore 7
        30: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx */
        start local 8 // org.graalvm.polyglot.Context ctx
        31: .line 672
            aload 8 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        32: .line 673
            aload 8 /* ctx */
            ldc "log2"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        33: .line 674
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* expected */
        start local 9 // java.util.List expected
        34: .line 676
            aload 9 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        35: .line 677
            aload 9 /* expected */
            ldc "log2"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        36: .line 678
            aload 9 /* expected */
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // java.util.List expected
        37: .line 679
            aload 8 /* ctx */
            ifnull 43
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 43
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        38: astore 6
            aload 8 /* ctx */
            ifnull 39
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 8 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        39: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 7
            aload 6
            ifnonnull 41
            aload 7
            astore 6
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 6
            aload 7
            if_acmpeq 42
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 6
            athrow
        43: .line 680
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 49
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 49
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 3
            aload 5 /* eng */
            ifnull 45
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        45: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 4
            aload 3
            ifnonnull 47
            aload 4
            astore 3
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 3
            aload 4
            if_acmpeq 48
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        48: aload 3
            athrow
        49: .line 681
      StackMap locals:
      StackMap stack:
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        50: .line 684
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        51: .line 685
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 3 /* delegate */
        start local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        52: .line 686
            aload 3 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
        53: .line 687
            aload 3 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
        54: .line 688
            aconst_null
            astore 4
            aconst_null
            astore 5
        55: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
        56: .line 689
            aload 2 /* engineHandler */
        57: .line 688
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
        58: .line 689
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
        59: .line 688
            astore 6 /* eng */
        start local 6 // org.graalvm.polyglot.Engine eng
        60: .line 690
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        61: .line 691
            aconst_null
            astore 7
            aconst_null
            astore 8
        62: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        63: .line 692
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        64: .line 693
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        65: .line 694
            aload 10 /* expected */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        66: .line 695
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        67: .line 696
            aload 10 /* expected */
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        68: .line 697
            aload 9 /* ctx */
            ifnull 74
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 74
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        69: astore 7
            aload 9 /* ctx */
            ifnull 70
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        70: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: astore 8
            aload 7
            ifnonnull 72
            aload 8
            astore 7
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 7
            aload 8
            if_acmpeq 73
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        73: aload 7
            athrow
        74: .line 698
      StackMap locals:
      StackMap stack:
            aload 6 /* eng */
            ifnull 80
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
        75: astore 4
            aload 6 /* eng */
            ifnull 76
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 6 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        76: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        77: astore 5
            aload 4
            ifnonnull 78
            aload 5
            astore 4
            goto 79
      StackMap locals:
      StackMap stack:
        78: aload 4
            aload 5
            if_acmpeq 79
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        79: aload 4
            athrow
        80: .line 702
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        81: .line 703
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 3 /* delegate */
        82: .line 704
            aload 3 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
        83: .line 705
            aload 3 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
        84: .line 706
            aconst_null
            astore 4
            aconst_null
            astore 5
        85: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
        86: .line 707
            aload 2 /* engineHandler */
        87: .line 706
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
        88: .line 707
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
        89: .line 706
            astore 6 /* eng */
        start local 6 // org.graalvm.polyglot.Engine eng
        90: .line 708
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        91: .line 709
            aconst_null
            astore 7
            aconst_null
            astore 8
        92: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        93: .line 710
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        94: .line 711
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        95: .line 712
            aload 10 /* expected */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        96: .line 713
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        97: .line 714
            aload 10 /* expected */
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        98: .line 715
            aload 9 /* ctx */
            ifnull 104
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 104
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        99: astore 7
            aload 9 /* ctx */
            ifnull 100
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
       100: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       101: astore 8
            aload 7
            ifnonnull 102
            aload 8
            astore 7
            goto 103
      StackMap locals:
      StackMap stack:
       102: aload 7
            aload 8
            if_acmpeq 103
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       103: aload 7
            athrow
       104: .line 716
      StackMap locals:
      StackMap stack:
            aload 6 /* eng */
            ifnull 110
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 110
      StackMap locals:
      StackMap stack: java.lang.Throwable
       105: astore 4
            aload 6 /* eng */
            ifnull 106
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 6 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
       106: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       107: astore 5
            aload 4
            ifnonnull 108
            aload 5
            astore 4
            goto 109
      StackMap locals:
      StackMap stack:
       108: aload 4
            aload 5
            if_acmpeq 109
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       109: aload 4
            athrow
       110: .line 717
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  111     0           this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1  111     1   defaultLevel  Ljava/util/logging/Level;
            2  111     2  engineHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            4   21     5            eng  Lorg/graalvm/polyglot/Engine;
            5   19     6        handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            7   15     9            ctx  Lorg/graalvm/polyglot/Context;
           10   13    10       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           29   45     5            eng  Lorg/graalvm/polyglot/Engine;
           31   39     8            ctx  Lorg/graalvm/polyglot/Context;
           34   37     9       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           52  111     3       delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
           60   76     6            eng  Lorg/graalvm/polyglot/Engine;
           63   70     9            ctx  Lorg/graalvm/polyglot/Context;
           65   68    10       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           90  106     6            eng  Lorg/graalvm/polyglot/Engine;
           93  100     9            ctx  Lorg/graalvm/polyglot/Context;
           95   98    10       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
           7    13      14  any
           6    16      16  any
           4    19      20  any
           3    22      22  any
          31    37      38  any
          30    40      40  any
          29    43      44  any
          28    46      46  any
          63    68      69  any
          62    71      71  any
          60    74      75  any
          55    77      77  any
          93    98      99  any
          92   101     101  any
          90   104     105  any
          85   107     107  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoContextLoggingDefault();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 721
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            astore 1 /* defaultLevel */
        start local 1 // java.util.logging.Level defaultLevel
         1: .line 723
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
         2: .line 724
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 3 /* delegate */
        start local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
         3: .line 725
            aload 3 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
         4: .line 726
            aload 3 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
         5: .line 727
            aconst_null
            astore 4
            aconst_null
            astore 5
         6: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            aload 2 /* engineHandler */
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
            astore 6 /* eng */
        start local 6 // org.graalvm.polyglot.Engine eng
         7: .line 728
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
         8: .line 729
            aconst_null
            astore 7
            aconst_null
            astore 8
         9: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        10: .line 730
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        11: .line 731
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        12: .line 732
            aload 10 /* expected */
            ldc "proxyInstrument"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        13: .line 733
            aload 10 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 734
            aload 10 /* expected */
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        15: .line 735
            aload 9 /* ctx */
            ifnull 21
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 21
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        16: astore 7
            aload 9 /* ctx */
            ifnull 17
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        17: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 8
            aload 7
            ifnonnull 19
            aload 8
            astore 7
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 7
            aload 8
            if_acmpeq 20
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 7
            athrow
        21: .line 736
      StackMap locals:
      StackMap stack:
            aload 6 /* eng */
            ifnull 27
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 6 /* eng */
            ifnull 23
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 6 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        23: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 5
            aload 4
            ifnonnull 25
            aload 5
            astore 4
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 4
            aload 5
            if_acmpeq 26
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 4
            athrow
        27: .line 739
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engineHandler */
        28: .line 740
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 3 /* delegate */
        29: .line 741
            aload 3 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
        30: .line 742
            aload 3 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
        31: .line 743
            aconst_null
            astore 4
            aconst_null
            astore 5
        32: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            aload 2 /* engineHandler */
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
            astore 6 /* eng */
        start local 6 // org.graalvm.polyglot.Engine eng
        33: .line 744
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        34: .line 745
            aconst_null
            astore 7
            aconst_null
            astore 8
        35: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        36: .line 746
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        37: .line 747
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        38: .line 748
            aload 10 /* expected */
            ldc "proxyInstrument"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        39: .line 749
            aload 10 /* expected */
            ldc "log1"
            aload 1 /* defaultLevel */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        40: .line 750
            aload 10 /* expected */
            aload 2 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        41: .line 751
            aload 9 /* ctx */
            ifnull 47
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 47
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.util.logging.Level com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        42: astore 7
            aload 9 /* ctx */
            ifnull 43
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        43: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 8
            aload 7
            ifnonnull 45
            aload 8
            astore 7
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 7
            aload 8
            if_acmpeq 46
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        46: aload 7
            athrow
        47: .line 752
      StackMap locals:
      StackMap stack:
            aload 6 /* eng */
            ifnull 53
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 53
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 4
            aload 6 /* eng */
            ifnull 49
            aload 6 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 6 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        49: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 5
            aload 4
            ifnonnull 51
            aload 5
            astore 4
            goto 52
      StackMap locals:
      StackMap stack:
        51: aload 4
            aload 5
            if_acmpeq 52
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        52: aload 4
            athrow
        53: .line 753
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   54     0           this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   54     1   defaultLevel  Ljava/util/logging/Level;
            2   54     2  engineHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   54     3       delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            7   23     6            eng  Lorg/graalvm/polyglot/Engine;
           10   17     9            ctx  Lorg/graalvm/polyglot/Context;
           12   15    10       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           33   49     6            eng  Lorg/graalvm/polyglot/Engine;
           36   43     9            ctx  Lorg/graalvm/polyglot/Context;
           38   41    10       expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          10    15      16  any
           9    18      18  any
           7    21      22  any
           6    24      24  any
          36    41      42  any
          35    44      44  any
          33    47      48  any
          32    50      50  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoContextLoggingEngineAndContextHandler();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 758
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* engineHandler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
         1: .line 759
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 2 /* delegate */
        start local 2 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
         2: .line 760
            aload 2 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
         3: .line 761
            aload 2 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
         4: .line 762
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
         6: .line 763
            aload 1 /* engineHandler */
         7: .line 762
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
         8: .line 763
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
         9: .line 762
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
        10: .line 764
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        11: .line 765
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 6 /* contextHandler */
        start local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
        12: .line 766
            aconst_null
            astore 7
            aconst_null
            astore 8
        13: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* contextHandler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        14: .line 767
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        15: .line 768
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        16: .line 769
            aload 10 /* expected */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 770
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 771
            aload 10 /* expected */
            aload 6 /* contextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 772
            aload 1 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 10 // java.util.List expected
        20: .line 773
            aload 9 /* ctx */
            ifnull 26
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 26
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        21: astore 7
            aload 9 /* ctx */
            ifnull 22
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        22: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 8
            aload 7
            ifnonnull 24
            aload 8
            astore 7
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 7
            aload 8
            if_acmpeq 25
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 7
            athrow
        end local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
        26: .line 774
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 32
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 3
            aload 5 /* eng */
            ifnull 28
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        28: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 4
            aload 3
            ifnonnull 30
            aload 4
            astore 3
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 3
            aload 4
            if_acmpeq 31
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 3
            athrow
        32: .line 777
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* engineHandler */
        33: .line 778
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 2 /* delegate */
        34: .line 779
            aload 2 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
        35: .line 780
            aload 2 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
        36: .line 781
            aconst_null
            astore 3
            aconst_null
            astore 4
        37: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
        38: .line 782
            aload 1 /* engineHandler */
        39: .line 781
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
        40: .line 782
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
        41: .line 781
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
        42: .line 783
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        43: .line 784
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 6 /* contextHandler */
        start local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
        44: .line 785
            aconst_null
            astore 7
            aconst_null
            astore 8
        45: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* contextHandler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx */
        start local 9 // org.graalvm.polyglot.Context ctx
        46: .line 786
            aload 9 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        47: .line 787
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expectedInEngine */
        start local 10 // java.util.List expectedInEngine
        48: .line 788
            aload 10 /* expectedInEngine */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        49: .line 789
            aload 10 /* expectedInEngine */
            aload 1 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        50: .line 790
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* expectedInContext */
        start local 11 // java.util.List expectedInContext
        51: .line 791
            aload 11 /* expectedInContext */
            ldc "log1"
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        52: .line 792
            aload 11 /* expectedInContext */
            aload 6 /* contextHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 11 // java.util.List expectedInContext
        end local 10 // java.util.List expectedInEngine
        53: .line 793
            aload 9 /* ctx */
            ifnull 59
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 59
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        54: astore 7
            aload 9 /* ctx */
            ifnull 55
            aload 9 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        55: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 8
            aload 7
            ifnonnull 57
            aload 8
            astore 7
            goto 58
      StackMap locals:
      StackMap stack:
        57: aload 7
            aload 8
            if_acmpeq 58
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        58: aload 7
            athrow
        end local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler contextHandler
        59: .line 794
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 65
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 65
      StackMap locals:
      StackMap stack: java.lang.Throwable
        60: astore 3
            aload 5 /* eng */
            ifnull 61
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        61: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 4
            aload 3
            ifnonnull 63
            aload 4
            astore 3
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 3
            aload 4
            if_acmpeq 64
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 3
            athrow
        65: .line 795
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   66     0               this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   66     1      engineHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            2   66     2           delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
           10   28     5                eng  Lorg/graalvm/polyglot/Engine;
           12   26     6     contextHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           14   22     9                ctx  Lorg/graalvm/polyglot/Context;
           16   20    10           expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           42   61     5                eng  Lorg/graalvm/polyglot/Engine;
           44   59     6     contextHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
           46   55     9                ctx  Lorg/graalvm/polyglot/Context;
           48   53    10   expectedInEngine  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
           51   53    11  expectedInContext  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          14    20      21  any
          13    23      23  any
          10    26      27  any
           5    29      29  any
          46    53      54  any
          45    56      56  any
          42    59      60  any
          37    62      62  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoContextLoggingMultipleEngines();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 799
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* engine1Handler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engine1Handler
         1: .line 800
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* engine2Handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engine2Handler
         2: .line 801
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 3 /* delegate */
        start local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
         3: .line 802
            aload 3 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging.<init>:(Z)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
         4: .line 803
            aload 3 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
         5: .line 804
            aconst_null
            astore 4
            aconst_null
            astore 5
         6: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
         7: .line 805
            aload 1 /* engine1Handler */
         8: .line 804
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
         9: .line 805
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
        10: .line 804
            astore 6 /* eng1 */
        start local 6 // org.graalvm.polyglot.Engine eng1
        11: .line 806
            aconst_null
            astore 7
            aconst_null
            astore 8
        12: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
        13: .line 807
            aload 2 /* engine2Handler */
        14: .line 806
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
        15: .line 807
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
        16: .line 806
            astore 9 /* eng2 */
        start local 9 // org.graalvm.polyglot.Engine eng2
        17: .line 808
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        18: .line 809
            aconst_null
            astore 10
            aconst_null
            astore 11
        19: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 6 /* eng1 */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 12 /* ctx */
        start local 12 // org.graalvm.polyglot.Context ctx
        20: .line 810
            aload 12 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        21: .line 811
            aload 12 /* ctx */
            ifnull 27
            aload 12 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 27
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        22: astore 10
            aload 12 /* ctx */
            ifnull 23
            aload 12 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 12 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        23: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 11
            aload 10
            ifnonnull 25
            aload 11
            astore 10
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 10
            aload 11
            if_acmpeq 26
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 10
            athrow
        27: .line 812
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        28: .line 813
            aconst_null
            astore 10
            aconst_null
            astore 11
        29: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 9 /* eng2 */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 12 /* ctx */
        start local 12 // org.graalvm.polyglot.Context ctx
        30: .line 814
            aload 12 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        31: .line 815
            aload 12 /* ctx */
            ifnull 37
            aload 12 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 37
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler com.oracle.truffle.api.test.polyglot.ProxyInstrument java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        32: astore 10
            aload 12 /* ctx */
            ifnull 33
            aload 12 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 12 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        33: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 11
            aload 10
            ifnonnull 35
            aload 11
            astore 10
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 10
            aload 11
            if_acmpeq 36
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 10
            athrow
        37: .line 816
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* expected */
        start local 10 // java.util.List expected
        38: .line 817
            aload 10 /* expected */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        39: .line 818
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        40: .line 819
            aload 10 /* expected */
            aload 1 /* engine1Handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        41: .line 820
            aload 10 /* expected */
            invokeinterface java.util.List.clear:()V
        42: .line 821
            aload 10 /* expected */
            ldc "proxyInstrument"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        43: .line 822
            aload 10 /* expected */
            ldc "log1"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        44: .line 823
            aload 10 /* expected */
            aload 2 /* engine2Handler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.util.List expected
        45: .line 824
            aload 9 /* eng2 */
            ifnull 51
            aload 9 /* eng2 */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 7
            aload 9 /* eng2 */
            ifnull 47
            aload 9 /* eng2 */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 9 // org.graalvm.polyglot.Engine eng2
      StackMap locals:
      StackMap stack:
        47: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 8
            aload 7
            ifnonnull 49
            aload 8
            astore 7
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 7
            aload 8
            if_acmpeq 50
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 7
            athrow
        51: .line 825
      StackMap locals:
      StackMap stack:
            aload 6 /* eng1 */
            ifnull 57
            aload 6 /* eng1 */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 57
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 4
            aload 6 /* eng1 */
            ifnull 53
            aload 6 /* eng1 */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 6 // org.graalvm.polyglot.Engine eng1
      StackMap locals:
      StackMap stack:
        53: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: astore 5
            aload 4
            ifnonnull 55
            aload 5
            astore 4
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 4
            aload 5
            if_acmpeq 56
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        56: aload 4
            athrow
        57: .line 826
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engine2Handler
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engine1Handler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   58     0            this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   58     1  engine1Handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            2   58     2  engine2Handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            3   58     3        delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
           11   53     6            eng1  Lorg/graalvm/polyglot/Engine;
           17   47     9            eng2  Lorg/graalvm/polyglot/Engine;
           20   23    12             ctx  Lorg/graalvm/polyglot/Context;
           30   33    12             ctx  Lorg/graalvm/polyglot/Context;
           38   45    10        expected  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          20    21      22  any
          19    24      24  any
          30    31      32  any
          29    34      34  any
          17    45      46  any
          12    48      48  any
          11    51      52  any
           6    54      54  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoContextLoggingDefaultTruffleLogger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 830
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 1 /* engineHandler */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
         1: .line 831
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newEngineBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
         3: .line 832
            aload 1 /* engineHandler */
         4: .line 831
            invokevirtual org.graalvm.polyglot.Engine$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Engine$Builder;
         5: .line 832
            invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
         6: .line 831
            astore 4 /* eng */
        start local 4 // org.graalvm.polyglot.Engine eng
         7: .line 833
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 5 /* loggerRef */
        start local 5 // java.util.concurrent.atomic.AtomicReference loggerRef
         8: .line 834
            new com.oracle.truffle.api.test.polyglot.LoggingTest$4
            dup
            aload 0 /* this */
            aload 5 /* loggerRef */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$4.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;Ljava/util/concurrent/atomic/AtomicReference;)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
         9: .line 842
            aconst_null
            astore 6
            aconst_null
            astore 7
        10: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 4 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx */
        start local 8 // org.graalvm.polyglot.Context ctx
        11: .line 843
            aload 8 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 845
            aload 5 /* loggerRef */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleLogger
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            ldc "Should not be logged."
            invokevirtual com.oracle.truffle.api.TruffleLogger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        13: .line 846
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.assertionsEnabled:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        14: .line 847
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.util.concurrent.atomic.AtomicReference java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.IllegalStateException
        15: pop
        16: .line 850
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* expectedInEngine */
        start local 9 // java.util.List expectedInEngine
        17: .line 851
            aload 9 /* expectedInEngine */
            ldc "log1"
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createExpectedLog:(Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 852
            aload 9 /* expectedInEngine */
            aload 1 /* engineHandler */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.getLog:()Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // java.util.List expectedInEngine
        19: .line 853
            aload 8 /* ctx */
            ifnull 25
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 6
            aload 8 /* ctx */
            ifnull 21
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 8 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        21: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 7
            aload 6
            ifnonnull 23
            aload 7
            astore 6
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 6
            aload 7
            if_acmpeq 24
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 6
            athrow
        end local 5 // java.util.concurrent.atomic.AtomicReference loggerRef
        25: .line 854
      StackMap locals:
      StackMap stack:
            aload 4 /* eng */
            ifnull 31
            aload 4 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
            aload 4 /* eng */
            ifnull 27
            aload 4 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 4 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        27: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 3
            aload 2
            ifnonnull 29
            aload 3
            astore 2
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 2
            aload 3
            if_acmpeq 30
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 2
            athrow
        31: .line 855
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler engineHandler
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   32     1     engineHandler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            7   27     4               eng  Lorg/graalvm/polyglot/Engine;
            8   25     5         loggerRef  Ljava/util/concurrent/atomic/AtomicReference<Lcom/oracle/truffle/api/TruffleLogger;>;
           11   21     8               ctx  Lorg/graalvm/polyglot/Context;
           17   19     9  expectedInEngine  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
      Exception table:
        from    to  target  type
          12    14      15  Class java.lang.IllegalStateException
          11    19      20  any
          10    22      22  any
           7    25      26  any
           2    28      28  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testEngineLoggerIdentity();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 859
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 1 /* delegate */
        start local 1 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
         1: .line 860
            new java.util.concurrent.atomic.AtomicReferenceArray
            dup
            iconst_2
            invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
            astore 2 /* eng1Loggers */
        start local 2 // java.util.concurrent.atomic.AtomicReferenceArray eng1Loggers
         2: .line 861
            aload 1 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$5
            dup
            aload 0 /* this */
            aload 2 /* eng1Loggers */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$5.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
         3: .line 875
            aload 1 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
         4: .line 876
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
         6: .line 877
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
         7: .line 878
            aconst_null
            astore 6
            aconst_null
            astore 7
         8: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx */
        start local 8 // org.graalvm.polyglot.Context ctx
         9: .line 879
            aload 8 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        10: .line 880
            aload 8 /* ctx */
            ifnull 16
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.ProxyInstrument java.util.concurrent.atomic.AtomicReferenceArray java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 6
            aload 8 /* ctx */
            ifnull 12
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 8 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 7
            aload 6
            ifnonnull 14
            aload 7
            astore 6
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 6
            aload 7
            if_acmpeq 15
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 6
            athrow
        16: .line 881
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 22
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 3
            aload 5 /* eng */
            ifnull 18
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        18: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 4
            aload 3
            ifnonnull 20
            aload 4
            astore 3
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 3
            aload 4
            if_acmpeq 21
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
        22: .line 882
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 1 /* delegate */
        23: .line 883
            aload 1 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$6
            dup
            aload 0 /* this */
            aload 2 /* eng1Loggers */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$6.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;Ljava/util/concurrent/atomic/AtomicReferenceArray;)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
        24: .line 893
            aload 1 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
        25: .line 894
            aconst_null
            astore 3
            aconst_null
            astore 4
        26: invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
            astore 5 /* eng */
        start local 5 // org.graalvm.polyglot.Engine eng
        27: .line 895
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_0
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
        28: .line 896
            aconst_null
            astore 6
            aconst_null
            astore 7
        29: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 8 /* ctx */
        start local 8 // org.graalvm.polyglot.Context ctx
        30: .line 897
            aload 8 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        31: .line 898
            aload 8 /* ctx */
            ifnull 37
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 37
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest com.oracle.truffle.api.test.polyglot.ProxyInstrument java.util.concurrent.atomic.AtomicReferenceArray java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        32: astore 6
            aload 8 /* ctx */
            ifnull 33
            aload 8 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 8 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        33: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 7
            aload 6
            ifnonnull 35
            aload 7
            astore 6
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 6
            aload 7
            if_acmpeq 36
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 6
            athrow
        37: .line 899
      StackMap locals:
      StackMap stack:
            aload 5 /* eng */
            ifnull 43
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 3
            aload 5 /* eng */
            ifnull 39
            aload 5 /* eng */
            invokevirtual org.graalvm.polyglot.Engine.close:()V
        end local 5 // org.graalvm.polyglot.Engine eng
      StackMap locals:
      StackMap stack:
        39: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 4
            aload 3
            ifnonnull 41
            aload 4
            astore 3
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 3
            aload 4
            if_acmpeq 42
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 3
            athrow
        43: .line 900
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.atomic.AtomicReferenceArray eng1Loggers
        end local 1 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0         this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   44     1     delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            2   44     2  eng1Loggers  Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/oracle/truffle/api/TruffleLogger;>;
            6   18     5          eng  Lorg/graalvm/polyglot/Engine;
            9   12     8          ctx  Lorg/graalvm/polyglot/Context;
           27   39     5          eng  Lorg/graalvm/polyglot/Engine;
           30   33     8          ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
           6    16      17  any
           5    19      19  any
          30    31      32  any
          29    34      34  any
          27    37      38  any
          26    40      40  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testErrorStream();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 904
            ldc "polyglot.log.file"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic org.junit.Assume.assumeTrue:(Z)V
         3: .line 905
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* errConsumer */
        start local 1 // java.io.ByteArrayOutputStream errConsumer
         4: .line 906
            new com.oracle.truffle.api.test.polyglot.ProxyInstrument
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.ProxyInstrument.<init>:()V
            astore 2 /* delegate */
        start local 2 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
         5: .line 907
            aload 2 /* delegate */
            new com.oracle.truffle.api.test.polyglot.LoggingTest$7
            dup
            aload 0 /* this */
            aload 1 /* errConsumer */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$7.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;Ljava/io/ByteArrayOutputStream;)V
            invokevirtual com.oracle.truffle.api.test.polyglot.ProxyInstrument.setOnCreate:(Ljava/util/function/Consumer;)V
         6: .line 914
            aload 2 /* delegate */
            invokestatic com.oracle.truffle.api.test.polyglot.ProxyInstrument.setDelegate:(Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;)Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            pop
         7: .line 915
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction
            dup
            iconst_1
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction.<init>:(Z)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
         8: .line 916
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* err */
        start local 3 // java.io.ByteArrayOutputStream err
         9: .line 917
            aconst_null
            astore 4
            aconst_null
            astore 5
        10: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            aload 3 /* err */
            invokevirtual org.graalvm.polyglot.Context$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "proxyInstrument"
            aastore
            dup
            iconst_4
            aconst_null
            aastore
            dup
            iconst_5
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
        11: .line 918
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 919
            aload 6 /* ctx */
            ifnull 18
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 18
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.io.ByteArrayOutputStream com.oracle.truffle.api.test.polyglot.ProxyInstrument java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 6 /* ctx */
            ifnull 14
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        14: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 5
            aload 4
            ifnonnull 16
            aload 5
            astore 4
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 4
            aload 5
            if_acmpeq 17
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
        18: .line 920
      StackMap locals:
      StackMap stack:
            lconst_0
            aload 3 /* err */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            arraylength
            i2l
            invokestatic org.junit.Assert.assertNotEquals:(JJ)V
        19: .line 921
            lconst_0
            aload 1 /* errConsumer */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        20: .line 922
            return
        end local 3 // java.io.ByteArrayOutputStream err
        end local 2 // com.oracle.truffle.api.test.polyglot.ProxyInstrument delegate
        end local 1 // java.io.ByteArrayOutputStream errConsumer
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            4   21     1  errConsumer  Ljava/io/ByteArrayOutputStream;
            5   21     2     delegate  Lcom/oracle/truffle/api/test/polyglot/ProxyInstrument;
            9   21     3          err  Ljava/io/ByteArrayOutputStream;
           11   14     6          ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
          11    12      13  any
          10    15      15  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidId();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 926
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            astore 1 /* builder */
        start local 1 // org.graalvm.polyglot.Context$Builder builder
         1: .line 927
            new com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler.<init>:()V
            astore 2 /* handler */
        start local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
         2: .line 928
            new com.oracle.truffle.api.test.polyglot.LoggingTest$8
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$8.<init>:(Lcom/oracle/truffle/api/test/polyglot/LoggingTest;)V
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst.action:Ljava/util/function/BiPredicate;
         3: .line 952
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: aload 1 /* builder */
            aload 2 /* handler */
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/util/logging/Handler;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         5: .line 953
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         6: .line 954
            aload 5 /* ctx */
            ifnull 12
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 12
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 5 /* ctx */
            ifnull 8
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 4
            aload 3
            ifnonnull 10
            aload 4
            astore 3
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 3
            aload 4
            if_acmpeq 11
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
        12: .line 955
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler handler
        end local 1 // org.graalvm.polyglot.Context$Builder builder
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   13     1  builder  Lorg/graalvm/polyglot/Context$Builder;
            2   13     2  handler  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$TestHandler;
            5    8     5      ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogFileOption();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 959
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "log"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* f */
        start local 1 // java.io.File f
         1: .line 960
            ldc "expected_message"
            astore 2 /* expectedMessage */
        start local 2 // java.lang.String expectedMessage
         2: .line 962
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
         3: .line 963
            iconst_1
            anewarray java.lang.String
         4: .line 964
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* expectedMessage */
            aastore
         5: .line 961
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         6: .line 965
            aconst_null
            astore 3
            aconst_null
            astore 4
         7: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 1 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 5 /* ctx */
        start local 5 // org.graalvm.polyglot.Context ctx
         8: .line 966
            aload 5 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         9: .line 967
            aload 5 /* ctx */
            ifnull 15
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 15
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.io.File java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* ctx */
            ifnull 11
            aload 5 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 5 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 968
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;)Ljava/util/List;
            astore 3 /* lines */
        start local 3 // java.util.List lines
        16: .line 969
            lconst_1
            aload 3 /* lines */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 970
            aload 3 /* lines */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* expectedMessage */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 971
            return
        end local 3 // java.util.List lines
        end local 2 // java.lang.String expectedMessage
        end local 1 // java.io.File f
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   19     1                f  Ljava/io/File;
            2   19     2  expectedMessage  Ljava/lang/String;
            8   11     5              ctx  Lorg/graalvm/polyglot/Context;
           16   19     3            lines  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           8     9      10  any
           7    12      12  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogFileOptionMultpileContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 975
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "log"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* f */
        start local 1 // java.io.File f
         1: .line 976
            ldc "expected_message1"
            astore 2 /* expectedMessageFirstCtx */
        start local 2 // java.lang.String expectedMessageFirstCtx
         2: .line 977
            ldc "expected_message2"
            astore 3 /* expectedMessageSecondCtx */
        start local 3 // java.lang.String expectedMessageSecondCtx
         3: .line 979
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
         4: .line 980
            iconst_1
            anewarray java.lang.String
         5: .line 981
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* expectedMessageFirstCtx */
            aastore
         6: .line 978
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         7: .line 982
            aconst_null
            astore 4
            aconst_null
            astore 5
         8: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 1 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
         9: .line 983
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        10: .line 984
            aload 6 /* ctx */
            ifnull 16
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 16
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.io.File java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        11: astore 4
            aload 6 /* ctx */
            ifnull 12
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 5
            aload 4
            ifnonnull 14
            aload 5
            astore 4
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 4
            aload 5
            if_acmpeq 15
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
        16: .line 986
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
        17: .line 987
            iconst_1
            anewarray java.lang.String
        18: .line 988
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* expectedMessageSecondCtx */
            aastore
        19: .line 985
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
        20: .line 989
            aconst_null
            astore 4
            aconst_null
            astore 5
        21: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 1 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
        22: .line 990
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        23: .line 991
            aload 6 /* ctx */
            ifnull 29
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.io.File java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        24: astore 4
            aload 6 /* ctx */
            ifnull 25
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        25: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 5
            aload 4
            ifnonnull 27
            aload 5
            astore 4
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 4
            aload 5
            if_acmpeq 28
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 4
            athrow
        29: .line 992
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;)Ljava/util/List;
            astore 4 /* lines */
        start local 4 // java.util.List lines
        30: .line 993
            ldc 2
            aload 4 /* lines */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        31: .line 994
            aload 4 /* lines */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* expectedMessageFirstCtx */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        32: .line 995
            aload 4 /* lines */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* expectedMessageSecondCtx */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        33: .line 996
            return
        end local 4 // java.util.List lines
        end local 3 // java.lang.String expectedMessageSecondCtx
        end local 2 // java.lang.String expectedMessageFirstCtx
        end local 1 // java.io.File f
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   34     0                      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   34     1                         f  Ljava/io/File;
            2   34     2   expectedMessageFirstCtx  Ljava/lang/String;
            3   34     3  expectedMessageSecondCtx  Ljava/lang/String;
            9   12     6                       ctx  Lorg/graalvm/polyglot/Context;
           22   25     6                       ctx  Lorg/graalvm/polyglot/Context;
           30   34     4                     lines  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
          22    23      24  any
          21    26      26  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogFileOptionMultpileContextsNested();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 1000
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "log"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* f */
        start local 1 // java.io.File f
         1: .line 1001
            ldc "expected_message1"
            astore 2 /* expectedMessageFirstCtx */
        start local 2 // java.lang.String expectedMessageFirstCtx
         2: .line 1002
            ldc "expected_message2"
            astore 3 /* expectedMessageSecondCtx */
        start local 3 // java.lang.String expectedMessageSecondCtx
         3: .line 1004
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
         4: .line 1005
            iconst_1
            anewarray java.lang.String
         5: .line 1006
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* expectedMessageFirstCtx */
            aastore
         6: .line 1003
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         7: .line 1007
            aconst_null
            astore 4
            aconst_null
            astore 5
         8: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 1 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
         9: .line 1008
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        10: .line 1010
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
        11: .line 1011
            iconst_1
            anewarray java.lang.String
        12: .line 1012
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* expectedMessageSecondCtx */
            aastore
        13: .line 1009
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
        14: .line 1013
            aconst_null
            astore 7
            aconst_null
            astore 8
        15: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 1 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 9 /* ctx2 */
        start local 9 // org.graalvm.polyglot.Context ctx2
        16: .line 1014
            aload 9 /* ctx2 */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        17: .line 1015
            aload 9 /* ctx2 */
            ifnull 23
            aload 9 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 23
      StackMap locals: com.oracle.truffle.api.test.polyglot.LoggingTest java.io.File java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        18: astore 7
            aload 9 /* ctx2 */
            ifnull 19
            aload 9 /* ctx2 */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 9 // org.graalvm.polyglot.Context ctx2
      StackMap locals:
      StackMap stack:
        19: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 8
            aload 7
            ifnonnull 21
            aload 8
            astore 7
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 7
            aload 8
            if_acmpeq 22
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 7
            athrow
        23: .line 1016
      StackMap locals:
      StackMap stack:
            aload 6 /* ctx */
            ifnull 29
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 4
            aload 6 /* ctx */
            ifnull 25
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
        25: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 5
            aload 4
            ifnonnull 27
            aload 5
            astore 4
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 4
            aload 5
            if_acmpeq 28
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 4
            athrow
        29: .line 1017
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;)Ljava/util/List;
            astore 4 /* lines */
        start local 4 // java.util.List lines
        30: .line 1018
            ldc 2
            aload 4 /* lines */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        31: .line 1019
            aload 4 /* lines */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* expectedMessageFirstCtx */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        32: .line 1020
            aload 4 /* lines */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* expectedMessageSecondCtx */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        33: .line 1021
            return
        end local 4 // java.util.List lines
        end local 3 // java.lang.String expectedMessageSecondCtx
        end local 2 // java.lang.String expectedMessageFirstCtx
        end local 1 // java.io.File f
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   34     0                      this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1   34     1                         f  Ljava/io/File;
            2   34     2   expectedMessageFirstCtx  Ljava/lang/String;
            3   34     3  expectedMessageSecondCtx  Ljava/lang/String;
            9   25     6                       ctx  Lorg/graalvm/polyglot/Context;
           16   19     9                      ctx2  Lorg/graalvm/polyglot/Context;
           30   34     4                     lines  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          16    17      18  any
          15    20      20  any
           9    23      24  any
           8    26      26  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLogFileOptionNonWritableFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
         0: .line 1025
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "log"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* f */
        start local 1 // java.io.File f
         1: .line 1026
            aload 1 /* f */
            iconst_0
            invokevirtual java.io.File.setWritable:(Z)Z
            pop
         2: .line 1028
            ldc "File cannot be writeable."
            aload 1 /* f */
            invokevirtual java.io.File.canWrite:()Z
            invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
         3: .line 1029
            aload 1 /* f */
            invokedynamic run(Ljava/io/File;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/oracle/truffle/api/test/polyglot/LoggingTest.lambda$0(Ljava/io/File;)V (6)
                  ()V
         4: .line 1033
            ldc Ljava/lang/IllegalArgumentException;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/api/test/polyglot/LoggingTest.lambda$1(Ljava/lang/IllegalArgumentException;)V (6)
                  (Ljava/lang/IllegalArgumentException;)V
         5: .line 1029
            invokestatic com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.assertFails:(Ljava/lang/Runnable;Ljava/lang/Class;Ljava/util/function/Consumer;)V
         6: .line 1036
            return
        end local 1 // java.io.File f
        end local 0 // com.oracle.truffle.api.test.polyglot.LoggingTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/test/polyglot/LoggingTest;
            1    7     1     f  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean assertionsEnabled();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1040
            iconst_0
            istore 0 /* assertionsEnabled */
        start local 0 // boolean assertionsEnabled
         1: .line 1041
            getstatic com.oracle.truffle.api.test.polyglot.LoggingTest.$assertionsDisabled:Z
            ifne 2
            iconst_1
            dup
            istore 0 /* assertionsEnabled */
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1042
      StackMap locals: int
      StackMap stack:
            iload 0 /* assertionsEnabled */
            ireturn
        end local 0 // boolean assertionsEnabled
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1    3     0  assertionsEnabled  Z

  private static java.util.function.BiPredicate<com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingContext, com.oracle.truffle.api.TruffleLogger[]> createCustomLogging(java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String[] loggerIds
        start local 1 // java.lang.String[] loggerNames
        start local 2 // java.lang.String[] messages
         0: .line 1046
            aload 0 /* loggerIds */
            arraylength
            aload 1 /* loggerNames */
            arraylength
            if_icmpne 1
            aload 1 /* loggerNames */
            arraylength
            aload 2 /* messages */
            arraylength
            if_icmpeq 2
         1: .line 1047
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "loggerIds, loggerNames and messages hsve to have same length."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1049
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.api.test.polyglot.LoggingTest$9
            dup
            aload 0 /* loggerIds */
            aload 1 /* loggerNames */
            aload 2 /* messages */
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$9.<init>:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String[] messages
        end local 1 // java.lang.String[] loggerNames
        end local 0 // java.lang.String[] loggerIds
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0    loggerIds  [Ljava/lang/String;
            0    3     1  loggerNames  [Ljava/lang/String;
            0    3     2     messages  [Ljava/lang/String;
    Signature: ([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate<Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggingContext;[Lcom/oracle/truffle/api/TruffleLogger;>;
    MethodParameters:
             Name  Flags
      loggerIds    
      loggerNames  
      messages     

  private static void testLogToStream(org.graalvm.polyglot.Context$Builder, com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream, boolean, boolean);
    descriptor: (Lorg/graalvm/polyglot/Context$Builder;Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;ZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // org.graalvm.polyglot.Context$Builder contextBuilder
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream stream
        start local 2 // boolean expectStreamClosed
        start local 3 // boolean expectRedirectMessage
         0: .line 1071
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "log1"
            aastore
         1: .line 1072
            iconst_2
            anewarray java.lang.String
            dup
            iconst_1
            ldc "package.class"
            aastore
         2: .line 1073
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "log1"
            aastore
            dup
            iconst_1
            ldc "log1::package.class"
            aastore
         3: .line 1070
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createCustomLogging:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Ljava/util/function/BiPredicate;
            putstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.action:Ljava/util/function/BiPredicate;
         4: .line 1074
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: aload 0 /* contextBuilder */
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 6 /* ctx */
        start local 6 // org.graalvm.polyglot.Context ctx
         6: .line 1075
            aload 6 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         7: .line 1076
            aload 6 /* ctx */
            ifnull 13
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 13
      StackMap locals: org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream int int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 6 /* ctx */
            ifnull 9
            aload 6 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 6 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 4
            ifnonnull 11
            aload 5
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 4
            aload 5
            if_acmpeq 12
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
        13: .line 1077
      StackMap locals:
      StackMap stack:
            iload 2 /* expectStreamClosed */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.isClosed:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 1078
            new java.lang.String
            dup
            aload 1 /* stream */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 4 /* output */
        start local 4 // java.lang.String output
        15: .line 1079
            iload 3 /* expectRedirectMessage */
            ifeq 19
        16: .line 1080
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.getRedirectMessage:()Ljava/lang/String;
            astore 5 /* redirectMessage */
        start local 5 // java.lang.String redirectMessage
        17: .line 1081
            aload 4 /* output */
            aload 5 /* redirectMessage */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 1082
            aload 4 /* output */
            aload 5 /* redirectMessage */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* output */
        end local 5 // java.lang.String redirectMessage
        19: .line 1084
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "\\[(.*)\\]\\sWARNING:\\s(.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 5 /* p */
        start local 5 // java.util.regex.Pattern p
        20: .line 1085
            aload 4 /* output */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 28
      StackMap locals: org.graalvm.polyglot.Context$Builder com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream int int java.lang.String java.util.regex.Pattern top int int java.lang.String[]
      StackMap stack:
        21: aload 9
            iload 7
            aaload
            astore 6 /* line */
        start local 6 // java.lang.String line
        22: .line 1086
            aload 5 /* p */
            aload 6 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 10 /* m */
        start local 10 // java.util.regex.Matcher m
        23: .line 1087
            aload 10 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 1088
            aload 10 /* m */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 11 /* loggerName */
        start local 11 // java.lang.String loggerName
        25: .line 1089
            aload 10 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 12 /* message */
        start local 12 // java.lang.String message
        26: .line 1090
            aload 12 /* message */
            aload 11 /* loggerName */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // java.lang.String message
        end local 11 // java.lang.String loggerName
        end local 10 // java.util.regex.Matcher m
        end local 6 // java.lang.String line
        27: .line 1085
            iinc 7 1
      StackMap locals:
      StackMap stack:
        28: iload 7
            iload 8
            if_icmplt 21
        29: .line 1092
            return
        end local 5 // java.util.regex.Pattern p
        end local 4 // java.lang.String output
        end local 3 // boolean expectRedirectMessage
        end local 2 // boolean expectStreamClosed
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream stream
        end local 0 // org.graalvm.polyglot.Context$Builder contextBuilder
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0         contextBuilder  Lorg/graalvm/polyglot/Context$Builder;
            0   30     1                 stream  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$CloseableByteArrayOutputStream;
            0   30     2     expectStreamClosed  Z
            0   30     3  expectRedirectMessage  Z
            6    9     6                    ctx  Lorg/graalvm/polyglot/Context;
           15   30     4                 output  Ljava/lang/String;
           17   19     5        redirectMessage  Ljava/lang/String;
           20   30     5                      p  Ljava/util/regex/Pattern;
           22   27     6                   line  Ljava/lang/String;
           23   27    10                      m  Ljava/util/regex/Matcher;
           25   27    11             loggerName  Ljava/lang/String;
           26   27    12                message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  any
           5    10      10  any
    MethodParameters:
                       Name  Flags
      contextBuilder         
      stream                 
      expectStreamClosed     
      expectRedirectMessage  

  private static java.lang.String getRedirectMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 1096
            ldc "com.oracle.truffle.polyglot.PolyglotLoggers$RedirectNotificationOutputStream"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* clz */
        start local 0 // java.lang.Class clz
         1: .line 1097
            aload 0 /* clz */
            ldc "REDIRECT_FORMAT"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* fld */
        start local 1 // java.lang.reflect.Field fld
         2: .line 1098
            aload 1 /* fld */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         3: .line 1099
            aload 1 /* fld */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* format */
        start local 2 // java.lang.String format
         4: .line 1100
            aload 2 /* format */
            iconst_0
            anewarray java.lang.Object
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: areturn
        end local 2 // java.lang.String format
        end local 1 // java.lang.reflect.Field fld
        end local 0 // java.lang.Class clz
         6: .line 1101
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 0 /* e */
        start local 0 // java.lang.ReflectiveOperationException e
         7: .line 1102
            new java.lang.AssertionError
            dup
            ldc "Cannot read redirect log message."
            aload 0 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException e
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    6     0     clz  Ljava/lang/Class<*>;
            2    6     1     fld  Ljava/lang/reflect/Field;
            4    6     2  format  Ljava/lang/String;
            7    8     0       e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.ReflectiveOperationException

  private static void assertImmutable(java.util.logging.LogRecord);
    descriptor: (Ljava/util/logging/LogRecord;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.logging.LogRecord r
         0: .line 1108
            aload 0 /* r */
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.LogRecord.setLevel:(Ljava/util/logging/Level;)V
         1: .line 1109
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 1110
            goto 4
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
         3: pop
         4: .line 1114
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc "test"
            invokevirtual java.util.logging.LogRecord.setLoggerName:(Ljava/lang/String;)V
         5: .line 1115
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         6: .line 1116
            goto 8
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
         7: pop
         8: .line 1120
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc "test"
            invokevirtual java.util.logging.LogRecord.setMessage:(Ljava/lang/String;)V
         9: .line 1121
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        10: .line 1122
            goto 12
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        11: pop
        12: .line 1126
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc 10
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.setMillis:(Ljava/util/logging/LogRecord;J)V
        13: .line 1127
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        14: .line 1128
            goto 16
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        15: pop
        16: .line 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.logging.LogRecord.setParameters:([Ljava/lang/Object;)V
        17: .line 1133
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        18: .line 1134
            goto 20
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        19: pop
        20: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            aconst_null
            invokevirtual java.util.logging.LogRecord.setResourceBundle:(Ljava/util/ResourceBundle;)V
        21: .line 1139
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        22: .line 1140
            goto 24
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        23: pop
        24: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            aconst_null
            invokevirtual java.util.logging.LogRecord.setResourceBundleName:(Ljava/lang/String;)V
        25: .line 1145
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        26: .line 1146
            goto 28
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        27: pop
        28: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc 10
            invokevirtual java.util.logging.LogRecord.setSequenceNumber:(J)V
        29: .line 1151
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        30: .line 1152
            goto 32
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        31: pop
        32: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc "Test"
            invokevirtual java.util.logging.LogRecord.setSourceClassName:(Ljava/lang/String;)V
        33: .line 1157
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        34: .line 1158
            goto 36
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        35: pop
        36: .line 1162
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            ldc "test"
            invokevirtual java.util.logging.LogRecord.setSourceMethodName:(Ljava/lang/String;)V
        37: .line 1163
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        38: .line 1164
            goto 40
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        39: pop
        40: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            bipush 10
            invokevirtual java.util.logging.LogRecord.setThreadID:(I)V
        41: .line 1169
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        42: .line 1170
            goto 44
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        43: pop
        44: .line 1174
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            invokevirtual java.util.logging.LogRecord.setThrown:(Ljava/lang/Throwable;)V
        45: .line 1175
            ldc "Should not reach here."
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        46: .line 1176
            goto 48
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        47: pop
        48: .line 1179
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.logging.LogRecord r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   49     0     r  Ljava/util/logging/LogRecord;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.UnsupportedOperationException
           4     6       7  Class java.lang.UnsupportedOperationException
           8    10      11  Class java.lang.UnsupportedOperationException
          12    14      15  Class java.lang.UnsupportedOperationException
          16    18      19  Class java.lang.UnsupportedOperationException
          20    22      23  Class java.lang.UnsupportedOperationException
          24    26      27  Class java.lang.UnsupportedOperationException
          28    30      31  Class java.lang.UnsupportedOperationException
          32    34      35  Class java.lang.UnsupportedOperationException
          36    38      39  Class java.lang.UnsupportedOperationException
          40    42      43  Class java.lang.UnsupportedOperationException
          44    46      47  Class java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      r     final

  private static void setMillis(java.util.logging.LogRecord, long);
    descriptor: (Ljava/util/logging/LogRecord;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.logging.LogRecord r
        start local 1 // long value
         0: .line 1183
            aload 0 /* r */
            lload 1 /* value */
            invokevirtual java.util.logging.LogRecord.setMillis:(J)V
         1: .line 1184
            return
        end local 1 // long value
        end local 0 // java.util.logging.LogRecord r
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0      r  Ljava/util/logging/LogRecord;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      r      final
      value  

  private static java.util.Map<java.lang.String, java.lang.String> createLoggingOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/Map;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // java.lang.String[] kvs
         0: .line 1187
            aload 0 /* kvs */
            arraylength
            iconst_3
            irem
            ifeq 2
         1: .line 1188
            new java.lang.IllegalArgumentException
            dup
            ldc "Lang, Key, Val length has to be divisible by 3."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1190
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* options */
        start local 1 // java.util.Map options
         3: .line 1191
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 15
         5: .line 1193
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* kvs */
            iload 2 /* i */
            aaload
            ifnonnull 9
         6: .line 1194
            getstatic com.oracle.truffle.api.test.polyglot.LoggingTest.$assertionsDisabled:Z
            ifne 7
            aload 0 /* kvs */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            ifnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1195
      StackMap locals:
      StackMap stack:
            ldc "log.level"
            astore 3 /* key */
        start local 3 // java.lang.String key
         8: .line 1196
            goto 13
        end local 3 // java.lang.String key
      StackMap locals:
      StackMap stack:
         9: aload 0 /* kvs */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            ifnonnull 12
        10: .line 1197
            ldc "log.%s.level"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* kvs */
            iload 2 /* i */
            aaload
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
        11: .line 1198
            goto 13
        end local 3 // java.lang.String key
        12: .line 1199
      StackMap locals:
      StackMap stack:
            ldc "log.%s.%s.level"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* kvs */
            iload 2 /* i */
            aaload
            aastore
            dup
            iconst_1
            aload 0 /* kvs */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
        13: .line 1201
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* options */
            aload 3 /* key */
            aload 0 /* kvs */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String key
        14: .line 1191
            iinc 2 /* i */ 3
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* kvs */
            arraylength
            if_icmplt 5
        end local 2 // int i
        16: .line 1203
            aload 1 /* options */
            areturn
        end local 1 // java.util.Map options
        end local 0 // java.lang.String[] kvs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0      kvs  [Ljava/lang/String;
            3   17     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4   16     2        i  I
            8    9     3      key  Ljava/lang/String;
           11   12     3      key  Ljava/lang/String;
           13   14     3      key  Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      kvs   final

  private static java.util.List<java.util.Map$Entry<java.util.logging.Level, java.lang.String>> createExpectedLog(java.lang.String, java.util.logging.Level, java.util.Map<java.lang.String, java.util.logging.Level>);
    descriptor: (Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=14, args_size=3
        start local 0 // java.lang.String languageId
        start local 1 // java.util.logging.Level defaultLevel
        start local 2 // java.util.Map levels
         0: .line 1207
            aload 2 /* levels */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* levels */
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLevelsTree:(Ljava/util/Map;)Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode
         2: astore 3 /* root */
        start local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode root
         3: .line 1208
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* res */
        start local 4 // java.util.List res
         4: .line 1209
            getstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.LOGGER_LEVELS:[Ljava/util/logging/Level;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 19
      StackMap locals: java.lang.String java.util.logging.Level java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode java.util.List top int int java.util.logging.Level[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* level */
        start local 5 // java.util.logging.Level level
         6: .line 1210
            getstatic com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage.LOGGER_NAMES:[Ljava/lang/String;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 17
      StackMap locals: java.lang.String java.util.logging.Level java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode java.util.List java.util.logging.Level int int java.util.logging.Level[] top int int java.lang.String[]
      StackMap stack:
         7: aload 12
            iload 10
            aaload
            astore 9 /* loggerName */
        start local 9 // java.lang.String loggerName
         8: .line 1211
            aload 3 /* root */
            ifnonnull 9
            aload 1 /* defaultLevel */
            goto 10
      StackMap locals: java.lang.String java.util.logging.Level java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode java.util.List java.util.logging.Level int int java.util.logging.Level[] java.lang.String int int java.lang.String[]
      StackMap stack:
         9: aload 3 /* root */
            aload 9 /* loggerName */
            aload 1 /* defaultLevel */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode.computeLevel:(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
      StackMap locals:
      StackMap stack: java.util.logging.Level
        10: astore 13 /* loggerLevel */
        start local 13 // java.util.logging.Level loggerLevel
        11: .line 1212
            aload 13 /* loggerLevel */
            invokevirtual java.util.logging.Level.intValue:()I
            aload 5 /* level */
            invokevirtual java.util.logging.Level.intValue:()I
            if_icmpgt 16
        12: .line 1213
            aload 4 /* res */
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
        13: .line 1214
            aload 5 /* level */
        14: .line 1215
            ldc "%s.%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* languageId */
            aastore
            dup
            iconst_1
            aload 9 /* loggerName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 1213
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.util.logging.Level loggerLevel
        end local 9 // java.lang.String loggerName
        16: .line 1210
      StackMap locals: java.lang.String java.util.logging.Level java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode java.util.List java.util.logging.Level int int java.util.logging.Level[] top int int java.lang.String[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        17: iload 10
            iload 11
            if_icmplt 7
        end local 5 // java.util.logging.Level level
        18: .line 1209
            iinc 6 1
      StackMap locals: java.lang.String java.util.logging.Level java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode java.util.List top int int java.util.logging.Level[]
      StackMap stack:
        19: iload 6
            iload 7
            if_icmplt 5
        20: .line 1219
            aload 4 /* res */
            areturn
        end local 4 // java.util.List res
        end local 3 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode root
        end local 2 // java.util.Map levels
        end local 1 // java.util.logging.Level defaultLevel
        end local 0 // java.lang.String languageId
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0    languageId  Ljava/lang/String;
            0   21     1  defaultLevel  Ljava/util/logging/Level;
            0   21     2        levels  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            3   21     3          root  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
            4   21     4           res  Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
            6   18     5         level  Ljava/util/logging/Level;
            8   16     9    loggerName  Ljava/lang/String;
           11   16    13   loggerLevel  Ljava/util/logging/Level;
    Signature: (Ljava/lang/String;Ljava/util/logging/Level;Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;)Ljava/util/List<Ljava/util/Map$Entry<Ljava/util/logging/Level;Ljava/lang/String;>;>;
    MethodParameters:
              Name  Flags
      languageId    final
      defaultLevel  final
      levels        final

  private static com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode createLevelsTree(java.util.Map<java.lang.String, java.util.logging.Level>);
    descriptor: (Ljava/util/Map;)Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.util.Map levels
         0: .line 1223
            new com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode
            dup
            invokespecial com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode.<init>:()V
            astore 1 /* root */
        start local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode root
         1: .line 1224
            aload 0 /* levels */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Map com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* level */
        start local 2 // java.util.Map$Entry level
         3: .line 1225
            aload 2 /* level */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* loggerName */
        start local 4 // java.lang.String loggerName
         4: .line 1226
            aload 2 /* level */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.logging.Level
            astore 5 /* loggerLevel */
        start local 5 // java.util.logging.Level loggerLevel
         5: .line 1227
            aload 1 /* root */
            aload 4 /* loggerName */
            invokevirtual com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode.findChild:(Ljava/lang/String;)Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
            astore 6 /* node */
        start local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode node
         6: .line 1228
            aload 6 /* node */
            aload 5 /* loggerLevel */
            putfield com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode.level:Ljava/util/logging/Level;
        end local 6 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode node
        end local 5 // java.util.logging.Level loggerLevel
        end local 4 // java.lang.String loggerName
        end local 2 // java.util.Map$Entry level
         7: .line 1224
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 1230
            aload 1 /* root */
            areturn
        end local 1 // com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode root
        end local 0 // java.util.Map levels
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       levels  Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
            1    9     1         root  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
            3    7     2        level  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/logging/Level;>;
            4    7     4   loggerName  Ljava/lang/String;
            5    7     5  loggerLevel  Ljava/util/logging/Level;
            6    7     6         node  Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;)Lcom/oracle/truffle/api/test/polyglot/LoggingTest$LoggerNode;
    MethodParameters:
        Name  Flags
      levels  

  private static org.graalvm.polyglot.Context$Builder newContextBuilder();
    descriptor: ()Lorg/graalvm/polyglot/Context$Builder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 1237
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "engine"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.graalvm.polyglot.Engine$Builder newEngineBuilder();
    descriptor: ()Lorg/graalvm/polyglot/Engine$Builder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 1244
            invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "engine"
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Level.toString:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.createLoggingOptions:([Ljava/lang/String;)Ljava/util/Map;
            invokevirtual org.graalvm.polyglot.Engine$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Engine$Builder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=1
         0: .line 1030
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: invokestatic com.oracle.truffle.api.test.polyglot.LoggingTest.newContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
            ldc "log.file"
            aload 0
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* ctx */
        start local 3 // org.graalvm.polyglot.Context ctx
         2: .line 1031
            aload 3 /* ctx */
            ldc "log1"
            ldc ""
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 1032
            aload 3 /* ctx */
            ifnull 9
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 9
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         4: astore 1
            aload 3 /* ctx */
            ifnull 5
            aload 3 /* ctx */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context ctx
      StackMap locals:
      StackMap stack:
         5: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 1
            ifnonnull 7
            aload 2
            astore 1
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1
            aload 2
            if_acmpeq 8
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
         9: .line 1033
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    5     3   ctx  Lorg/graalvm/polyglot/Context;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  private static void lambda$1(java.lang.IllegalArgumentException);
    descriptor: (Ljava/lang/IllegalArgumentException;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.IllegalArgumentException e
         0: .line 1034
            aload 0 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            ldc "Cannot open log file"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 1035
            return
        end local 0 // java.lang.IllegalArgumentException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/lang/IllegalArgumentException;
}
SourceFile: "LoggingTest.java"
NestMembers:
  com.oracle.truffle.api.test.polyglot.LoggingTest$1  com.oracle.truffle.api.test.polyglot.LoggingTest$2  com.oracle.truffle.api.test.polyglot.LoggingTest$3  com.oracle.truffle.api.test.polyglot.LoggingTest$4  com.oracle.truffle.api.test.polyglot.LoggingTest$5  com.oracle.truffle.api.test.polyglot.LoggingTest$6  com.oracle.truffle.api.test.polyglot.LoggingTest$7  com.oracle.truffle.api.test.polyglot.LoggingTest$8  com.oracle.truffle.api.test.polyglot.LoggingTest$9  com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage  com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage$1  com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream  com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging  com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode  com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingContext  com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst  com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageObject  com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageSecond  com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction  com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler
InnerClasses:
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  com.oracle.truffle.api.test.polyglot.LoggingTest$1
  com.oracle.truffle.api.test.polyglot.LoggingTest$2
  com.oracle.truffle.api.test.polyglot.LoggingTest$3
  com.oracle.truffle.api.test.polyglot.LoggingTest$4
  com.oracle.truffle.api.test.polyglot.LoggingTest$5
  com.oracle.truffle.api.test.polyglot.LoggingTest$6
  com.oracle.truffle.api.test.polyglot.LoggingTest$7
  com.oracle.truffle.api.test.polyglot.LoggingTest$8
  com.oracle.truffle.api.test.polyglot.LoggingTest$9
  public abstract AbstractLoggingLanguage = com.oracle.truffle.api.test.polyglot.LoggingTest$AbstractLoggingLanguage of com.oracle.truffle.api.test.polyglot.LoggingTest
  private final CloseableByteArrayOutputStream = com.oracle.truffle.api.test.polyglot.LoggingTest$CloseableByteArrayOutputStream of com.oracle.truffle.api.test.polyglot.LoggingTest
  private final InstrumentLogging = com.oracle.truffle.api.test.polyglot.LoggingTest$InstrumentLogging of com.oracle.truffle.api.test.polyglot.LoggingTest
  private final LoggerNode = com.oracle.truffle.api.test.polyglot.LoggingTest$LoggerNode of com.oracle.truffle.api.test.polyglot.LoggingTest
  public final LoggingContext = com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingContext of com.oracle.truffle.api.test.polyglot.LoggingTest
  public final LoggingLanguageFirst = com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageFirst of com.oracle.truffle.api.test.polyglot.LoggingTest
  final LoggingLanguageObject = com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageObject of com.oracle.truffle.api.test.polyglot.LoggingTest
  public final LoggingLanguageSecond = com.oracle.truffle.api.test.polyglot.LoggingTest$LoggingLanguageSecond of com.oracle.truffle.api.test.polyglot.LoggingTest
  private final LookupInstrumentAction = com.oracle.truffle.api.test.polyglot.LoggingTest$LookupInstrumentAction of com.oracle.truffle.api.test.polyglot.LoggingTest
  private final TestHandler = com.oracle.truffle.api.test.polyglot.LoggingTest$TestHandler of com.oracle.truffle.api.test.polyglot.LoggingTest
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public SimpleImmutableEntry = java.util.AbstractMap$SimpleImmutableEntry of java.util.AbstractMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  public final Builder = org.graalvm.polyglot.Engine$Builder of org.graalvm.polyglot.Engine