final class com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary implements com.oracle.truffle.api.nodes.NodeVisitor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary
super_class: java.lang.Object
{
private int inLibrary;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary;
public boolean visit(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.preEnter:(Lcom/oracle/truffle/api/nodes/Node;)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.checkInstrumentable:(Lcom/oracle/truffle/api/nodes/Node;)V
2: aload 1
aload 0
invokestatic com.oracle.truffle.api.nodes.NodeUtil.forEachChild:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/NodeVisitor;)Z
pop
3: aload 0
aload 1
invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.postEnter:(Lcom/oracle/truffle/api/nodes/Node;)V
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary;
0 5 1 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private void checkInstrumentable(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.inLibrary:I
ifle 7
aload 1
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 7
aload 1
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.isInstrumentable:()Z
ifeq 7
1: new java.lang.StringBuilder
dup
ldc "Node \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\" of class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is instrumentable, but used in Library. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "Library implementation nodes ought not to be instrumentable, because library may be rewritten to uncached and therefore no longer be able to be instrumented.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "InstrumentableNode.isInstrumentable() should return false in the context of a Library."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: iconst_1
6: invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)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/tck/instrumentation/VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary;
0 8 1 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private void preEnter(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.library.Library
ifeq 2
1: aload 0
dup
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.inLibrary:I
iconst_1
iadd
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.inLibrary:I
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary;
0 3 1 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private void postEnter(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.library.Library
ifeq 2
1: aload 0
dup
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.inLibrary:I
iconst_1
isub
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary.inLibrary:I
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary;
0 3 1 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
}
SourceFile: "VerifierInstrument.java"
NestHost: com.oracle.truffle.tck.instrumentation.VerifierInstrument
InnerClasses:
private LibraryChecker = com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private final LibraryCheckerNode = com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode of com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker
private final InstrumentableNodeInLibrary = com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary of com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode