public class com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument extends com.oracle.truffle.api.instrumentation.TruffleInstrument implements com.oracle.truffle.api.instrumentation.ContextsListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument
super_class: com.oracle.truffle.api.instrumentation.TruffleInstrument
{
static final java.lang.String ID;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "testing-agent"
private com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0002) ACC_PRIVATE
static final org.graalvm.options.OptionKey<java.lang.Boolean> ENABLED;
descriptor: Lorg/graalvm/options/OptionKey;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/options/OptionKey<Ljava/lang/Boolean;>;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option(name = "", help = "Enable testing instrument.", category = org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.graalvm.options.OptionKey
dup
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial org.graalvm.options.OptionKey.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument.ENABLED:Lorg/graalvm/options/OptionKey;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.instrumentation.TruffleInstrument.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
protected org.graalvm.options.OptionDescriptors getOptionDescriptors();
descriptor: ()Lorg/graalvm/options/OptionDescriptors;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tForeignCallTestingInstrumentOptionDescriptors cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
protected void onCreate(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
1: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 0
iconst_0
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachContextsListener:(Lcom/oracle/truffle/api/instrumentation/ContextsListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 1
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.registerService:(Ljava/lang/Object;)V
3: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags.ALL:[Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
astore 2
start local 2 4: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_3
anewarray java.lang.Class
dup
iconst_0
5: ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
aastore
dup
iconst_1
6: ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
aastore
dup
iconst_2
7: ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;
aastore
8: invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
9: invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
10: astore 3
start local 3 11: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 2
aload 3
aload 0
invokedynamic create(Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument.lambda$0(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
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;
pop
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 13 1 environment Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
4 13 2 sourceSectionFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
11 13 3 inputGeneratingObjects Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
MethodParameters:
Name Flags
environment final
public void onLanguageContextInitialized(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
aload 0
getfield com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getPolyglotBindings:()Ljava/lang/Object;
ldc "testingControlValue"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
1: goto 4
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
2: astore 3
start local 3 3: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 5 1 context Lcom/oracle/truffle/api/TruffleContext;
0 5 2 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
3 4 3 e Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.UnsupportedMessageException
0 1 2 Class com.oracle.truffle.api.interop.UnknownIdentifierException
0 1 2 Class com.oracle.truffle.api.interop.UnsupportedTypeException
MethodParameters:
Name Flags
context
language
protected void onDispose(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0004) ACC_PROTECTED
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/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 environment Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
MethodParameters:
Name Flags
environment final
public void onContextCreated(com.oracle.truffle.api.TruffleContext);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;)V
flags: (0x0001) ACC_PUBLIC
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/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 context Lcom/oracle/truffle/api/TruffleContext;
MethodParameters:
Name Flags
context
public void onLanguageContextCreated(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 context Lcom/oracle/truffle/api/TruffleContext;
0 1 2 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
MethodParameters:
Name Flags
context
language
public void onLanguageContextFinalized(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 context Lcom/oracle/truffle/api/TruffleContext;
0 1 2 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
MethodParameters:
Name Flags
context
language
public void onLanguageContextDisposed(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 context Lcom/oracle/truffle/api/TruffleContext;
0 1 2 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
MethodParameters:
Name Flags
context
language
public void onContextClosed(com.oracle.truffle.api.TruffleContext);
descriptor: (Lcom/oracle/truffle/api/TruffleContext;)V
flags: (0x0001) ACC_PUBLIC
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/trufflenode/test/ForeignCallTestingInstrument;
0 1 1 context Lcom/oracle/truffle/api/TruffleContext;
MethodParameters:
Name Flags
context
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$0(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument$1
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument$1.<init>:(Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;)V
1: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;
0 2 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
}
SourceFile: "ForeignCallTestingInstrument.java"
NestMembers:
com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument$1 com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument$2
InnerClasses:
public abstract Group = com.oracle.truffle.api.Option$Group of com.oracle.truffle.api.Option
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder 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 StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public abstract Registration = com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration of com.oracle.truffle.api.instrumentation.TruffleInstrument
public final InputNodeTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$InputNodeTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
com.oracle.truffle.trufflenode.test.ForeignCallTestingInstrument$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(id = "testing-agent", name = "Test Instrument", services = {Lcom/oracle/truffle/trufflenode/test/ForeignCallTestingInstrument;})
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.Option$Group(value = {"testing-agent"})