class com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory implements com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory
super_class: java.lang.Object
{
private final com.oracle.truffle.api.source.Source snippet;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.function.Predicate<org.graalvm.polyglot.SourceSection> predicate;
descriptor: Ljava/util/function/Predicate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Predicate<Lorg/graalvm/polyglot/SourceSection;>;
private final com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier resultVerifier;
descriptor: Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
volatile boolean snippetExecuted;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final com.oracle.truffle.tck.instrumentation.VerifierInstrument this$0;
descriptor: Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.tck.instrumentation.VerifierInstrument, java.lang.String, org.graalvm.polyglot.tck.InlineSnippet, com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier);
descriptor: (Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;Ljava/lang/String;Lorg/graalvm/polyglot/tck/InlineSnippet;Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippetExecuted:Z
2: aload 3
invokevirtual org.graalvm.polyglot.tck.InlineSnippet.getCode:()Ljava/lang/CharSequence;
astore 5
start local 5 3: aload 0
aload 2
aload 5
ldc "inline_source"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippet:Lcom/oracle/truffle/api/source/Source;
4: aload 0
aload 3
invokevirtual org.graalvm.polyglot.tck.InlineSnippet.getLocationPredicate:()Ljava/util/function/Predicate;
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
5: aload 0
aload 4
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.resultVerifier:Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
6: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
0 7 2 languageId Ljava/lang/String;
0 7 3 inlineSnippet Lorg/graalvm/polyglot/tck/InlineSnippet;
0 7 4 verifier Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
3 7 5 code Ljava/lang/CharSequence;
MethodParameters:
Name Flags
this$0 final
languageId
inlineSnippet
verifier
public com.oracle.truffle.api.instrumentation.ExecutionEventNode create(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.isEntered:()Z
ifne 3
1: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
ifnull 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.canRunAt:(Lcom/oracle/truffle/api/source/SourceSection;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode
dup
aload 0
aload 1
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.<init>:(Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
0 4 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
MethodParameters:
Name Flags
context
private boolean canRunAt(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor.instrumentAccess:()Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aconst_null
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createSourceSection:(Ljava/lang/Object;Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
aload 2
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
0 2 1 ss Lcom/oracle/truffle/api/source/SourceSection;
1 2 2 section Lorg/graalvm/polyglot/SourceSection;
MethodParameters:
Name Flags
ss
static com.oracle.truffle.tck.instrumentation.VerifierInstrument access$0(com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory);
descriptor: (Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;)Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "VerifierInstrument.java"
NestHost: com.oracle.truffle.tck.instrumentation.VerifierInstrument
InnerClasses:
public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public abstract ResultVerifier = com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier of com.oracle.truffle.tck.common.inline.InlineVerifier
private InlineScriptFactory = com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private InlineScriptNode = com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode of com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory
final TruffleTCKAccessor = com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor of com.oracle.truffle.tck.instrumentation.VerifierInstrument