abstract class com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter extends com.oracle.truffle.api.instrumentation.Instrumenter
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter
super_class: com.oracle.truffle.api.instrumentation.Instrumenter
{
final com.oracle.truffle.api.instrumentation.InstrumentationHandler this$0;
descriptor: Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.instrumentation.InstrumentationHandler);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
invokespecial com.oracle.truffle.api.instrumentation.Instrumenter.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
MethodParameters:
Name Flags
this$0 final
abstract void doFinalize();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract void dispose();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract <T> T lookup(com.oracle.truffle.api.instrumentation.InstrumentationHandler, java.lang.Class<T>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
handler
type
void disposeBinding(com.oracle.truffle.api.instrumentation.EventBinding<?>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventBinding;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.disposeBinding:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
Signature: (Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;)V
MethodParameters:
Name Flags
binding
abstract boolean isInstrumentableRoot(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
rootNode
abstract boolean isInstrumentableSource(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Z
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
source
final java.util.Set<java.lang.Class<?>> queryTagsImpl(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.nodes.LanguageInfo);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.isInstrumentableNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifne 3
2: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
6: StackMap locals: com.oracle.truffle.api.nodes.RootNode
StackMap stack:
aload 2
ifnull 8
aload 3
invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
aload 2
if_acmpeq 8
7: new java.lang.IllegalArgumentException
dup
ldc "The language instrumenter cannot query tags of nodes of other languages."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.getProvidedTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
astore 4
start local 4 9: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 11
10: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
11: StackMap locals: java.util.Set
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 12: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.LanguageInfo com.oracle.truffle.api.nodes.RootNode java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 6
start local 6 14: aload 4
aload 1
aload 6
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.hasTagImpl:(Ljava/util/Set;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Class;)Z
ifeq 16
15: aload 5
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 16: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 5
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 18 1 node Lcom/oracle/truffle/api/nodes/Node;
0 18 2 onlyLanguage Lcom/oracle/truffle/api/nodes/LanguageInfo;
4 18 3 root Lcom/oracle/truffle/api/nodes/RootNode;
9 18 4 providedTags Ljava/util/Set<Ljava/lang/Class<*>;>;
12 18 5 tags Ljava/util/Set<Ljava/lang/Class<*>;>;
14 16 6 providedTag Ljava/lang/Class<*>;
Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
node
onlyLanguage
public final com.oracle.truffle.api.instrumentation.ExecutionEventNode lookupExecutionEventNode(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.instrumentation.EventBinding<?>);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.isInstrumentableNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 3
start local 3 3: aload 3
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
ifeq 6
4: aload 3
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
astore 4
start local 4 5: aload 4
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode.getProbeNode:()Lcom/oracle/truffle/api/instrumentation/ProbeNode;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.lookupExecutionEventNode:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
areturn
end local 4 6: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 7 1 node Lcom/oracle/truffle/api/nodes/Node;
0 7 2 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
3 7 3 p Lcom/oracle/truffle/api/nodes/Node;
5 6 4 w Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
MethodParameters:
Name Flags
node
binding
public <T extends com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory> com.oracle.truffle.api.instrumentation.EventBinding<T> attachExecutionEventFactory(com.oracle.truffle.api.instrumentation.SourceSectionFilter, com.oracle.truffle.api.instrumentation.SourceSectionFilter, T);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifyFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachFactory:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 2 2 inputFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 2 3 factory TT;
Signature: <T::Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;TT;)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
inputFilter
factory
public <T extends com.oracle.truffle.api.instrumentation.ExecutionEventListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachExecutionEventListener(com.oracle.truffle.api.instrumentation.SourceSectionFilter, com.oracle.truffle.api.instrumentation.SourceSectionFilter, T);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifyFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 2 2 inputFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 2 3 listener TT;
Signature: <T::Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;>(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;TT;)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
inputFilter
listener
public <T extends com.oracle.truffle.api.instrumentation.LoadSourceListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachLoadSourceListener(com.oracle.truffle.api.instrumentation.SourceSectionFilter, T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifySourceOnly:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifyFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
2: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachSourceListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 3 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 3 2 listener TT;
0 3 3 includeExistingSources Z
Signature: <T::Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;>(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
listener
includeExistingSources
public <T extends com.oracle.truffle.api.instrumentation.LoadSourceListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachLoadSourceListener(com.oracle.truffle.api.instrumentation.SourceFilter, T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceFilter:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
astore 4
start local 4 1: aload 0
aload 4
aload 2
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.attachLoadSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 filter Lcom/oracle/truffle/api/instrumentation/SourceFilter;
0 2 2 listener TT;
0 2 3 notifyLoaded Z
1 2 4 sectionsFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
Signature: <T::Lcom/oracle/truffle/api/instrumentation/LoadSourceListener;>(Lcom/oracle/truffle/api/instrumentation/SourceFilter;TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
listener
notifyLoaded
public <T extends com.oracle.truffle.api.instrumentation.LoadSourceSectionListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachLoadSourceSectionListener(com.oracle.truffle.api.instrumentation.SourceSectionFilter, T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifyFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachSourceSectionListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 2 2 listener TT;
0 2 3 notifyLoaded Z
Signature: <T::Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;>(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
listener
notifyLoaded
public void visitLoadedSourceSections(com.oracle.truffle.api.instrumentation.SourceSectionFilter, com.oracle.truffle.api.instrumentation.LoadSourceSectionListener);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.verifyFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 3 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
0 3 2 listener Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
MethodParameters:
Name Flags
filter
listener
public <T extends com.oracle.truffle.api.instrumentation.ExecuteSourceListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachExecuteSourceListener(com.oracle.truffle.api.instrumentation.SourceFilter, T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceFilter:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
astore 4
start local 4 1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 4
aload 2
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 2 1 filter Lcom/oracle/truffle/api/instrumentation/SourceFilter;
0 2 2 listener TT;
0 2 3 notifyLoaded Z
1 2 4 sectionsFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
Signature: <T::Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;>(Lcom/oracle/truffle/api/instrumentation/SourceFilter;TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
listener
notifyLoaded
public <T extends com.oracle.truffle.api.instrumentation.AllocationListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachAllocationListener(com.oracle.truffle.api.instrumentation.AllocationEventFilter, T);
descriptor: (Lcom/oracle/truffle/api/instrumentation/AllocationEventFilter;Lcom/oracle/truffle/api/instrumentation/AllocationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachAllocationListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/AllocationEventFilter;Lcom/oracle/truffle/api/instrumentation/AllocationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 1 1 filter Lcom/oracle/truffle/api/instrumentation/AllocationEventFilter;
0 1 2 listener TT;
Signature: <T::Lcom/oracle/truffle/api/instrumentation/AllocationListener;>(Lcom/oracle/truffle/api/instrumentation/AllocationEventFilter;TT;)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
filter
listener
public <T extends java.io.OutputStream> com.oracle.truffle.api.instrumentation.EventBinding<T> attachOutConsumer(T);
descriptor: (Ljava/io/OutputStream;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachOutputConsumer:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Ljava/io/OutputStream;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 1 1 stream TT;
Signature: <T:Ljava/io/OutputStream;>(TT;)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
stream
public <T extends java.io.OutputStream> com.oracle.truffle.api.instrumentation.EventBinding<T> attachErrConsumer(T);
descriptor: (Ljava/io/OutputStream;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachOutputConsumer:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Ljava/io/OutputStream;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 1 1 stream TT;
Signature: <T:Ljava/io/OutputStream;>(TT;)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
stream
private void verifySourceOnly(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter.isSourceOnly:()Z
ifne 4
1: new java.lang.IllegalArgumentException
dup
ldc "The attached filter %s uses filters that require source sections to verifiy. Source listeners can only use filter critera based on Source objects like mimeTypeIs or sourceIs."
iconst_1
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;
0 5 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
MethodParameters:
Name Flags
filter
abstract void verifyFilter(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
filter
}
SourceFile: "InstrumentationHandler.java"
NestHost: com.oracle.truffle.api.instrumentation.InstrumentationHandler
InnerClasses:
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
abstract AbstractInstrumenter = com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter of com.oracle.truffle.api.instrumentation.InstrumentationHandler
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter