public final class com.oracle.truffle.api.debug.StepConfig$Builder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.debug.StepConfig$Builder
super_class: java.lang.Object
{
private java.util.Set<com.oracle.truffle.api.debug.SourceElement> stepElements;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lcom/oracle/truffle/api/debug/SourceElement;>;
private java.util.Map<com.oracle.truffle.api.debug.SourceElement, java.util.Set<com.oracle.truffle.api.debug.SuspendAnchor>> preferredAnchors;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/oracle/truffle/api/debug/SourceElement;Ljava/util/Set<Lcom/oracle/truffle/api/debug/SuspendAnchor;>;>;
private int stepCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final com.oracle.truffle.api.debug.StepConfig this$0;
descriptor: Lcom/oracle/truffle/api/debug/StepConfig;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.api.debug.StepConfig);
descriptor: (Lcom/oracle/truffle/api/debug/StepConfig;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.debug.StepConfig$Builder.this$0:Lcom/oracle/truffle/api/debug/StepConfig;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/StepConfig$Builder;
MethodParameters:
Name Flags
this$0 final
public com.oracle.truffle.api.debug.StepConfig$Builder sourceElements(com.oracle.truffle.api.debug.SourceElement[]);
descriptor: ([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/StepConfig$Builder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Step source elements can only be set once per the builder."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "At least one source element needs to be provided."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
if_icmpne 7
5: aload 0
aload 1
iconst_0
aaload
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
putfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
new java.util.HashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/debug/StepConfig$Builder;
0 9 1 elements [Lcom/oracle/truffle/api/debug/SourceElement;
MethodParameters:
Name Flags
elements
public com.oracle.truffle.api.debug.StepConfig$Builder suspendAnchors(com.oracle.truffle.api.debug.SourceElement, com.oracle.truffle.api.debug.SuspendAnchor[]);
descriptor: (Lcom/oracle/truffle/api/debug/SourceElement;[Lcom/oracle/truffle/api/debug/SuspendAnchor;)Lcom/oracle/truffle/api/debug/StepConfig$Builder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "At least one anchor needs to be provided."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ldc "SourceElement must not be null."
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
ifnonnull 5
4: aload 0
new java.util.EnumMap
dup
ldc Lcom/oracle/truffle/api/debug/SourceElement;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
5: StackMap locals:
StackMap stack:
aload 2
arraylength
iconst_1
if_icmpne 11
6: aload 2
iconst_0
aaload
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 9
7: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 1
getstatic com.oracle.truffle.api.debug.DebuggerSession.ANCHOR_SET_BEFORE:Ljava/util/Set;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 12
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 1
getstatic com.oracle.truffle.api.debug.DebuggerSession.ANCHOR_SET_AFTER:Ljava/util/Set;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 1
getstatic com.oracle.truffle.api.debug.DebuggerSession.ANCHOR_SET_ALL:Ljava/util/Set;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/debug/StepConfig$Builder;
0 13 1 element Lcom/oracle/truffle/api/debug/SourceElement;
0 13 2 anchors [Lcom/oracle/truffle/api/debug/SuspendAnchor;
MethodParameters:
Name Flags
element
anchors
public com.oracle.truffle.api.debug.StepConfig$Builder count(int);
descriptor: (I)Lcom/oracle/truffle/api/debug/StepConfig$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "Step count must be > 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
ifle 4
3: new java.lang.IllegalStateException
dup
ldc "Step count can only be set once per the builder."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
5: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/debug/StepConfig$Builder;
0 6 1 count I
MethodParameters:
Name Flags
count
public com.oracle.truffle.api.debug.StepConfig build();
descriptor: ()Lcom/oracle/truffle/api/debug/StepConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
ifge 2
1: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
ifnonnull 5
3: aload 0
getstatic com.oracle.truffle.api.debug.StepConfig.defaultAnchors:Ljava/util/Map;
putfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
4: goto 14
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
ifnull 6
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
goto 7
StackMap locals:
StackMap stack:
6: getstatic com.oracle.truffle.api.debug.StepConfig.allElements:Ljava/util/Collection;
StackMap locals:
StackMap stack: java.util.Collection
7: astore 1
start local 1 8: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ifne 14
9: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: com.oracle.truffle.api.debug.StepConfig$Builder java.util.Collection top java.util.Iterator
StackMap stack:
10: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.SourceElement
astore 2
start local 2 11: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 13
12: aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 2
getstatic com.oracle.truffle.api.debug.StepConfig.defaultAnchors:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 1 14: StackMap locals: com.oracle.truffle.api.debug.StepConfig$Builder
StackMap stack:
new com.oracle.truffle.api.debug.StepConfig
dup
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepElements:Ljava/util/Set;
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.preferredAnchors:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.api.debug.StepConfig$Builder.stepCount:I
invokespecial com.oracle.truffle.api.debug.StepConfig.<init>:(Ljava/util/Set;Ljava/util/Map;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/debug/StepConfig$Builder;
8 14 1 possibleElements Ljava/util/Collection<Lcom/oracle/truffle/api/debug/SourceElement;>;
11 13 2 elem Lcom/oracle/truffle/api/debug/SourceElement;
}
SourceFile: "StepConfig.java"
NestHost: com.oracle.truffle.api.debug.StepConfig
InnerClasses:
public final Builder = com.oracle.truffle.api.debug.StepConfig$Builder of com.oracle.truffle.api.debug.StepConfig