public final class com.oracle.truffle.api.debug.Breakpoint$Builder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.debug.Breakpoint$Builder
super_class: java.lang.Object
{
private final java.lang.Object key;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int line;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.SuspendAnchor anchor;
descriptor: Lcom/oracle/truffle/api/debug/SuspendAnchor;
flags: (0x0002) ACC_PRIVATE
private int column;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.Breakpoint$ResolveListener resolveListener;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
flags: (0x0002) ACC_PRIVATE
private int ignoreCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean oneShot;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.DebugValue rootInstance;
descriptor: Lcom/oracle/truffle/api/debug/DebugValue;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.source.SourceSection sourceSection;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.debug.SourceElement[] sourceElements;
descriptor: [Lcom/oracle/truffle/api/debug/SourceElement;
flags: (0x0002) ACC_PRIVATE
final com.oracle.truffle.api.debug.Breakpoint this$0;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.api.debug.Breakpoint, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.this$0:Lcom/oracle/truffle/api/debug/Breakpoint;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.line:I
2: aload 0
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
3: aload 0
iconst_m1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.column:I
4: aload 2
ifnonnull 7
5: aload 0
getstatic com.oracle.truffle.api.debug.BreakpointLocation.ANY_SOURCE:Ljava/net/URI;
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.key:Ljava/lang/Object;
6: goto 8
7: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$Builder com.oracle.truffle.api.debug.Breakpoint java.lang.Object
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.key:Ljava/lang/Object;
8: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 9 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
this$0 final
key
private void <init>(com.oracle.truffle.api.debug.Breakpoint, com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/source/SourceSection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokespecial com.oracle.truffle.api.debug.Breakpoint$Builder.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Ljava/lang/Object;)V
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 2
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 4 2 key Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
this$0 final
key
public com.oracle.truffle.api.debug.Breakpoint$Builder lineIs(int);
descriptor: (I)Lcom/oracle/truffle/api/debug/Breakpoint$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 "Line argument 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.Breakpoint$Builder.line:I
iconst_m1
if_icmpeq 4
3: new java.lang.IllegalStateException
dup
ldc "LineIs can only be called once per breakpoint builder."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 6
5: new java.lang.IllegalArgumentException
dup
ldc "LineIs cannot be used with source section based breakpoint. "
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.line:I
7: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 8 1 line I
MethodParameters:
Name Flags
line
public com.oracle.truffle.api.debug.Breakpoint$Builder suspendAnchor(com.oracle.truffle.api.debug.SuspendAnchor);
descriptor: (Lcom/oracle/truffle/api/debug/SuspendAnchor;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 2 1 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
MethodParameters:
Name Flags
anchor
public com.oracle.truffle.api.debug.Breakpoint$Builder columnIs(int);
descriptor: (I)Lcom/oracle/truffle/api/debug/Breakpoint$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 "Column argument 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.Breakpoint$Builder.line:I
iconst_m1
if_icmpne 4
3: new java.lang.IllegalStateException
dup
ldc "ColumnIs can only be called after a line is set."
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.Breakpoint$Builder.column: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/Breakpoint$Builder;
0 6 1 column I
MethodParameters:
Name Flags
column
public com.oracle.truffle.api.debug.Breakpoint$Builder resolveListener(com.oracle.truffle.api.debug.Breakpoint$ResolveListener);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
ifnull 3
2: new java.lang.IllegalStateException
dup
ldc "ResolveListener can only be set once per breakpoint builder."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 5 1 resolveListener Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
MethodParameters:
Name Flags
resolveListener
public com.oracle.truffle.api.debug.Breakpoint$Builder ignoreCount(int);
descriptor: (I)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "IgnoreCount argument must be >= 0."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.ignoreCount:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 4 1 ignoreCount I
MethodParameters:
Name Flags
ignoreCount
public com.oracle.truffle.api.debug.Breakpoint$Builder oneShot();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.oneShot:Z
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
public com.oracle.truffle.api.debug.Breakpoint$Builder sourceElements(com.oracle.truffle.api.debug.SourceElement[]);
descriptor: ([Lcom/oracle/truffle/api/debug/SourceElement;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
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 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
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/Breakpoint$Builder;
0 6 1 sourceElements [Lcom/oracle/truffle/api/debug/SourceElement;
MethodParameters:
Name Flags
sourceElements
public com.oracle.truffle.api.debug.Breakpoint$Builder rootInstance(com.oracle.truffle.api.debug.DebugValue);
descriptor: (Lcom/oracle/truffle/api/debug/DebugValue;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:Lcom/oracle/truffle/api/debug/DebugValue;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
0 2 1 rootInstance Lcom/oracle/truffle/api/debug/DebugValue;
MethodParameters:
Name Flags
rootInstance
public com.oracle.truffle.api.debug.Breakpoint build();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
ifnonnull 2
1: aload 0
iconst_1
anewarray com.oracle.truffle.api.debug.SourceElement
dup
iconst_0
getstatic com.oracle.truffle.api.debug.SourceElement.STATEMENT:Lcom/oracle/truffle/api/debug/SourceElement;
aastore
putfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
ifnull 5
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.key:Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokestatic com.oracle.truffle.api.debug.BreakpointLocation.create:(Ljava/lang/Object;[Lcom/oracle/truffle/api/debug/SourceElement;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/api/debug/BreakpointLocation;
astore 1
start local 1 4: goto 6
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.key:Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.sourceElements:[Lcom/oracle/truffle/api/debug/SourceElement;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.line:I
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.column:I
invokestatic com.oracle.truffle.api.debug.BreakpointLocation.create:(Ljava/lang/Object;[Lcom/oracle/truffle/api/debug/SourceElement;II)Lcom/oracle/truffle/api/debug/BreakpointLocation;
astore 1
start local 1 6: StackMap locals: com.oracle.truffle.api.debug.BreakpointLocation
StackMap stack:
new com.oracle.truffle.api.debug.Breakpoint
dup
7: aload 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.anchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.oneShot:Z
aconst_null
8: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:Lcom/oracle/truffle/api/debug/DebugValue;
ifnull 9
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.rootInstance:Lcom/oracle/truffle/api/debug/DebugValue;
invokevirtual com.oracle.truffle.api.debug.DebugValue.get:()Ljava/lang/Object;
goto 10
StackMap locals: com.oracle.truffle.api.debug.Breakpoint$Builder com.oracle.truffle.api.debug.BreakpointLocation
StackMap stack: new 6 new 6 com.oracle.truffle.api.debug.BreakpointLocation com.oracle.truffle.api.debug.SuspendAnchor int null
9: aconst_null
10: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$Builder com.oracle.truffle.api.debug.BreakpointLocation
StackMap stack: new 6 new 6 com.oracle.truffle.api.debug.BreakpointLocation com.oracle.truffle.api.debug.SuspendAnchor int null java.lang.Object
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
11: invokespecial com.oracle.truffle.api.debug.Breakpoint.<init>:(Lcom/oracle/truffle/api/debug/BreakpointLocation;Lcom/oracle/truffle/api/debug/SuspendAnchor;ZLcom/oracle/truffle/api/debug/BreakpointExceptionFilter;Ljava/lang/Object;Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;)V
astore 2
start local 2 12: aload 2
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$Builder.ignoreCount:I
invokevirtual com.oracle.truffle.api.debug.Breakpoint.setIgnoreCount:(I)V
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
4 5 1 location Lcom/oracle/truffle/api/debug/BreakpointLocation;
6 14 1 location Lcom/oracle/truffle/api/debug/BreakpointLocation;
12 14 2 breakpoint Lcom/oracle/truffle/api/debug/Breakpoint;
}
SourceFile: "Breakpoint.java"
NestHost: com.oracle.truffle.api.debug.Breakpoint
InnerClasses:
public final Builder = com.oracle.truffle.api.debug.Breakpoint$Builder of com.oracle.truffle.api.debug.Breakpoint
public abstract ResolveListener = com.oracle.truffle.api.debug.Breakpoint$ResolveListener of com.oracle.truffle.api.debug.Breakpoint