public class com.sun.tools.example.debug.bdi.LineBreakpointSpec extends com.sun.tools.example.debug.bdi.BreakpointSpec
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.example.debug.bdi.LineBreakpointSpec
super_class: com.sun.tools.example.debug.bdi.BreakpointSpec
{
int lineNumber;
descriptor: I
flags: (0x0000)
void <init>(com.sun.tools.example.debug.bdi.EventRequestSpecList, com.sun.tools.example.debug.bdi.ReferenceTypeSpec, int);
descriptor: (Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;I)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial com.sun.tools.example.debug.bdi.BreakpointSpec.<init>:(Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;)V
1: aload 0
iload 3
putfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
0 3 1 specs Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
0 3 2 refSpec Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
0 3 3 lineNumber I
MethodParameters:
Name Flags
specs
refSpec
lineNumber
void resolve(com.sun.jdi.ReferenceType);
descriptor: (Lcom/sun/jdi/ReferenceType;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.sun.jdi.ClassType
ifne 2
1: new com.sun.jdi.InvalidTypeException
dup
invokespecial com.sun.jdi.InvalidTypeException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast com.sun.jdi.ClassType
invokevirtual com.sun.tools.example.debug.bdi.LineBreakpointSpec.location:(Lcom/sun/jdi/ClassType;)Lcom/sun/jdi/Location;
astore 2
start local 2 3: aload 0
aload 1
invokeinterface com.sun.jdi.ReferenceType.virtualMachine:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
4: aload 2
invokeinterface com.sun.jdi.request.EventRequestManager.createBreakpointRequest:(Lcom/sun/jdi/Location;)Lcom/sun/jdi/request/BreakpointRequest;
5: invokevirtual com.sun.tools.example.debug.bdi.LineBreakpointSpec.setRequest:(Lcom/sun/jdi/request/EventRequest;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
0 7 1 refType Lcom/sun/jdi/ReferenceType;
3 7 2 location Lcom/sun/jdi/Location;
Exceptions:
throws com.sun.jdi.InvalidTypeException, com.sun.tools.example.debug.bdi.LineNotFoundException
MethodParameters:
Name Flags
refType
private com.sun.jdi.Location location(com.sun.jdi.ClassType);
descriptor: (Lcom/sun/jdi/ClassType;)Lcom/sun/jdi/Location;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
aload 0
invokevirtual com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:()I
invokeinterface com.sun.jdi.ClassType.locationsOfLine:(I)Ljava/util/List;
astore 3
start local 3 2: aload 3
invokeinterface java.util.List.size:()I
ifne 4
3: new com.sun.tools.example.debug.bdi.LineNotFoundException
dup
invokespecial com.sun.tools.example.debug.bdi.LineNotFoundException.<init>:()V
athrow
4: StackMap locals: com.sun.jdi.Location java.util.List
StackMap stack:
aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.Location
astore 2
5: aload 2
invokeinterface com.sun.jdi.Location.method:()Lcom/sun/jdi/Method;
ifnonnull 9
6: new com.sun.tools.example.debug.bdi.LineNotFoundException
dup
invokespecial com.sun.tools.example.debug.bdi.LineNotFoundException.<init>:()V
athrow
end local 3 7: StackMap locals: com.sun.tools.example.debug.bdi.LineBreakpointSpec com.sun.jdi.ClassType com.sun.jdi.Location
StackMap stack: com.sun.jdi.AbsentInformationException
pop
8: new com.sun.tools.example.debug.bdi.LineNotFoundException
dup
invokespecial com.sun.tools.example.debug.bdi.LineNotFoundException.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
0 10 1 clazz Lcom/sun/jdi/ClassType;
1 10 2 location Lcom/sun/jdi/Location;
2 7 3 locs Ljava/util/List<Lcom/sun/jdi/Location;>;
Exception table:
from to target type
1 7 7 Class com.sun.jdi.AbsentInformationException
Exceptions:
throws com.sun.tools.example.debug.bdi.LineNotFoundException
MethodParameters:
Name Flags
clazz
public int lineNumber();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
invokeinterface com.sun.tools.example.debug.bdi.ReferenceTypeSpec.hashCode:()I
aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.sun.tools.example.debug.bdi.LineBreakpointSpec
ifeq 6
1: aload 1
checkcast com.sun.tools.example.debug.bdi.LineBreakpointSpec
astore 2
start local 2 2: aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
aload 2
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
invokeinterface com.sun.tools.example.debug.bdi.ReferenceTypeSpec.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
aload 2
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
if_icmpne 5
4: iconst_1
ireturn
StackMap locals: com.sun.tools.example.debug.bdi.LineBreakpointSpec
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
0 7 1 obj Ljava/lang/Object;
2 6 2 breakpoint Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
MethodParameters:
Name Flags
obj
public java.lang.String errorMessageFor(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.sun.tools.example.debug.bdi.LineNotFoundException
ifeq 2
1: new java.lang.StringBuilder
dup
ldc "No code at line "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.sun.jdi.InvalidTypeException
ifeq 6
3: new java.lang.StringBuilder
dup
ldc "Breakpoints can be located only in classes. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is an interface or array"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.example.debug.bdi.BreakpointSpec.errorMessageFor:(Ljava/lang/Exception;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
0 7 1 e Ljava/lang/Exception;
MethodParameters:
Name Flags
e
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
ldc "breakpoint "
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.refSpec:Lcom/sun/tools/example/debug/bdi/ReferenceTypeSpec;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
bipush 58
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
3: aload 1
aload 0
getfield com.sun.tools.example.debug.bdi.LineBreakpointSpec.lineNumber:I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc " ("
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 1
aload 0
invokevirtual com.sun.tools.example.debug.bdi.LineBreakpointSpec.getStatusString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 1
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
7: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/bdi/LineBreakpointSpec;
1 8 1 buffer Ljava/lang/StringBuffer;
}
SourceFile: "LineBreakpointSpec.java"