final class com.oracle.truffle.polyglot.PolyglotManagement extends org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.PolyglotManagement
  super_class: org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl
{
  static final java.lang.Object[] EMPTY_ARRAY;
    descriptor: [Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final com.oracle.truffle.polyglot.PolyglotImpl engineImpl;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 75
            iconst_0
            anewarray java.lang.Object
            putstatic com.oracle.truffle.polyglot.PolyglotManagement.EMPTY_ARRAY:[Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.truffle.polyglot.PolyglotImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // com.oracle.truffle.polyglot.PolyglotImpl engineImpl
         0: .line 79
            aload 0 /* this */
            aload 1 /* engineImpl */
            invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
         1: .line 80
            aload 0 /* this */
            aload 1 /* engineImpl */
            putfield com.oracle.truffle.polyglot.PolyglotManagement.engineImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
         2: .line 81
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotImpl engineImpl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    3     1  engineImpl  Lcom/oracle/truffle/polyglot/PolyglotImpl;
    MethodParameters:
            Name  Flags
      engineImpl  

  public  attachExecutionListener(org.graalvm.polyglot.Engine, java.util.function.Consumer<org.graalvm.polyglot.management.ExecutionEvent>, java.util.function.Consumer<org.graalvm.polyglot.management.ExecutionEvent>, boolean, boolean, boolean, java.util.function.Predicate<org.graalvm.polyglot.Source>, java.util.function.Predicate<java.lang.String>, boolean, boolean, boolean);
    descriptor: (Lorg/graalvm/polyglot/Engine;Ljava/util/function/Consumer;Ljava/util/function/Consumer;ZZZLjava/util/function/Predicate;Ljava/util/function/Predicate;ZZZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=22, args_size=12
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // org.graalvm.polyglot.Engine engineAPI
        start local 2 // java.util.function.Consumer onEnter
        start local 3 // java.util.function.Consumer onReturn
        start local 4 // boolean expressions
        start local 5 // boolean statements
        start local 6 // boolean roots
        start local 7 // java.util.function.Predicate sourceFilter
        start local 8 // java.util.function.Predicate rootFilter
        start local 9 // boolean collectInputValues
        start local 10 // boolean collectReturnValues
        start local 11 // boolean collectExceptions
         0: .line 89
            aload 0 /* this */
            aload 1 /* engineAPI */
            invokevirtual com.oracle.truffle.polyglot.PolyglotManagement.getEngine:(Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            astore 12 /* engine */
        start local 12 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
         1: .line 90
            getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
            aload 12 /* engine */
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.instrumentationHandler:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.getEngineInstrumenter:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.instrumentation.Instrumenter
            astore 13 /* instrumenter */
        start local 13 // com.oracle.truffle.api.instrumentation.Instrumenter instrumenter
         2: .line 92
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* tags */
        start local 14 // java.util.List tags
         3: .line 93
            iload 4 /* expressions */
            ifeq 5
         4: .line 94
            aload 14 /* tags */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 96
      StackMap locals: com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.api.instrumentation.Instrumenter java.util.List
      StackMap stack:
            iload 5 /* statements */
            ifeq 7
         6: .line 97
            aload 14 /* tags */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 99
      StackMap locals:
      StackMap stack:
            iload 6 /* roots */
            ifeq 9
         8: .line 100
            aload 14 /* tags */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 103
      StackMap locals:
      StackMap stack:
            aload 14 /* tags */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
        10: .line 104
            new java.lang.IllegalArgumentException
            dup
            ldc "No elements specified to listen to for execution listener. Need to specify at least one element kind: expressions, statements or roots."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 106
      StackMap locals:
      StackMap stack:
            aload 3 /* onReturn */
            ifnonnull 13
            aload 2 /* onEnter */
            ifnonnull 13
        12: .line 107
            new java.lang.IllegalArgumentException
            dup
            ldc "At least one event consumer must be provided for onEnter or onReturn."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 110
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            aload 14 /* tags */
            iconst_0
            anewarray java.lang.Class
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            astore 15 /* filterBuilder */
        start local 15 // com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder filterBuilder
        14: .line 111
            aload 15 /* filterBuilder */
            iconst_0
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.includeInternal:(Z)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            pop
        15: .line 113
            new com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl
            dup
            aload 12 /* engine */
            aload 2 /* onEnter */
            aload 3 /* onReturn */
            iload 9 /* collectInputValues */
            iload 10 /* collectReturnValues */
            iload 11 /* collectExceptions */
            invokespecial com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/function/Consumer;Ljava/util/function/Consumer;ZZZ)V
            astore 16 /* config */
        start local 16 // com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl config
        16: .line 115
            aload 15 /* filterBuilder */
            new com.oracle.truffle.polyglot.PolyglotManagement$1
            dup
            aload 0 /* this */
            aload 12 /* engine */
            aload 7 /* sourceFilter */
            aload 16 /* config */
            invokespecial com.oracle.truffle.polyglot.PolyglotManagement$1.<init>:(Lcom/oracle/truffle/polyglot/PolyglotManagement;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/function/Predicate;Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;)V
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceIs:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$SourcePredicate;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            pop
        17: .line 138
            aload 8 /* rootFilter */
            ifnull 19
        18: .line 139
            aload 15 /* filterBuilder */
            new com.oracle.truffle.polyglot.PolyglotManagement$2
            dup
            aload 0 /* this */
            aload 8 /* rootFilter */
            aload 16 /* config */
            invokespecial com.oracle.truffle.polyglot.PolyglotManagement$2.<init>:(Lcom/oracle/truffle/polyglot/PolyglotManagement;Ljava/util/function/Predicate;Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;)V
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.rootNameIs:(Ljava/util/function/Predicate;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            pop
        19: .line 154
      StackMap locals: com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl
      StackMap stack:
            aload 15 /* filterBuilder */
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            astore 17 /* filter */
        start local 17 // com.oracle.truffle.api.instrumentation.SourceSectionFilter filter
        20: .line 157
            aload 16 /* config */
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.collectInputValues:Z
            ifeq 21
            aload 16 /* config */
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.onReturn:Ljava/util/function/Consumer;
            ifnull 21
            iconst_1
            goto 22
      StackMap locals: com.oracle.truffle.api.instrumentation.SourceSectionFilter
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 19 /* mayNeedInputValues */
        start local 19 // boolean mayNeedInputValues
        23: .line 158
            aload 16 /* config */
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.collectReturnValues:Z
            ifeq 24
            aload 16 /* config */
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.onReturn:Ljava/util/function/Consumer;
            ifnull 24
            iconst_1
            goto 25
      StackMap locals: com.oracle.truffle.polyglot.PolyglotManagement org.graalvm.polyglot.Engine java.util.function.Consumer java.util.function.Consumer int int int java.util.function.Predicate java.util.function.Predicate int int int com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.api.instrumentation.Instrumenter java.util.List com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl com.oracle.truffle.api.instrumentation.SourceSectionFilter top int
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 20 /* mayNeedReturnValue */
        start local 20 // boolean mayNeedReturnValue
        26: .line 159
            aload 16 /* config */
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.collectExceptions:Z
            istore 21 /* mayNeedExceptions */
        start local 21 // boolean mayNeedExceptions
        27: .line 161
            iload 19 /* mayNeedInputValues */
            ifne 28
            iload 20 /* mayNeedReturnValue */
            ifne 28
            iload 21 /* mayNeedExceptions */
            ifeq 32
        28: .line 162
      StackMap locals: int int
      StackMap stack:
            aload 13 /* instrumenter */
            aload 17 /* filter */
            iload 19 /* mayNeedInputValues */
            ifeq 29
            aload 17 /* filter */
            goto 30
      StackMap locals: com.oracle.truffle.polyglot.PolyglotManagement org.graalvm.polyglot.Engine java.util.function.Consumer java.util.function.Consumer int int int java.util.function.Predicate java.util.function.Predicate int int int com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.api.instrumentation.Instrumenter java.util.List com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl com.oracle.truffle.api.instrumentation.SourceSectionFilter top int int int
      StackMap stack: com.oracle.truffle.api.instrumentation.Instrumenter com.oracle.truffle.api.instrumentation.SourceSectionFilter
        29: aconst_null
      StackMap locals: com.oracle.truffle.polyglot.PolyglotManagement org.graalvm.polyglot.Engine java.util.function.Consumer java.util.function.Consumer int int int java.util.function.Predicate java.util.function.Predicate int int int com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.api.instrumentation.Instrumenter java.util.List com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl com.oracle.truffle.api.instrumentation.SourceSectionFilter top int int int
      StackMap stack: com.oracle.truffle.api.instrumentation.Instrumenter com.oracle.truffle.api.instrumentation.SourceSectionFilter com.oracle.truffle.api.instrumentation.SourceSectionFilter
        30: new com.oracle.truffle.polyglot.PolyglotManagement$3
            dup
            aload 0 /* this */
            aload 16 /* config */
            invokespecial com.oracle.truffle.polyglot.PolyglotManagement$3.<init>:(Lcom/oracle/truffle/polyglot/PolyglotManagement;Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            astore 18 /* binding */
        start local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
        31: .line 167
            goto 36
        end local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
        32: .line 169
      StackMap locals:
      StackMap stack:
            aload 13 /* instrumenter */
            aload 17 /* filter */
            aconst_null
            new com.oracle.truffle.polyglot.PolyglotManagement$4
            dup
            aload 0 /* this */
            aload 16 /* config */
            invokespecial com.oracle.truffle.polyglot.PolyglotManagement$4.<init>:(Lcom/oracle/truffle/polyglot/PolyglotManagement;Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;)V
            invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
            astore 18 /* binding */
        end local 21 // boolean mayNeedExceptions
        end local 20 // boolean mayNeedReturnValue
        end local 19 // boolean mayNeedInputValues
        start local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
        33: .line 175
            goto 36
        end local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
      StackMap locals: com.oracle.truffle.polyglot.PolyglotManagement org.graalvm.polyglot.Engine java.util.function.Consumer java.util.function.Consumer int int int java.util.function.Predicate java.util.function.Predicate int int int com.oracle.truffle.polyglot.PolyglotEngineImpl com.oracle.truffle.api.instrumentation.Instrumenter java.util.List com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl com.oracle.truffle.api.instrumentation.SourceSectionFilter
      StackMap stack: java.lang.Throwable
        34: astore 19 /* t */
        start local 19 // java.lang.Throwable t
        35: .line 176
            aload 12 /* engine */
            aload 19 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 19 // java.lang.Throwable t
        start local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
        36: .line 178
      StackMap locals: com.oracle.truffle.api.instrumentation.EventBinding
      StackMap stack:
            aload 16 /* config */
            aload 18 /* binding */
            putfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
        37: .line 179
            aload 16 /* config */
            areturn
        end local 18 // com.oracle.truffle.api.instrumentation.EventBinding binding
        end local 17 // com.oracle.truffle.api.instrumentation.SourceSectionFilter filter
        end local 16 // com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl config
        end local 15 // com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder filterBuilder
        end local 14 // java.util.List tags
        end local 13 // com.oracle.truffle.api.instrumentation.Instrumenter instrumenter
        end local 12 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        end local 11 // boolean collectExceptions
        end local 10 // boolean collectReturnValues
        end local 9 // boolean collectInputValues
        end local 8 // java.util.function.Predicate rootFilter
        end local 7 // java.util.function.Predicate sourceFilter
        end local 6 // boolean roots
        end local 5 // boolean statements
        end local 4 // boolean expressions
        end local 3 // java.util.function.Consumer onReturn
        end local 2 // java.util.function.Consumer onEnter
        end local 1 // org.graalvm.polyglot.Engine engineAPI
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   38     0                 this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0   38     1            engineAPI  Lorg/graalvm/polyglot/Engine;
            0   38     2              onEnter  Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;
            0   38     3             onReturn  Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;
            0   38     4          expressions  Z
            0   38     5           statements  Z
            0   38     6                roots  Z
            0   38     7         sourceFilter  Ljava/util/function/Predicate<Lorg/graalvm/polyglot/Source;>;
            0   38     8           rootFilter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            0   38     9   collectInputValues  Z
            0   38    10  collectReturnValues  Z
            0   38    11    collectExceptions  Z
            1   38    12               engine  Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            2   38    13         instrumenter  Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            3   38    14                 tags  Ljava/util/List<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
           14   38    15        filterBuilder  Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
           16   38    16               config  Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;
           20   38    17               filter  Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
           31   32    18              binding  Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
           33   34    18              binding  Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
           36   38    18              binding  Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
           23   33    19   mayNeedInputValues  Z
           26   33    20   mayNeedReturnValue  Z
           27   33    21    mayNeedExceptions  Z
           35   36    19                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          20    33      34  Class java.lang.Throwable
    Signature: (Lorg/graalvm/polyglot/Engine;Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;Ljava/util/function/Consumer<Lorg/graalvm/polyglot/management/ExecutionEvent;>;ZZZLjava/util/function/Predicate<Lorg/graalvm/polyglot/Source;>;Ljava/util/function/Predicate<Ljava/lang/String;>;ZZZ)Ljava/lang/Object;
    MethodParameters:
                     Name  Flags
      engineAPI            
      onEnter              
      onReturn             
      expressions          
      statements           
      roots                
      sourceFilter         
      rootFilter           
      collectInputValues   
      collectReturnValues  
      collectExceptions    

  public void closeExecutionListener(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 185
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl
            iconst_1
            putfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.closing:Z
         1: .line 186
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
         2: .line 187
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 188
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 2 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
         5: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    6     1  impl  Ljava/lang/Object;
            4    5     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      impl  

  public java.util.List<org.graalvm.polyglot.Value> getExecutionEventInputValues();
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 195
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getInputValues:()Ljava/util/List;
         1: areturn
         2: .line 196
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         3: .line 197
            aload 1 /* impl */
            aload 2 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    4     1  impl  Ljava/lang/Object;
            3    4     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;)Ljava/util/List<Lorg/graalvm/polyglot/Value;>;
    MethodParameters:
      Name  Flags
      impl  

  public java.lang.String getExecutionEventRootName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 204
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getRootName:()Ljava/lang/String;
         1: areturn
         2: .line 205
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         3: .line 206
            aload 1 /* impl */
            aload 2 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    4     1  impl  Ljava/lang/Object;
            3    4     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      impl  

  public org.graalvm.polyglot.Value getExecutionEventReturnValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 213
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getReturnValue:()Lorg/graalvm/polyglot/Value;
         1: areturn
         2: .line 214
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         3: .line 215
            aload 1 /* impl */
            aload 2 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    4     1  impl  Ljava/lang/Object;
            3    4     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      impl  

  public org.graalvm.polyglot.SourceSection getExecutionEventLocation(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 221
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getLocation:()Lorg/graalvm/polyglot/SourceSection;
            areturn
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  impl  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      impl  

  public org.graalvm.polyglot.PolyglotException getExecutionEventException(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/PolyglotException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 226
            aload 1 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getException:()Lorg/graalvm/polyglot/PolyglotException;
            areturn
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  impl  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      impl  

  public boolean isExecutionEventExpression(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 231
            aload 1 /* impl */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.hasTag:(Ljava/lang/Object;Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  impl  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      impl  

  public boolean isExecutionEventStatement(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 236
            aload 1 /* impl */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.hasTag:(Ljava/lang/Object;Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  impl  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      impl  

  public boolean isExecutionEventRoot(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // java.lang.Object impl
         0: .line 241
            aload 1 /* impl */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.hasTag:(Ljava/lang/Object;Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Object impl
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  impl  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      impl  

  private static boolean hasTag(, java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object impl
        start local 1 // java.lang.Class tag
         0: .line 246
            aload 0 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$Event
            invokeinterface com.oracle.truffle.polyglot.PolyglotManagement$Event.getContext:()Lcom/oracle/truffle/api/instrumentation/EventContext;
            aload 1 /* tag */
            invokevirtual com.oracle.truffle.api.instrumentation.EventContext.hasTag:(Ljava/lang/Class;)Z
         1: ireturn
         2: .line 247
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         3: .line 248
            aload 0 /* impl */
            aload 2 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Class tag
        end local 0 // java.lang.Object impl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  impl  Ljava/lang/Object;
            0    4     1   tag  Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
            3    4     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
    MethodParameters:
      Name  Flags
      impl  
      tag   

  private static java.lang.RuntimeException wrapException(com.oracle.truffle.polyglot.PolyglotEngineImpl, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
        start local 1 // java.lang.Throwable t
         0: .line 253
            aload 0 /* engine */
            aload 1 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // com.oracle.truffle.polyglot.PolyglotEngineImpl engine
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  engine  Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            0    1     1       t  Ljava/lang/Throwable;
    MethodParameters:
        Name  Flags
      engine  
      t       

  private static java.lang.RuntimeException wrapException(java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object impl
        start local 1 // java.lang.Throwable t
         0: .line 257
            aload 0 /* impl */
            checkcast com.oracle.truffle.polyglot.PolyglotManagement$DefaultNode
            getfield com.oracle.truffle.polyglot.PolyglotManagement$DefaultNode.config:Lcom/oracle/truffle/polyglot/PolyglotManagement$ListenerImpl;
            getfield com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aload 1 /* t */
            invokestatic com.oracle.truffle.polyglot.PolyglotManagement.wrapException:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.Object impl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  impl  Ljava/lang/Object;
            0    1     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      impl  
      t     

  private com.oracle.truffle.polyglot.PolyglotEngineImpl getEngine(org.graalvm.polyglot.Engine);
    descriptor: (Lorg/graalvm/polyglot/Engine;)Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
        start local 1 // org.graalvm.polyglot.Engine engineAPI
         0: .line 631
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotManagement.engineImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
            invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
            aload 1 /* engineAPI */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getImpl:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractEngineImpl;
            checkcast com.oracle.truffle.polyglot.PolyglotEngineImpl
            areturn
        end local 1 // org.graalvm.polyglot.Engine engineAPI
        end local 0 // com.oracle.truffle.polyglot.PolyglotManagement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/polyglot/PolyglotManagement;
            0    1     1  engineAPI  Lorg/graalvm/polyglot/Engine;
    MethodParameters:
           Name  Flags
      engineAPI  
}
SourceFile: "PolyglotManagement.java"
NestMembers:
  com.oracle.truffle.polyglot.PolyglotManagement$1  com.oracle.truffle.polyglot.PolyglotManagement$2  com.oracle.truffle.polyglot.PolyglotManagement$3  com.oracle.truffle.polyglot.PolyglotManagement$4  com.oracle.truffle.polyglot.PolyglotManagement$AbstractNode  com.oracle.truffle.polyglot.PolyglotManagement$DefaultNode  com.oracle.truffle.polyglot.PolyglotManagement$DynamicEvent  com.oracle.truffle.polyglot.PolyglotManagement$Event  com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl  com.oracle.truffle.polyglot.PolyglotManagement$ProfilingNode  com.oracle.truffle.polyglot.PolyglotManagement$ReadOnlyValueList
InnerClasses:
  public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
  public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  public abstract SourcePredicate = com.oracle.truffle.api.instrumentation.SourceSectionFilter$SourcePredicate of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
  public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
  public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
  com.oracle.truffle.polyglot.PolyglotManagement$1
  com.oracle.truffle.polyglot.PolyglotManagement$2
  com.oracle.truffle.polyglot.PolyglotManagement$3
  com.oracle.truffle.polyglot.PolyglotManagement$4
  abstract AbstractNode = com.oracle.truffle.polyglot.PolyglotManagement$AbstractNode of com.oracle.truffle.polyglot.PolyglotManagement
  DefaultNode = com.oracle.truffle.polyglot.PolyglotManagement$DefaultNode of com.oracle.truffle.polyglot.PolyglotManagement
  final DynamicEvent = com.oracle.truffle.polyglot.PolyglotManagement$DynamicEvent of com.oracle.truffle.polyglot.PolyglotManagement
  abstract Event = com.oracle.truffle.polyglot.PolyglotManagement$Event of com.oracle.truffle.polyglot.PolyglotManagement
  ListenerImpl = com.oracle.truffle.polyglot.PolyglotManagement$ListenerImpl of com.oracle.truffle.polyglot.PolyglotManagement
  ProfilingNode = com.oracle.truffle.polyglot.PolyglotManagement$ProfilingNode of com.oracle.truffle.polyglot.PolyglotManagement
  ReadOnlyValueList = com.oracle.truffle.polyglot.PolyglotManagement$ReadOnlyValueList of com.oracle.truffle.polyglot.PolyglotManagement
  public abstract APIAccess = org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess of org.graalvm.polyglot.impl.AbstractPolyglotImpl
  public abstract AbstractEngineImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractEngineImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
  public abstract AbstractManagementImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl