final class com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter extends com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter
super_class: com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter
{
private final java.lang.String instrumentClassName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object[] services;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
com.oracle.truffle.api.instrumentation.TruffleInstrument instrument;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
flags: (0x0000)
private final com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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, com.oracle.truffle.api.instrumentation.TruffleInstrument$Env, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter.<init>:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;)V
1: aload 0
aload 3
putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrumentClassName:Ljava/lang/String;
2: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 4 2 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
0 4 3 instrumentClassName Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
env
instrumentClassName
boolean isInstrumentableSource(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 1 1 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
boolean isInstrumentableRoot(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 1 1 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
rootNode
public java.util.Set<java.lang.Class<?>> queryTags(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.queryTagsImpl:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 1 1 node Lcom/oracle/truffle/api/nodes/Node;
Signature: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
node
void verifyFilter(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
flags: (0x0000)
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 1 1 filter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
MethodParameters:
Name Flags
filter
java.lang.String getInstrumentClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrumentClassName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
com.oracle.truffle.api.instrumentation.TruffleInstrument$Env getEnv();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
void create(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.TRACE:Z
ifeq 2
1: ldc "Create instrument %s class %s %n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
aastore
dup
iconst_1
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrumentClassName:Ljava/lang/String;
aastore
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.onCreate:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;)[Ljava/lang/Object;
putfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.services:[Ljava/lang/Object;
3: aload 1
ifnull 5
getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifne 5
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.checkServices:([Ljava/lang/String;)Z
pop
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.TRACE:Z
ifeq 7
6: ldc "Created instrument %s class %s %n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
aastore
dup
iconst_1
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrumentClassName:Ljava/lang/String;
aastore
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 8 1 expectedServices [Ljava/lang/String;
MethodParameters:
Name Flags
expectedServices
private boolean checkServices(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter java.lang.String[] top int int java.lang.String[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.services:[Ljava/lang/Object;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 7
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter java.lang.String[] java.lang.String int int java.lang.String[] top int int java.lang.Object[]
StackMap stack:
3: aload 9
iload 7
aaload
astore 6
start local 6 4: aload 0
aload 2
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.findType:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 6
5: goto 9
end local 6 6: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
7: iload 7
iload 8
if_icmplt 3
8: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
ldc "%s declares service %s but doesn't register it"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrumentClassName:Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aconst_null
invokestatic com.oracle.truffle.api.instrumentation.InstrumentationHandler.failInstrumentInitialization:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 9: StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 1
11: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 12 1 expectedServices [Ljava/lang/String;
2 9 2 name Ljava/lang/String;
4 6 6 obj Ljava/lang/Object;
MethodParameters:
Name Flags
expectedServices
private boolean findType(java.lang.String, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 2
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
ifnull 4
aload 2
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.findType:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter java.lang.String java.lang.Class top int int java.lang.Class[]
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.findType:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 10
9: iconst_1
ireturn
end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 7
12: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 13 1 name Ljava/lang/String;
0 13 2 type Ljava/lang/Class<*>;
8 10 3 inter Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
name
type
boolean isInitialized();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
com.oracle.truffle.api.instrumentation.TruffleInstrument getInstrument();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
public <T extends com.oracle.truffle.api.instrumentation.ContextsListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachContextsListener(T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ContextsListener;Z)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$InstrumentClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachContextsListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/ContextsListener;Z)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$InstrumentClientInstrumenter;
0 1 1 listener TT;
0 1 2 includeActiveContexts Z
Signature: <T::Lcom/oracle/truffle/api/instrumentation/ContextsListener;>(TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
listener
includeActiveContexts
public <T extends com.oracle.truffle.api.instrumentation.ThreadsListener> com.oracle.truffle.api.instrumentation.EventBinding<T> attachThreadsListener(T, boolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ThreadsListener;Z)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$InstrumentClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachThreadsListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/ThreadsListener;Z)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$InstrumentClientInstrumenter;
0 1 1 listener TT;
0 1 2 includeStartedThreads Z
Signature: <T::Lcom/oracle/truffle/api/instrumentation/ThreadsListener;>(TT;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding<TT;>;
MethodParameters:
Name Flags
listener
includeStartedThreads
void doFinalize();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument.onFinalize:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
void dispose();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.instrument:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument;
aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument.onDispose:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
public com.oracle.truffle.api.instrumentation.EventBinding<? extends com.oracle.truffle.api.instrumentation.ThreadsActivationListener> attachThreadsActivationListener(com.oracle.truffle.api.instrumentation.ThreadsActivationListener);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.this$0:Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.attachThreadsActivationListener:(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$AbstractInstrumenter;Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)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$InstrumentClientInstrumenter;
0 1 1 listener Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;
Signature: (Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ThreadsActivationListener;>;
MethodParameters:
Name Flags
listener
<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: (0x0000)
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.services:[Ljava/lang/Object;
ifnull 7
1: aload 0
getfield com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter.services:[Ljava/lang/Object;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter com.oracle.truffle.api.instrumentation.InstrumentationHandler java.lang.Class top int int java.lang.Object[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 5
4: aload 2
aload 3
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter com.oracle.truffle.api.instrumentation.InstrumentationHandler java.lang.Class
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler$InstrumentClientInstrumenter;
0 8 1 handler Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
0 8 2 type Ljava/lang/Class<TT;>;
3 5 3 service Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
handler
type
}
SourceFile: "InstrumentationHandler.java"
NestHost: com.oracle.truffle.api.instrumentation.InstrumentationHandler
InnerClasses:
abstract AbstractInstrumenter = com.oracle.truffle.api.instrumentation.InstrumentationHandler$AbstractInstrumenter of com.oracle.truffle.api.instrumentation.InstrumentationHandler
final InstrumentClientInstrumenter = com.oracle.truffle.api.instrumentation.InstrumentationHandler$InstrumentClientInstrumenter of com.oracle.truffle.api.instrumentation.InstrumentationHandler
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument