class com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder implements com.oracle.truffle.api.nodes.NodeVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder
super_class: java.lang.Object
{
private final int expectedOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bestOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
start local 1 // int expectedOffset
0: .line 145
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 143
aload 0 /* this */
ldc 2147483647
putfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.bestOffset:I
2: .line 146
aload 0 /* this */
iload 1 /* expectedOffset */
putfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.expectedOffset:I
3: .line 147
return
end local 1 // int expectedOffset
end local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/node/debug/SetBreakPointNode$BreakPointOffsetFinder;
0 4 1 expectedOffset I
MethodParameters:
Name Flags
expectedOffset
int getBestOffset();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
0: .line 150
aload 0 /* this */
getfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.bestOffset:I
ldc 2147483647
if_icmpne 1
aload 0 /* this */
getfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.expectedOffset:I
goto 2
StackMap locals:
StackMap stack:
1: aload 0 /* this */
getfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.bestOffset:I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/node/debug/SetBreakPointNode$BreakPointOffsetFinder;
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=4, args_size=2
start local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
start local 1 // com.oracle.truffle.api.nodes.Node node
0: .line 155
aload 1 /* node */
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 6
aload 1 /* node */
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 6
1: .line 156
aload 1 /* node */
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2 /* section */
start local 2 // com.oracle.truffle.api.source.SourceSection section
2: .line 157
aload 2 /* section */
ifnull 6
aload 2 /* section */
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifeq 6
3: .line 158
aload 2 /* section */
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
istore 3 /* offset */
start local 3 // int offset
4: .line 159
aload 0 /* this */
getfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.expectedOffset:I
iload 3 /* offset */
if_icmpgt 6
iload 3 /* offset */
aload 0 /* this */
getfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.bestOffset:I
if_icmpge 6
5: .line 160
aload 0 /* this */
iload 3 /* offset */
putfield com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder.bestOffset:I
end local 3 // int offset
end local 2 // com.oracle.truffle.api.source.SourceSection section
6: .line 164
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 // com.oracle.truffle.api.nodes.Node node
end local 0 // com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/node/debug/SetBreakPointNode$BreakPointOffsetFinder;
0 7 1 node Lcom/oracle/truffle/api/nodes/Node;
2 6 2 section Lcom/oracle/truffle/api/source/SourceSection;
4 6 3 offset I
MethodParameters:
Name Flags
node
}
SourceFile: "SetBreakPointNode.java"
NestHost: com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode
InnerClasses:
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
BreakPointOffsetFinder = com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode$BreakPointOffsetFinder of com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode