final class com.oracle.truffle.api.debug.SuspendableLocationFinder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.debug.SuspendableLocationFinder
super_class: java.lang.Object
{
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/SuspendableLocationFinder;
static com.oracle.truffle.api.source.SourceSection findNearest(com.oracle.truffle.api.source.Source, com.oracle.truffle.api.debug.SourceElement[], int, int, com.oracle.truffle.api.debug.SuspendAnchor, com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/source/Source;[Lcom/oracle/truffle/api/debug/SourceElement;IILcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iload 2
istore 6
start local 6 3: iload 3
istore 7
start local 7 4: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLineCount:()I
istore 8
start local 8 5: iload 6
iload 8
if_icmple 7
6: iload 8
istore 6
7: StackMap locals: int int int
StackMap stack:
aload 0
iload 6
invokevirtual com.oracle.truffle.api.source.Source.getLineLength:(I)I
iconst_1
iadd
istore 9
start local 9 8: iload 7
iload 9
if_icmple 10
9: iload 9
istore 7
10: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder.getElementTags:([Lcom/oracle/truffle/api/debug/SourceElement;)Ljava/util/Set;
iload 6
iload 7
aload 4
aload 5
invokestatic com.oracle.truffle.api.debug.SuspendableLocationFinder.findNearestBound:(Lcom/oracle/truffle/api/source/Source;Ljava/util/Set;IILcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 source Lcom/oracle/truffle/api/source/Source;
0 11 1 sourceElements [Lcom/oracle/truffle/api/debug/SourceElement;
0 11 2 line I
0 11 3 column I
0 11 4 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
0 11 5 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
3 11 6 boundLine I
4 11 7 boundColumn I
5 11 8 maxLine I
8 11 9 maxColumn I
MethodParameters:
Name Flags
source
sourceElements
line
column
anchor
env
private static java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>> getElementTags(com.oracle.truffle.api.debug.SourceElement[]);
descriptor: ([Lcom/oracle/truffle/api/debug/SourceElement;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 2
1: aload 0
iconst_0
aaload
invokevirtual com.oracle.truffle.api.debug.SourceElement.getTag:()Ljava/lang/Class;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: java.util.Set int
StackMap stack:
aload 1
aload 0
iload 2
aaload
invokevirtual com.oracle.truffle.api.debug.SourceElement.getTag:()Ljava/lang/Class;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sourceElements [Lcom/oracle/truffle/api/debug/SourceElement;
3 9 1 elementTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
4 8 2 i I
Signature: ([Lcom/oracle/truffle/api/debug/SourceElement;)Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
MethodParameters:
Name Flags
sourceElements
private static com.oracle.truffle.api.source.SourceSection findNearestBound(com.oracle.truffle.api.source.Source, java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>, int, int, com.oracle.truffle.api.debug.SuspendAnchor, com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/source/Source;Ljava/util/Set;IILcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 2
invokevirtual com.oracle.truffle.api.source.Source.getLineStartOffset:(I)I
istore 6
start local 6 1: iload 3
ifle 3
2: iload 6
iload 3
iconst_1
isub
iadd
istore 6
3: StackMap locals: int
StackMap stack:
new com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections
dup
aload 1
iload 3
ifgt 4
iload 2
goto 5
StackMap locals: com.oracle.truffle.api.source.Source java.util.Set int int com.oracle.truffle.api.debug.SuspendAnchor com.oracle.truffle.api.instrumentation.TruffleInstrument$Env int
StackMap stack: new 3 new 3 java.util.Set
4: iconst_0
StackMap locals: com.oracle.truffle.api.source.Source java.util.Set int int com.oracle.truffle.api.debug.SuspendAnchor com.oracle.truffle.api.instrumentation.TruffleInstrument$Env int
StackMap stack: new 3 new 3 java.util.Set int
5: iload 6
aload 4
invokespecial com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.<init>:(Ljava/util/Set;IILcom/oracle/truffle/api/debug/SuspendAnchor;)V
astore 7
start local 7 6: aload 5
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
7: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray com.oracle.truffle.api.source.Source
dup
iconst_0
aload 0
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceIs:([Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
8: aload 7
9: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
10: aload 7
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.getExactSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 8
start local 8 11: aload 8
ifnull 13
12: aload 8
areturn
13: StackMap locals: com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 7
getfield com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.isOffsetInRoot:Z
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.getContainsNode:()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
astore 9
start local 9 16: aload 9
ifnonnull 18
17: aload 7
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.getNextNode:()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
astore 9
18: StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentableNode
StackMap stack:
aload 9
ifnonnull 20
19: aload 7
invokevirtual com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections.getPreviousNode:()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
astore 9
20: StackMap locals:
StackMap stack:
aload 9
ifnonnull 22
21: aconst_null
areturn
22: StackMap locals:
StackMap stack:
aload 9
iload 6
aload 1
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.findNearestNodeAt:(ILjava/util/Set;)Lcom/oracle/truffle/api/nodes/Node;
astore 10
start local 10 23: aload 10
ifnonnull 25
24: aconst_null
areturn
25: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 10
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 source Lcom/oracle/truffle/api/source/Source;
0 26 1 elementTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
0 26 2 line I
0 26 3 column I
0 26 4 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
0 26 5 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
1 26 6 offset I
6 26 7 sectionsCollector Lcom/oracle/truffle/api/debug/SuspendableLocationFinder$NearestSections;
11 26 8 section Lcom/oracle/truffle/api/source/SourceSection;
16 26 9 contextNode Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
23 26 10 node Lcom/oracle/truffle/api/nodes/Node;
Signature: (Lcom/oracle/truffle/api/source/Source;Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;IILcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
source
elementTags
line
column
anchor
env
}
SourceFile: "SuspendableLocationFinder.java"
NestMembers:
com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections
InnerClasses:
private final LinkedNodes = com.oracle.truffle.api.debug.SuspendableLocationFinder$LinkedNodes of com.oracle.truffle.api.debug.SuspendableLocationFinder
private NearestSections = com.oracle.truffle.api.debug.SuspendableLocationFinder$NearestSections of com.oracle.truffle.api.debug.SuspendableLocationFinder
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument