class com.sun.tools.example.debug.tty.Commands
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.tty.Commands
super_class: java.lang.Object
{
static java.lang.String methodTraceCommand;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
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/sun/tools/example/debug/tty/Commands;
private com.sun.jdi.Value evaluate(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/jdi/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrame:()Lcom/sun/jdi/StackFrame;
ifnull 5
4: new com.sun.tools.example.debug.tty.Commands$1
dup
aload 0
aload 4
invokespecial com.sun.tools.example.debug.tty.Commands$1.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
astore 3
5: StackMap locals: com.sun.jdi.Value com.sun.tools.example.debug.expr.ExpressionParser$GetFrame com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 1
invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
aload 3
invokestatic com.sun.tools.example.debug.expr.ExpressionParser.evaluate:(Ljava/lang/String;Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/expr/ExpressionParser$GetFrame;)Lcom/sun/jdi/Value;
astore 2
end local 4 6: goto 22
StackMap locals: com.sun.tools.example.debug.tty.Commands java.lang.String com.sun.jdi.Value com.sun.tools.example.debug.expr.ExpressionParser$GetFrame
StackMap stack: com.sun.jdi.InvocationException
7: astore 4
start local 4 8: ldc "Exception in expression:"
9: aload 4
invokevirtual com.sun.jdi.InvocationException.exception:()Lcom/sun/jdi/ObjectReference;
invokeinterface com.sun.jdi.ObjectReference.referenceType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
10: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 11: goto 22
12: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 13: aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
astore 5
start local 5 14: aload 5
ifnonnull 17
15: aload 5
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printException:(Ljava/lang/String;Ljava/lang/Exception;)V
16: goto 22
17: StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 18: goto 21
end local 6 StackMap locals:
StackMap stack: java.util.MissingResourceException
19: pop
20: aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
astore 6
start local 6 21: StackMap locals: java.lang.String
StackMap stack:
aload 6
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 23 1 expr Ljava/lang/String;
1 23 2 result Lcom/sun/jdi/Value;
2 23 3 frameGetter Lcom/sun/tools/example/debug/expr/ExpressionParser$GetFrame;
3 6 4 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
8 11 4 ie Lcom/sun/jdi/InvocationException;
13 22 4 ex Ljava/lang/Exception;
14 22 5 exMessage Ljava/lang/String;
18 19 6 s Ljava/lang/String;
21 22 6 s Ljava/lang/String;
Exception table:
from to target type
2 6 7 Class com.sun.jdi.InvocationException
2 6 12 Class java.lang.Exception
17 18 19 Class java.util.MissingResourceException
MethodParameters:
Name Flags
expr
private java.lang.String getStringValue();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: invokestatic com.sun.tools.example.debug.expr.ExpressionParser.getMassagedValue:()Lcom/sun/jdi/Value;
astore 1
3: aload 1
invokeinterface com.sun.jdi.Value.toString:()Ljava/lang/String;
astore 2
4: goto 15
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.Value java.lang.String
StackMap stack: com.sun.tools.example.debug.expr.ParseException
5: astore 3
start local 3 6: aload 3
invokevirtual com.sun.tools.example.debug.expr.ParseException.getMessage:()Ljava/lang/String;
astore 4
start local 4 7: aload 4
ifnonnull 10
8: aload 4
aload 3
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printException:(Ljava/lang/String;Ljava/lang/Exception;)V
9: goto 15
10: StackMap locals: com.sun.tools.example.debug.expr.ParseException java.lang.String
StackMap stack:
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 11: goto 14
end local 5 StackMap locals:
StackMap stack: java.util.MissingResourceException
12: pop
13: aload 3
invokevirtual com.sun.tools.example.debug.expr.ParseException.toString:()Ljava/lang/String;
astore 5
start local 5 14: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
end local 5 end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 16 1 val Lcom/sun/jdi/Value;
2 16 2 valStr Ljava/lang/String;
6 15 3 e Lcom/sun/tools/example/debug/expr/ParseException;
7 15 4 msg Ljava/lang/String;
11 12 5 s Ljava/lang/String;
14 15 5 s Ljava/lang/String;
Exception table:
from to target type
2 4 5 Class com.sun.tools.example.debug.expr.ParseException
10 11 12 Class java.util.MissingResourceException
private com.sun.tools.example.debug.tty.ThreadInfo doGetThread(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: ldc "is not a valid thread id"
aload 1
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 4 1 idToken Ljava/lang/String;
1 4 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
idToken
java.lang.String typedName(com.sun.jdi.Method);
descriptor: (Lcom/sun/jdi/Method;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface com.sun.jdi.Method.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 2
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
invokeinterface com.sun.jdi.Method.argumentTypeNames:()Ljava/util/List;
astore 3
start local 3 4: aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 10
7: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.Method java.lang.StringBuilder java.util.List int int
StackMap stack:
aload 2
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 7
end local 5 11: iload 4
iflt 18
12: aload 3
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 13: aload 1
invokeinterface com.sun.jdi.Method.isVarArgs:()Z
ifeq 17
14: aload 2
aload 5
iconst_0
aload 5
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 2
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 18
17: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.Method java.lang.StringBuilder java.util.List int java.lang.String
StackMap stack:
aload 2
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 18: StackMap locals:
StackMap stack:
aload 2
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 20 1 method Lcom/sun/jdi/Method;
1 20 2 sb Ljava/lang/StringBuilder;
4 20 3 args Ljava/util/List<Ljava/lang/String;>;
5 20 4 lastParam I
6 11 5 ii I
13 18 5 lastStr Ljava/lang/String;
MethodParameters:
Name Flags
method
void commandConnectors(com.sun.jdi.VirtualMachineManager);
descriptor: (Lcom/sun/jdi/VirtualMachineManager;)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.jdi.VirtualMachineManager.allConnectors:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 3
2: ldc "Connectors available"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: StackMap locals: java.util.Collection
StackMap stack:
aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 31
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector
astore 3
start local 3 5: aload 3
invokeinterface com.sun.jdi.connect.Connector.transport:()Lcom/sun/jdi/connect/Transport;
ifnonnull 6
ldc "null"
goto 7
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection com.sun.jdi.connect.Connector java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface com.sun.jdi.connect.Connector.transport:()Lcom/sun/jdi/connect/Transport;
invokeinterface com.sun.jdi.connect.Transport.name:()Ljava/lang/String;
7: StackMap locals:
StackMap stack: java.lang.String
astore 5
start local 5 8: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:()V
9: ldc "Connector and Transport name"
10: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokeinterface com.sun.jdi.connect.Connector.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 5
aastore
11: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
12: ldc "Connector description"
aload 3
invokeinterface com.sun.jdi.connect.Connector.description:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
13: aload 3
invokeinterface com.sun.jdi.connect.Connector.defaultArguments:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 30
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection com.sun.jdi.connect.Connector java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 6
start local 6 15: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:()V
16: aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.mustSpecify:()Z
istore 8
start local 8 17: aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.value:()Ljava/lang/String;
ifnull 18
aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.value:()Ljava/lang/String;
ldc ""
if_acmpne 24
18: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection com.sun.jdi.connect.Connector java.util.Iterator java.lang.String com.sun.jdi.connect.Connector$Argument java.util.Iterator int
StackMap stack:
iload 8
ifeq 20
19: ldc "Connector required argument nodefault"
goto 21
20: StackMap locals:
StackMap stack:
ldc "Connector argument nodefault"
StackMap locals:
StackMap stack: java.lang.String
21: aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.name:()Ljava/lang/String;
22: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
23: goto 29
24: StackMap locals:
StackMap stack:
iload 8
ifeq 26
25: ldc "Connector required argument default"
goto 27
26: StackMap locals:
StackMap stack:
ldc "Connector argument default"
27: StackMap locals:
StackMap stack: java.lang.String
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.value:()Ljava/lang/String;
aastore
28: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
29: StackMap locals:
StackMap stack:
ldc "Connector description"
aload 6
invokeinterface com.sun.jdi.connect.Connector$Argument.description:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 end local 6 30: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection com.sun.jdi.connect.Connector java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 5 end local 3 31: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.VirtualMachineManager java.util.Collection top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 33 1 vmm Lcom/sun/jdi/VirtualMachineManager;
1 33 2 ccs Ljava/util/Collection<Lcom/sun/jdi/connect/Connector;>;
5 31 3 cc Lcom/sun/jdi/connect/Connector;
8 31 5 transportName Ljava/lang/String;
15 30 6 aa Lcom/sun/jdi/connect/Connector$Argument;
17 30 8 requiredArgument Z
MethodParameters:
Name Flags
vmm
void commandClasses();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.allClasses:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.sun.tools.example.debug.tty.Commands java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ReferenceType
astore 2
start local 2 3: aload 1
aload 2
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: ldc "** classes list **"
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.print:(Ljava/lang/String;Ljava/lang/String;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 8 1 classList Ljava/lang/StringBuilder;
3 5 2 refType Lcom/sun/jdi/ReferenceType;
void commandClass(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No class specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 11
6: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: iconst_1
istore 3
8: goto 11
9: StackMap locals: java.lang.String int
StackMap stack:
ldc "Invalid option on class command"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
10: return
11: StackMap locals:
StackMap stack:
aload 2
invokestatic com.sun.tools.example.debug.tty.Env.getReferenceTypeFromToken:(Ljava/lang/String;)Lcom/sun/jdi/ReferenceType;
astore 4
start local 4 12: aload 4
ifnonnull 15
13: ldc "is not a valid id or class name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
14: return
15: StackMap locals: com.sun.jdi.ReferenceType
StackMap stack:
aload 4
instanceof com.sun.jdi.ClassType
ifeq 41
16: aload 4
checkcast com.sun.jdi.ClassType
astore 5
start local 5 17: ldc "Class:"
aload 5
invokeinterface com.sun.jdi.ClassType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
18: aload 5
invokeinterface com.sun.jdi.ClassType.superclass:()Lcom/sun/jdi/ClassType;
astore 6
start local 6 19: goto 24
20: StackMap locals: com.sun.jdi.ClassType com.sun.jdi.ClassType
StackMap stack:
ldc "extends:"
aload 6
invokeinterface com.sun.jdi.ClassType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
21: iload 3
ifeq 22
aload 6
invokeinterface com.sun.jdi.ClassType.superclass:()Lcom/sun/jdi/ClassType;
goto 23
StackMap locals:
StackMap stack:
22: aconst_null
StackMap locals:
StackMap stack: com.sun.jdi.ClassType
23: astore 6
24: StackMap locals:
StackMap stack:
aload 6
ifnonnull 20
25: iload 3
ifeq 26
aload 5
invokeinterface com.sun.jdi.ClassType.allInterfaces:()Ljava/util/List;
goto 27
StackMap locals:
StackMap stack:
26: aload 5
invokeinterface com.sun.jdi.ClassType.interfaces:()Ljava/util/List;
27: StackMap locals:
StackMap stack: java.util.List
astore 7
start local 7 28: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 31
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.jdi.ReferenceType com.sun.jdi.ClassType com.sun.jdi.ClassType java.util.List top java.util.Iterator
StackMap stack:
29: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.InterfaceType
astore 8
start local 8 30: ldc "implements:"
aload 8
invokeinterface com.sun.jdi.InterfaceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 31: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
32: aload 5
invokeinterface com.sun.jdi.ClassType.subclasses:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 35
StackMap locals:
StackMap stack:
33: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ClassType
astore 8
start local 8 34: ldc "subclass:"
aload 8
invokeinterface com.sun.jdi.ClassType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 35: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
36: aload 5
invokeinterface com.sun.jdi.ClassType.nestedTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 39
StackMap locals:
StackMap stack:
37: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ReferenceType
astore 8
start local 8 38: ldc "nested:"
aload 8
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 39: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
end local 7 end local 6 end local 5 40: goto 63
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.jdi.ReferenceType
StackMap stack:
41: aload 4
instanceof com.sun.jdi.InterfaceType
ifeq 61
42: aload 4
checkcast com.sun.jdi.InterfaceType
astore 5
start local 5 43: ldc "Interface:"
aload 5
invokeinterface com.sun.jdi.InterfaceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
44: aload 5
invokeinterface com.sun.jdi.InterfaceType.superinterfaces:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 47
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.jdi.ReferenceType com.sun.jdi.InterfaceType top java.util.Iterator
StackMap stack:
45: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.InterfaceType
astore 6
start local 6 46: ldc "extends:"
aload 6
invokeinterface com.sun.jdi.InterfaceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 47: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
48: aload 5
invokeinterface com.sun.jdi.InterfaceType.subinterfaces:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 51
StackMap locals:
StackMap stack:
49: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.InterfaceType
astore 6
start local 6 50: ldc "subinterface:"
aload 6
invokeinterface com.sun.jdi.InterfaceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 51: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
52: aload 5
invokeinterface com.sun.jdi.InterfaceType.implementors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 55
StackMap locals:
StackMap stack:
53: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ClassType
astore 6
start local 6 54: ldc "implementor:"
aload 6
invokeinterface com.sun.jdi.ClassType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 55: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
56: aload 5
invokeinterface com.sun.jdi.InterfaceType.nestedTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 59
StackMap locals:
StackMap stack:
57: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ReferenceType
astore 6
start local 6 58: ldc "nested:"
aload 6
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 59: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
end local 5 60: goto 63
61: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.jdi.ReferenceType
StackMap stack:
aload 4
checkcast com.sun.jdi.ArrayType
astore 5
start local 5 62: ldc "Array:"
aload 5
invokeinterface com.sun.jdi.ArrayType.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 5 63: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 64 1 t Ljava/util/StringTokenizer;
4 64 2 idClass Ljava/lang/String;
5 64 3 showAll Z
12 64 4 type Lcom/sun/jdi/ReferenceType;
17 40 5 clazz Lcom/sun/jdi/ClassType;
19 40 6 superclass Lcom/sun/jdi/ClassType;
28 40 7 interfaces Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;
30 31 8 interfaze Lcom/sun/jdi/InterfaceType;
34 35 8 sub Lcom/sun/jdi/ClassType;
38 39 8 nest Lcom/sun/jdi/ReferenceType;
43 60 5 interfaze Lcom/sun/jdi/InterfaceType;
46 47 6 superinterface Lcom/sun/jdi/InterfaceType;
50 51 6 sub Lcom/sun/jdi/InterfaceType;
54 55 6 implementor Lcom/sun/jdi/ClassType;
58 59 6 nest Lcom/sun/jdi/ReferenceType;
62 63 5 array Lcom/sun/jdi/ArrayType;
MethodParameters:
Name Flags
t
void commandMethods(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No class specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic com.sun.tools.example.debug.tty.Env.getReferenceTypeFromToken:(Ljava/lang/String;)Lcom/sun/jdi/ReferenceType;
astore 3
start local 3 5: aload 3
ifnull 16
6: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 7: aload 3
invokeinterface com.sun.jdi.ReferenceType.allMethods:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType java.lang.StringBuilder top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Method
astore 5
start local 5 9: aload 4
aload 5
invokeinterface com.sun.jdi.Method.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 4
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 4
aload 0
aload 5
invokevirtual com.sun.tools.example.debug.tty.Commands.typedName:(Lcom/sun/jdi/Method;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 4
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: ldc "** methods list **"
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.print:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 15: goto 17
16: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType
StackMap stack:
ldc "is not a valid id or class name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 18 1 t Ljava/util/StringTokenizer;
4 18 2 idClass Ljava/lang/String;
5 18 3 cls Lcom/sun/jdi/ReferenceType;
7 15 4 methodsList Ljava/lang/StringBuilder;
9 13 5 method Lcom/sun/jdi/Method;
MethodParameters:
Name Flags
t
void commandFields(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No class specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic com.sun.tools.example.debug.tty.Env.getReferenceTypeFromToken:(Ljava/lang/String;)Lcom/sun/jdi/ReferenceType;
astore 3
start local 3 5: aload 3
ifnull 32
6: aload 3
invokeinterface com.sun.jdi.ReferenceType.allFields:()Ljava/util/List;
astore 4
start local 4 7: aload 3
invokeinterface com.sun.jdi.ReferenceType.visibleFields:()Ljava/util/List;
astore 5
start local 5 8: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 9: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 29
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType java.util.List java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Field
astore 7
start local 7 11: aload 5
aload 7
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 17
12: ldc "list field typename and name hidden"
13: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokeinterface com.sun.jdi.Field.typeName:()Ljava/lang/String;
aastore
dup
iconst_1
14: aload 7
invokeinterface com.sun.jdi.Field.name:()Ljava/lang/String;
aastore
15: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 16: goto 28
end local 9 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType java.util.List java.util.List java.lang.StringBuilder com.sun.jdi.Field java.util.Iterator
StackMap stack:
17: aload 7
invokeinterface com.sun.jdi.Field.declaringType:()Lcom/sun/jdi/ReferenceType;
aload 3
invokeinterface com.sun.jdi.ReferenceType.equals:(Ljava/lang/Object;)Z
ifne 24
18: ldc "list field typename and name inherited"
19: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 7
invokeinterface com.sun.jdi.Field.typeName:()Ljava/lang/String;
aastore
dup
iconst_1
20: aload 7
invokeinterface com.sun.jdi.Field.name:()Ljava/lang/String;
aastore
dup
iconst_2
21: aload 7
invokeinterface com.sun.jdi.Field.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
22: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 23: goto 28
end local 9 24: StackMap locals:
StackMap stack:
ldc "list field typename and name"
25: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokeinterface com.sun.jdi.Field.typeName:()Ljava/lang/String;
aastore
dup
iconst_1
26: aload 7
invokeinterface com.sun.jdi.Field.name:()Ljava/lang/String;
aastore
27: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 28: StackMap locals: java.lang.String
StackMap stack:
aload 6
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 7 29: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType java.util.List java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
30: ldc "** fields list **"
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.print:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 end local 5 end local 4 31: goto 33
32: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType
StackMap stack:
ldc "is not a valid id or class name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 34 1 t Ljava/util/StringTokenizer;
4 34 2 idClass Ljava/lang/String;
5 34 3 cls Lcom/sun/jdi/ReferenceType;
7 31 4 fields Ljava/util/List<Lcom/sun/jdi/Field;>;
8 31 5 visible Ljava/util/List<Lcom/sun/jdi/Field;>;
9 31 6 fieldsList Ljava/lang/StringBuilder;
11 29 7 field Lcom/sun/jdi/Field;
16 17 9 s Ljava/lang/String;
23 24 9 s Ljava/lang/String;
28 29 9 s Ljava/lang/String;
MethodParameters:
Name Flags
t
private void printThreadGroup(com.sun.jdi.ThreadGroupReference);
descriptor: (Lcom/sun/jdi/ThreadGroupReference;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new com.sun.tools.example.debug.tty.ThreadIterator
dup
aload 1
invokespecial com.sun.tools.example.debug.tty.ThreadIterator.<init>:(Lcom/sun/jdi/ThreadGroupReference;)V
astore 2
start local 2 1: ldc "Thread Group:"
aload 1
invokeinterface com.sun.jdi.ThreadGroupReference.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 12
5: StackMap locals: com.sun.tools.example.debug.tty.ThreadIterator int int
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadIterator.next:()Lcom/sun/jdi/ThreadReference;
astore 5
start local 5 6: iload 3
7: aload 5
invokestatic com.sun.tools.example.debug.tty.Env.description:(Lcom/sun/jdi/ObjectReference;)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
8: invokestatic java.lang.Math.max:(II)I
istore 3
9: iload 4
10: aload 5
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
11: invokestatic java.lang.Math.max:(II)I
istore 4
end local 5 12: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadIterator.hasNext:()Z
ifne 5
13: new com.sun.tools.example.debug.tty.ThreadIterator
dup
aload 1
invokespecial com.sun.tools.example.debug.tty.ThreadIterator.<init>:(Lcom/sun/jdi/ThreadGroupReference;)V
astore 2
14: goto 69
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadIterator.next:()Lcom/sun/jdi/ThreadReference;
astore 5
start local 5 16: aload 5
invokeinterface com.sun.jdi.ThreadReference.threadGroup:()Lcom/sun/jdi/ThreadGroupReference;
ifnonnull 18
17: goto 69
18: StackMap locals: com.sun.jdi.ThreadReference
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.threadGroup:()Lcom/sun/jdi/ThreadGroupReference;
aload 1
invokeinterface com.sun.jdi.ThreadGroupReference.equals:(Ljava/lang/Object;)Z
ifne 21
19: aload 5
invokeinterface com.sun.jdi.ThreadReference.threadGroup:()Lcom/sun/jdi/ThreadGroupReference;
astore 1
20: ldc "Thread Group:"
aload 1
invokeinterface com.sun.jdi.ThreadGroupReference.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 5
invokestatic com.sun.tools.example.debug.tty.Env.description:(Lcom/sun/jdi/ObjectReference;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 22: aload 6
invokevirtual java.lang.StringBuilder.length:()I
istore 7
start local 7 23: goto 26
24: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 6
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: iinc 7 1
StackMap locals:
StackMap stack:
26: iload 7
iload 3
if_icmplt 24
end local 7 27: new java.lang.StringBuilder
dup
aload 5
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 7
start local 7 28: aload 7
invokevirtual java.lang.StringBuilder.length:()I
istore 8
start local 8 29: goto 32
30: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadGroupReference com.sun.tools.example.debug.tty.ThreadIterator int int com.sun.jdi.ThreadReference java.lang.StringBuilder java.lang.StringBuilder int
StackMap stack:
aload 7
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: iinc 8 1
StackMap locals:
StackMap stack:
32: iload 8
iload 4
if_icmplt 30
end local 8 33: aload 5
invokeinterface com.sun.jdi.ThreadReference.status:()I
tableswitch { // -1 - 4
-1: 34
0: 39
1: 44
2: 49
3: 54
4: 59
default: 64
}
34: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 37
35: ldc "Thread description name unknownStatus BP"
astore 8
start local 8 36: goto 65
end local 8 37: StackMap locals:
StackMap stack:
ldc "Thread description name unknownStatus"
astore 8
start local 8 38: goto 65
end local 8 39: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 42
40: ldc "Thread description name zombieStatus BP"
astore 8
start local 8 41: goto 65
end local 8 42: StackMap locals:
StackMap stack:
ldc "Thread description name zombieStatus"
astore 8
start local 8 43: goto 65
end local 8 44: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 47
45: ldc "Thread description name runningStatus BP"
astore 8
start local 8 46: goto 65
end local 8 47: StackMap locals:
StackMap stack:
ldc "Thread description name runningStatus"
astore 8
start local 8 48: goto 65
end local 8 49: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 52
50: ldc "Thread description name sleepingStatus BP"
astore 8
start local 8 51: goto 65
end local 8 52: StackMap locals:
StackMap stack:
ldc "Thread description name sleepingStatus"
astore 8
start local 8 53: goto 65
end local 8 54: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 57
55: ldc "Thread description name waitingStatus BP"
astore 8
start local 8 56: goto 65
end local 8 57: StackMap locals:
StackMap stack:
ldc "Thread description name waitingStatus"
astore 8
start local 8 58: goto 65
end local 8 59: StackMap locals:
StackMap stack:
aload 5
invokeinterface com.sun.jdi.ThreadReference.isAtBreakpoint:()Z
ifeq 62
60: ldc "Thread description name condWaitstatus BP"
astore 8
start local 8 61: goto 65
end local 8 62: StackMap locals:
StackMap stack:
ldc "Thread description name condWaitstatus"
astore 8
start local 8 63: goto 65
end local 8 64: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "Invalid thread status."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 8 65: StackMap locals: java.lang.String
StackMap stack:
aload 8
66: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
67: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
68: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 8 end local 7 end local 6 end local 5 69: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadGroupReference com.sun.tools.example.debug.tty.ThreadIterator int int
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadIterator.hasNext:()Z
ifne 15
70: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 71 1 tg Lcom/sun/jdi/ThreadGroupReference;
1 71 2 threadIter Lcom/sun/tools/example/debug/tty/ThreadIterator;
3 71 3 maxIdLength I
4 71 4 maxNameLength I
6 12 5 thr Lcom/sun/jdi/ThreadReference;
16 69 5 thr Lcom/sun/jdi/ThreadReference;
22 69 6 idBuffer Ljava/lang/StringBuilder;
23 27 7 i I
28 69 7 nameBuffer Ljava/lang/StringBuilder;
29 33 8 i I
36 37 8 statusFormat Ljava/lang/String;
38 39 8 statusFormat Ljava/lang/String;
41 42 8 statusFormat Ljava/lang/String;
43 44 8 statusFormat Ljava/lang/String;
46 47 8 statusFormat Ljava/lang/String;
48 49 8 statusFormat Ljava/lang/String;
51 52 8 statusFormat Ljava/lang/String;
53 54 8 statusFormat Ljava/lang/String;
56 57 8 statusFormat Ljava/lang/String;
58 59 8 statusFormat Ljava/lang/String;
61 62 8 statusFormat Ljava/lang/String;
63 64 8 statusFormat Ljava/lang/String;
65 69 8 statusFormat Ljava/lang/String;
MethodParameters:
Name Flags
tg
void commandThreads(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: aload 0
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.group:()Lcom/sun/jdi/ThreadGroupReference;
invokevirtual com.sun.tools.example.debug.tty.Commands.printThreadGroup:(Lcom/sun/jdi/ThreadGroupReference;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic com.sun.tools.example.debug.tty.ThreadGroupIterator.find:(Ljava/lang/String;)Lcom/sun/jdi/ThreadGroupReference;
astore 3
start local 3 5: aload 3
ifnonnull 8
6: ldc "is not a valid threadgroup name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
7: goto 9
8: StackMap locals: java.lang.String com.sun.jdi.ThreadGroupReference
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.printThreadGroup:(Lcom/sun/jdi/ThreadGroupReference;)V
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 10 1 t Ljava/util/StringTokenizer;
4 10 2 name Ljava/lang/String;
5 10 3 tg Lcom/sun/jdi/ThreadGroupReference;
MethodParameters:
Name Flags
t
void commandThreadGroups();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=1
start local 0 0: new com.sun.tools.example.debug.tty.ThreadGroupIterator
dup
invokespecial com.sun.tools.example.debug.tty.ThreadGroupIterator.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 10
3: StackMap locals: com.sun.tools.example.debug.tty.ThreadGroupIterator int
StackMap stack:
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadGroupIterator.nextThreadGroup:()Lcom/sun/jdi/ThreadGroupReference;
astore 3
start local 3 4: iinc 2 1
5: ldc "thread group number description name"
6: iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
7: aload 3
invokestatic com.sun.tools.example.debug.tty.Env.description:(Lcom/sun/jdi/ObjectReference;)Ljava/lang/String;
aastore
dup
iconst_2
8: aload 3
invokeinterface com.sun.jdi.ThreadGroupReference.name:()Ljava/lang/String;
aastore
9: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadGroupIterator.hasNext:()Z
ifne 3
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 12 1 it Lcom/sun/tools/example/debug/tty/ThreadGroupIterator;
2 12 2 cnt I
4 10 3 tg Lcom/sun/jdi/ThreadGroupReference;
void commandThread(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Thread number not specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 2
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
6: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
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/tty/Commands;
0 7 1 t Ljava/util/StringTokenizer;
4 7 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
void commandThreadGroup(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Threadgroup name not specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic com.sun.tools.example.debug.tty.ThreadGroupIterator.find:(Ljava/lang/String;)Lcom/sun/jdi/ThreadGroupReference;
astore 3
start local 3 5: aload 3
ifnonnull 8
6: ldc "is not a valid threadgroup name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
7: goto 9
8: StackMap locals: java.lang.String com.sun.jdi.ThreadGroupReference
StackMap stack:
aload 3
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setThreadGroup:(Lcom/sun/jdi/ThreadGroupReference;)V
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 10 1 t Ljava/util/StringTokenizer;
4 10 2 name Ljava/lang/String;
5 10 3 tg Lcom/sun/jdi/ThreadGroupReference;
MethodParameters:
Name Flags
t
void commandRun(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.Env.connection:()Lcom/sun/tools/example/debug/tty/VMConnection;
astore 2
start local 2 1: aload 2
invokevirtual com.sun.tools.example.debug.tty.VMConnection.isLaunch:()Z
ifne 7
2: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 5
3: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.commandCont:()V
4: goto 6
5: StackMap locals: com.sun.tools.example.debug.tty.VMConnection
StackMap stack:
ldc "run <args> command is valid only with launched VMs"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.VMConnection.isOpen:()Z
ifeq 10
8: ldc "VM already running. use cont to continue after events."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
9: return
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 16
11: aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 12: aload 2
ldc "main"
aload 3
invokevirtual com.sun.tools.example.debug.tty.VMConnection.setConnectorArg:(Ljava/lang/String;Ljava/lang/String;)Z
istore 4
start local 4 13: iload 4
ifne 20
14: ldc "Unable to set main class and arguments"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
15: return
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 2
ldc "main"
invokevirtual com.sun.tools.example.debug.tty.VMConnection.connectorArg:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 17: aload 3
invokevirtual java.lang.String.length:()I
ifne 20
18: ldc "Main class and arguments must be specified"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
19: return
20: StackMap locals: java.lang.String
StackMap stack:
ldc "run"
aload 3
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
21: aload 2
invokevirtual com.sun.tools.example.debug.tty.VMConnection.open:()Lcom/sun/jdi/VirtualMachine;
pop
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 23 1 t Ljava/util/StringTokenizer;
1 23 2 connection Lcom/sun/tools/example/debug/tty/VMConnection;
12 16 3 args Ljava/lang/String;
17 23 3 args Ljava/lang/String;
13 16 4 argsSet Z
MethodParameters:
Name Flags
t
void commandLoad(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "The load command is no longer supported."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 t Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
t
private java.util.List<com.sun.jdi.ThreadReference> allThreads(com.sun.jdi.ThreadGroupReference);
descriptor: (Lcom/sun/jdi/ThreadGroupReference;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface com.sun.jdi.ThreadGroupReference.threads:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: aload 1
invokeinterface com.sun.jdi.ThreadGroupReference.threadGroups:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadGroupReference java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ThreadGroupReference
astore 3
start local 3 4: aload 2
aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.allThreads:(Lcom/sun/jdi/ThreadGroupReference;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 7 1 group Lcom/sun/jdi/ThreadGroupReference;
1 7 2 list Ljava/util/List<Lcom/sun/jdi/ThreadReference;>;
4 5 3 child Lcom/sun/jdi/ThreadGroupReference;
Signature: (Lcom/sun/jdi/ThreadGroupReference;)Ljava/util/List<Lcom/sun/jdi/ThreadReference;>;
MethodParameters:
Name Flags
group
void commandSuspend(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.suspend:()V
2: ldc "All threads suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 5: aload 2
ifnull 7
6: aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.suspend:()V
end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 4
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 9 1 t Ljava/util/StringTokenizer;
5 7 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
void commandResume(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 9
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.invalidateAll:()V
2: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
3: ldc "All threads resumed."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 6: aload 2
ifnull 9
7: aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.invalidate:()V
8: aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.resume:()V
end local 2 9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 5
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 11 1 t Ljava/util/StringTokenizer;
6 9 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
void commandCont();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
ifnonnull 3
1: ldc "Nothing suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.invalidateAll:()V
4: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/example/debug/tty/Commands;
void clearPreviousStep(com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/ThreadReference;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 2
start local 2 1: aload 2
invokeinterface com.sun.jdi.request.EventRequestManager.stepRequests:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadReference com.sun.jdi.request.EventRequestManager top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.request.StepRequest
astore 3
start local 3 3: aload 3
invokeinterface com.sun.jdi.request.StepRequest.thread:()Lcom/sun/jdi/ThreadReference;
aload 1
invokeinterface com.sun.jdi.ThreadReference.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 2
aload 3
invokeinterface com.sun.jdi.request.EventRequestManager.deleteEventRequest:(Lcom/sun/jdi/request/EventRequest;)V
5: goto 7
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadReference com.sun.jdi.request.EventRequestManager
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 8 1 thread Lcom/sun/jdi/ThreadReference;
1 8 2 mgr Lcom/sun/jdi/request/EventRequestManager;
3 6 3 request Lcom/sun/jdi/request/StepRequest;
MethodParameters:
Name Flags
thread
void commandStep(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: ldc "Nothing suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 8
5: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "up"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: iconst_3
istore 3
start local 3 7: goto 9
end local 3 8: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 9: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokevirtual com.sun.tools.example.debug.tty.Commands.clearPreviousStep:(Lcom/sun/jdi/ThreadReference;)V
10: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 4
start local 4 11: aload 4
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
12: bipush -2
iload 3
13: invokeinterface com.sun.jdi.request.EventRequestManager.createStepRequest:(Lcom/sun/jdi/ThreadReference;II)Lcom/sun/jdi/request/StepRequest;
astore 5
start local 5 14: iload 3
iconst_1
if_icmpne 16
15: aload 5
invokestatic com.sun.tools.example.debug.tty.Env.addExcludes:(Lcom/sun/jdi/request/StepRequest;)V
16: StackMap locals: com.sun.jdi.request.EventRequestManager com.sun.jdi.request.StepRequest
StackMap stack:
aload 5
iconst_1
invokeinterface com.sun.jdi.request.StepRequest.addCountFilter:(I)V
17: aload 5
invokeinterface com.sun.jdi.request.StepRequest.enable:()V
18: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.invalidateAll:()V
19: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
20: return
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 21 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 21 1 t Ljava/util/StringTokenizer;
1 21 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
7 8 3 depth I
9 21 3 depth I
11 21 4 reqMgr Lcom/sun/jdi/request/EventRequestManager;
14 21 5 request Lcom/sun/jdi/request/StepRequest;
MethodParameters:
Name Flags
t
void commandStepi();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: ldc "Nothing suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokevirtual com.sun.tools.example.debug.tty.Commands.clearPreviousStep:(Lcom/sun/jdi/ThreadReference;)V
5: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 2
start local 2 6: aload 2
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
7: iconst_m1
8: iconst_1
9: invokeinterface com.sun.jdi.request.EventRequestManager.createStepRequest:(Lcom/sun/jdi/ThreadReference;II)Lcom/sun/jdi/request/StepRequest;
astore 3
start local 3 10: aload 3
invokestatic com.sun.tools.example.debug.tty.Env.addExcludes:(Lcom/sun/jdi/request/StepRequest;)V
11: aload 3
iconst_1
invokeinterface com.sun.jdi.request.StepRequest.addCountFilter:(I)V
12: aload 3
invokeinterface com.sun.jdi.request.StepRequest.enable:()V
13: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.invalidateAll:()V
14: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 16 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
6 16 2 reqMgr Lcom/sun/jdi/request/EventRequestManager;
10 16 3 request Lcom/sun/jdi/request/StepRequest;
void commandNext();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: ldc "Nothing suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokevirtual com.sun.tools.example.debug.tty.Commands.clearPreviousStep:(Lcom/sun/jdi/ThreadReference;)V
5: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 2
start local 2 6: aload 2
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
7: bipush -2
8: iconst_2
9: invokeinterface com.sun.jdi.request.EventRequestManager.createStepRequest:(Lcom/sun/jdi/ThreadReference;II)Lcom/sun/jdi/request/StepRequest;
astore 3
start local 3 10: aload 3
invokestatic com.sun.tools.example.debug.tty.Env.addExcludes:(Lcom/sun/jdi/request/StepRequest;)V
11: aload 3
iconst_1
invokeinterface com.sun.jdi.request.StepRequest.addCountFilter:(I)V
12: aload 3
invokeinterface com.sun.jdi.request.StepRequest.enable:()V
13: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.invalidateAll:()V
14: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 16 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
6 16 2 reqMgr Lcom/sun/jdi/request/EventRequestManager;
10 16 3 request Lcom/sun/jdi/request/StepRequest;
void doKill(com.sun.jdi.ThreadReference, java.util.StringTokenizer);
descriptor: (Lcom/sun/jdi/ThreadReference;Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No exception object specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 2
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 4
start local 4 5: aload 4
ifnull 12
aload 4
instanceof com.sun.jdi.ObjectReference
ifeq 12
6: aload 1
aload 4
checkcast com.sun.jdi.ObjectReference
invokeinterface com.sun.jdi.ThreadReference.stop:(Lcom/sun/jdi/ObjectReference;)V
7: ldc "killed"
aload 1
invokeinterface com.sun.jdi.ThreadReference.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
8: goto 13
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ThreadReference java.util.StringTokenizer java.lang.String com.sun.jdi.Value
StackMap stack: com.sun.jdi.InvalidTypeException
9: pop
10: ldc "Invalid exception object"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
11: goto 13
12: StackMap locals:
StackMap stack:
ldc "Expression must evaluate to an object"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 14 1 thread Lcom/sun/jdi/ThreadReference;
0 14 2 t Ljava/util/StringTokenizer;
4 14 3 expr Ljava/lang/String;
5 14 4 val Lcom/sun/jdi/Value;
Exception table:
from to target type
6 8 9 Class com.sun.jdi.InvalidTypeException
MethodParameters:
Name Flags
thread
t
void doKillThread(com.sun.jdi.ThreadReference, java.util.StringTokenizer);
descriptor: (Lcom/sun/jdi/ThreadReference;Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.example.debug.tty.Commands$2
aload 0
aload 0
aload 1
aload 2
invokespecial com.sun.tools.example.debug.tty.Commands$2.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/jdi/ThreadReference;Ljava/util/StringTokenizer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 threadToKill Lcom/sun/jdi/ThreadReference;
0 2 2 tokenizer Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
threadToKill final
tokenizer final
void commandKill(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Usage: kill <thread id> <throwable>"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 4: aload 2
ifnull 8
5: ldc "killing thread:"
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
6: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
aload 1
invokevirtual com.sun.tools.example.debug.tty.Commands.doKillThread:(Lcom/sun/jdi/ThreadReference;Ljava/util/StringTokenizer;)V
7: return
8: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 9 1 t Ljava/util/StringTokenizer;
4 9 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
void listCaughtExceptions();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.eventRequestSpecs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: com.sun.tools.example.debug.tty.Commands int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.EventRequestSpec
astore 2
start local 2 3: aload 2
instanceof com.sun.tools.example.debug.tty.ExceptionSpec
ifeq 8
4: iload 1
ifeq 7
5: iconst_0
istore 1
6: ldc "Exceptions caught:"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
7: StackMap locals: com.sun.tools.example.debug.tty.Commands int com.sun.tools.example.debug.tty.EventRequestSpec java.util.Iterator
StackMap stack:
ldc "tab"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 2 8: StackMap locals: com.sun.tools.example.debug.tty.Commands int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: iload 1
ifeq 11
10: ldc "No exceptions caught."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
11: StackMap locals: com.sun.tools.example.debug.tty.Commands int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 12 1 noExceptions Z
3 8 2 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
private com.sun.tools.example.debug.tty.EventRequestSpec parseExceptionSpec(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)Lcom/sun/tools/example/debug/tty/EventRequestSpec;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aload 2
ldc "uncaught"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
6: iconst_0
istore 3
7: iconst_1
istore 4
8: goto 20
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int int com.sun.tools.example.debug.tty.EventRequestSpec java.lang.String
StackMap stack:
9: aload 2
ldc "caught"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
10: iconst_1
istore 3
11: iconst_0
istore 4
12: goto 20
StackMap locals:
StackMap stack:
13: aload 2
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
14: iconst_1
istore 3
15: iconst_1
istore 4
16: goto 20
17: StackMap locals:
StackMap stack:
iconst_1
istore 3
18: iconst_1
istore 4
19: aload 2
astore 6
20: StackMap locals:
StackMap stack:
aload 6
ifnonnull 22
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 22
21: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
22: StackMap locals:
StackMap stack:
aload 6
ifnull 30
iload 3
ifne 23
iload 4
ifeq 30
23: StackMap locals:
StackMap stack:
getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 6
24: iload 3
25: iload 4
26: invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.createExceptionCatch:(Ljava/lang/String;ZZ)Lcom/sun/tools/example/debug/tty/EventRequestSpec;
astore 5
27: goto 30
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
28: pop
29: ldc "is not a valid class name"
aload 6
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 5
areturn
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 31 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 31 1 t Ljava/util/StringTokenizer;
1 31 2 notification Ljava/lang/String;
2 31 3 notifyCaught Z
3 31 4 notifyUncaught Z
4 31 5 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
5 31 6 classPattern Ljava/lang/String;
Exception table:
from to target type
23 27 28 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
t
void commandCatchException(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.listCaughtExceptions:()V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.Commands.parseExceptionSpec:(Ljava/util/StringTokenizer;)Lcom/sun/tools/example/debug/tty/EventRequestSpec;
astore 2
start local 2 4: aload 2
ifnull 7
5: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.resolveNow:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)V
6: goto 8
7: StackMap locals: com.sun.tools.example.debug.tty.EventRequestSpec
StackMap stack:
ldc "Usage: catch exception"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 9 1 t Ljava/util/StringTokenizer;
4 8 2 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
MethodParameters:
Name Flags
t
void commandIgnoreException(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.listCaughtExceptions:()V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.Commands.parseExceptionSpec:(Ljava/util/StringTokenizer;)Lcom/sun/tools/example/debug/tty/EventRequestSpec;
astore 2
start local 2 4: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 2
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.delete:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)Z
ifeq 7
5: ldc "Removed:"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
6: goto 10
7: StackMap locals: com.sun.tools.example.debug.tty.EventRequestSpec
StackMap stack:
aload 2
ifnull 9
8: ldc "Not found:"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
ldc "Usage: ignore exception"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 11 1 t Ljava/util/StringTokenizer;
4 10 2 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
MethodParameters:
Name Flags
t
void commandUp(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: ldc "Current thread not set."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
iconst_1
istore 3
start local 3 5: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 18
6: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 7: invokestatic java.text.NumberFormat.getNumberInstance:()Ljava/text/NumberFormat;
astore 6
start local 6 8: aload 6
iconst_1
invokevirtual java.text.NumberFormat.setParseIntegerOnly:(Z)V
9: aload 6
aload 4
invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
astore 7
start local 7 10: aload 7
invokevirtual java.lang.Number.intValue:()I
istore 5
end local 7 end local 6 start local 5 11: goto 14
end local 5 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer com.sun.tools.example.debug.tty.ThreadInfo int java.lang.String
StackMap stack: java.text.ParseException
12: pop
13: iconst_0
istore 5
start local 5 14: StackMap locals: int
StackMap stack:
iload 5
ifgt 17
15: ldc "Usage: up [n frames]"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: return
17: StackMap locals:
StackMap stack:
iload 5
istore 3
end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.up:(I)V
19: goto 24
StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
20: pop
21: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
goto 24
22: StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
23: ldc "End of stack."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 25 1 t Ljava/util/StringTokenizer;
1 25 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
5 25 3 nLevels I
7 18 4 idToken Ljava/lang/String;
11 12 5 i I
14 18 5 i I
8 11 6 nf Ljava/text/NumberFormat;
10 11 7 n Ljava/lang/Number;
Exception table:
from to target type
7 11 12 Class java.text.ParseException
18 19 20 Class com.sun.jdi.IncompatibleThreadStateException
18 19 22 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
t
void commandDown(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: ldc "Current thread not set."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
iconst_1
istore 3
start local 3 5: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 18
6: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 7: invokestatic java.text.NumberFormat.getNumberInstance:()Ljava/text/NumberFormat;
astore 6
start local 6 8: aload 6
iconst_1
invokevirtual java.text.NumberFormat.setParseIntegerOnly:(Z)V
9: aload 6
aload 4
invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
astore 7
start local 7 10: aload 7
invokevirtual java.lang.Number.intValue:()I
istore 5
end local 7 end local 6 start local 5 11: goto 14
end local 5 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer com.sun.tools.example.debug.tty.ThreadInfo int java.lang.String
StackMap stack: java.text.ParseException
12: pop
13: iconst_0
istore 5
start local 5 14: StackMap locals: int
StackMap stack:
iload 5
ifgt 17
15: ldc "Usage: down [n frames]"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: return
17: StackMap locals:
StackMap stack:
iload 5
istore 3
end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.down:(I)V
19: goto 24
StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
20: pop
21: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
goto 24
22: StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
23: ldc "End of stack."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 25 1 t Ljava/util/StringTokenizer;
1 25 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
5 25 3 nLevels I
7 18 4 idToken Ljava/lang/String;
11 12 5 i I
14 18 5 i I
8 11 6 nf Ljava/text/NumberFormat;
10 11 7 n Ljava/lang/Number;
Exception table:
from to target type
7 11 12 Class java.text.ParseException
18 19 20 Class com.sun.jdi.IncompatibleThreadStateException
18 19 22 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
t
private void dumpStack(com.sun.tools.example.debug.tty.ThreadInfo, boolean);
descriptor: (Lcom/sun/tools/example/debug/tty/ThreadInfo;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getStack:()Ljava/util/List;
astore 3
2: goto 6
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.tools.example.debug.tty.ThreadInfo int java.util.List
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
3: pop
4: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
5: return
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 9
7: ldc "Thread is not running (no stack)."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
8: goto 16
9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.size:()I
istore 4
start local 4 10: aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrameIndex:()I
istore 5
start local 5 11: goto 15
12: StackMap locals: int int
StackMap stack:
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.StackFrame
astore 6
start local 6 13: aload 0
iload 5
iload 2
aload 6
invokevirtual com.sun.tools.example.debug.tty.Commands.dumpFrame:(IZLcom/sun/jdi/StackFrame;)V
end local 6 14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 4
if_icmplt 12
end local 5 end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 17 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 17 2 showPC Z
1 17 3 stack Ljava/util/List<Lcom/sun/jdi/StackFrame;>;
10 16 4 nFrames I
11 16 5 i I
13 14 6 frame Lcom/sun/jdi/StackFrame;
Exception table:
from to target type
1 2 3 Class com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
threadInfo
showPC
private void dumpFrame(int, boolean, com.sun.jdi.StackFrame);
descriptor: (IZLcom/sun/jdi/StackFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokeinterface com.sun.jdi.StackFrame.location:()Lcom/sun/jdi/Location;
astore 4
start local 4 1: ldc -1
lstore 5
start local 5 2: iload 2
ifeq 4
3: aload 4
invokeinterface com.sun.jdi.Location.codeIndex:()J
lstore 5
4: StackMap locals: com.sun.jdi.Location long
StackMap stack:
aload 4
invokeinterface com.sun.jdi.Location.method:()Lcom/sun/jdi/Method;
astore 7
start local 7 5: aload 4
invokeinterface com.sun.jdi.Location.lineNumber:()I
i2l
lstore 8
start local 8 6: aconst_null
astore 10
start local 10 7: aload 7
invokeinterface com.sun.jdi.Method.isNative:()Z
ifeq 10
8: ldc "native method"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
astore 10
9: goto 19
StackMap locals: com.sun.jdi.Method long java.lang.String
StackMap stack:
10: lload 8
ldc -1
lcmp
ifeq 19
11: new java.lang.StringBuilder
dup
aload 4
invokeinterface com.sun.jdi.Location.sourceName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: ldc "line number"
13: iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 8
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
14: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
16: goto 19
StackMap locals:
StackMap stack: com.sun.jdi.AbsentInformationException
17: pop
18: ldc "unknown"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
astore 10
19: StackMap locals:
StackMap stack:
lload 5
ldc -1
lcmp
ifeq 28
20: ldc "stack frame dump with pc"
21: iconst_5
anewarray java.lang.Object
dup
iconst_0
iload 1
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
22: aload 7
invokeinterface com.sun.jdi.Method.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
dup
iconst_2
23: aload 7
invokeinterface com.sun.jdi.Method.name:()Ljava/lang/String;
aastore
dup
iconst_3
24: aload 10
aastore
dup
iconst_4
25: lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
26: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
27: goto 34
28: StackMap locals:
StackMap stack:
ldc "stack frame dump"
29: iconst_4
anewarray java.lang.Object
dup
iconst_0
iload 1
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
30: aload 7
invokeinterface com.sun.jdi.Method.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
dup
iconst_2
31: aload 7
invokeinterface com.sun.jdi.Method.name:()Ljava/lang/String;
aastore
dup
iconst_3
32: aload 10
aastore
33: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
34: StackMap locals:
StackMap stack:
return
end local 10 end local 8 end local 7 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 35 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 35 1 frameNumber I
0 35 2 showPC Z
0 35 3 frame Lcom/sun/jdi/StackFrame;
1 35 4 loc Lcom/sun/jdi/Location;
2 35 5 pc J
5 35 7 meth Lcom/sun/jdi/Method;
6 35 8 lineNumber J
7 35 10 methodInfo Ljava/lang/String;
Exception table:
from to target type
11 16 17 Class com.sun.jdi.AbsentInformationException
MethodParameters:
Name Flags
frameNumber
showPC
frame
void commandWhere(java.util.StringTokenizer, boolean);
descriptor: (Ljava/util/StringTokenizer;Z)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: ldc "No thread specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: return
5: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 0
aload 3
iload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.dumpStack:(Lcom/sun/tools/example/debug/tty/ThreadInfo;Z)V
end local 3 6: goto 21
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 3
start local 3 8: aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
9: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.threads:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer int java.lang.String top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.ThreadInfo
astore 4
start local 4 11: ldc "Thread:"
12: aload 4
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
13: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
14: aload 0
aload 4
iload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.dumpStack:(Lcom/sun/tools/example/debug/tty/ThreadInfo;Z)V
end local 4 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: goto 21
17: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer int java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 4
start local 4 18: aload 4
ifnull 21
19: aload 4
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
20: aload 0
aload 4
iload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.dumpStack:(Lcom/sun/tools/example/debug/tty/ThreadInfo;Z)V
end local 4 end local 3 21: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 22 1 t Ljava/util/StringTokenizer;
0 22 2 showPC Z
2 6 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
8 21 3 token Ljava/lang/String;
11 15 4 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
18 21 4 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
showPC
void commandInterrupt(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 2: aload 2
ifnonnull 5
3: ldc "No thread specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: return
5: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.interrupt:()V
end local 2 6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 8: aload 2
ifnull 10
9: aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.ThreadReference.interrupt:()V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 11 1 t Ljava/util/StringTokenizer;
2 6 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
8 10 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t
void commandMemory();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "The memory command is no longer supported."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
void commandGC();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "The gc command is no longer necessary."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
static java.lang.String locationString(com.sun.jdi.Location);
descriptor: (Lcom/sun/jdi/Location;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "locationString"
1: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
invokeinterface com.sun.jdi.Location.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
dup
iconst_1
2: aload 0
invokeinterface com.sun.jdi.Location.method:()Lcom/sun/jdi/Method;
invokeinterface com.sun.jdi.Method.name:()Ljava/lang/String;
aastore
dup
iconst_2
3: aload 0
invokeinterface com.sun.jdi.Location.lineNumber:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
4: aload 0
invokeinterface com.sun.jdi.Location.codeIndex:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
5: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 loc Lcom/sun/jdi/Location;
MethodParameters:
Name Flags
loc
void listBreakpoints();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.eventRequestSpecs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: com.sun.tools.example.debug.tty.Commands int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.EventRequestSpec
astore 2
start local 2 3: aload 2
instanceof com.sun.tools.example.debug.tty.BreakpointSpec
ifeq 8
4: iload 1
ifeq 7
5: iconst_0
istore 1
6: ldc "Breakpoints set:"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
7: StackMap locals: com.sun.tools.example.debug.tty.Commands int com.sun.tools.example.debug.tty.EventRequestSpec java.util.Iterator
StackMap stack:
ldc "tab"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 2 8: StackMap locals: com.sun.tools.example.debug.tty.Commands int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: iload 1
ifeq 11
10: ldc "No breakpoints set."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
11: StackMap locals: com.sun.tools.example.debug.tty.Commands int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/example/debug/tty/Commands;
1 12 1 noBreakpoints Z
3 8 2 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
private void printBreakpointCommandUsage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 usageMessage Ljava/lang/String;
MethodParameters:
Name Flags
usageMessage
protected com.sun.tools.example.debug.tty.BreakpointSpec parseBreakpointSpec(java.util.StringTokenizer, java.lang.String, com.sun.jdi.ThreadReference, java.lang.String);
descriptor: (Ljava/util/StringTokenizer;Ljava/lang/String;Lcom/sun/jdi/ThreadReference;Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/BreakpointSpec;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 2
astore 6
start local 6 2: aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 3: goto 6
end local 7 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ThreadReference java.lang.String com.sun.tools.example.debug.tty.BreakpointSpec java.lang.String
StackMap stack: java.util.NoSuchElementException
4: pop
5: aconst_null
astore 7
start local 7 6: StackMap locals: java.lang.String
StackMap stack:
aload 7
ifnull 30
aload 7
ldc ":"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 30
7: new java.util.StringTokenizer
dup
aload 7
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
astore 1
8: aload 6
astore 8
start local 8 9: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 9
start local 9 10: invokestatic java.text.NumberFormat.getNumberInstance:()Ljava/text/NumberFormat;
astore 10
start local 10 11: aload 10
iconst_1
invokevirtual java.text.NumberFormat.setParseIntegerOnly:(Z)V
12: aload 10
aload 9
invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
astore 11
start local 11 13: goto 18
end local 11 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ThreadReference java.lang.String com.sun.tools.example.debug.tty.BreakpointSpec java.lang.String java.lang.String java.lang.String java.lang.String java.text.NumberFormat
StackMap stack: java.text.ParseException
14: pop
15: ldc "Invalid line number specified"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
17: aconst_null
areturn
start local 11 18: StackMap locals: java.lang.Number
StackMap stack:
aload 11
invokevirtual java.lang.Number.intValue:()I
istore 12
start local 12 19: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 23
20: ldc "Extra tokens after breakpoint location"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
21: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
22: aconst_null
areturn
23: StackMap locals: int
StackMap stack:
getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 8
24: iload 12
aload 3
25: invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.createBreakpoint:(Ljava/lang/String;ILcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/tty/BreakpointSpec;
astore 5
26: goto 66
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
27: pop
28: ldc "is not a valid class name"
aload 8
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 12 end local 11 end local 10 end local 9 end local 8 29: goto 66
30: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ThreadReference java.lang.String com.sun.tools.example.debug.tty.BreakpointSpec java.lang.String java.lang.String
StackMap stack:
aload 6
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 8
start local 8 31: iload 8
ifle 33
32: iload 8
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmplt 36
33: StackMap locals: int
StackMap stack:
ldc "Invalid <class>.<method_name> specification"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
34: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
35: aconst_null
areturn
36: StackMap locals:
StackMap stack:
aload 6
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 37: aload 6
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 38: aconst_null
astore 11
start local 11 39: aload 7
ifnull 52
40: aload 7
ldc "("
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 41
aload 7
ldc ")"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 46
41: StackMap locals: java.lang.String java.lang.String java.util.List
StackMap stack:
ldc "Invalid <method_name> specification:"
42: new java.lang.StringBuilder
dup
aload 9
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
44: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
45: aconst_null
areturn
46: StackMap locals:
StackMap stack:
aload 7
iconst_1
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
47: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
48: new java.util.StringTokenizer
dup
aload 7
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 1
49: goto 51
50: StackMap locals:
StackMap stack:
aload 11
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
51: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 50
52: StackMap locals:
StackMap stack:
getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 10
53: aload 9
54: aload 3
55: aload 11
56: invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.createBreakpoint:(Ljava/lang/String;Ljava/lang/String;Lcom/sun/jdi/ThreadReference;Ljava/util/List;)Lcom/sun/tools/example/debug/tty/BreakpointSpec;
astore 5
57: goto 66
StackMap locals:
StackMap stack: com.sun.tools.example.debug.tty.MalformedMemberNameException
58: pop
59: ldc "is not a valid method name"
aload 9
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
goto 66
60: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
61: ldc "is not a valid class name"
aload 10
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 62: goto 66
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ThreadReference java.lang.String com.sun.tools.example.debug.tty.BreakpointSpec
StackMap stack: java.lang.Exception
63: pop
64: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
65: aconst_null
areturn
66: StackMap locals:
StackMap stack:
aload 5
areturn
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 67 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 67 1 t Ljava/util/StringTokenizer;
0 67 2 next_token Ljava/lang/String;
0 67 3 threadFilter Lcom/sun/jdi/ThreadReference;
0 67 4 usageMessage Ljava/lang/String;
1 67 5 breakpoint Lcom/sun/tools/example/debug/tty/BreakpointSpec;
2 62 6 token Ljava/lang/String;
3 4 7 rest Ljava/lang/String;
6 62 7 rest Ljava/lang/String;
9 29 8 classId Ljava/lang/String;
10 29 9 lineToken Ljava/lang/String;
11 29 10 nf Ljava/text/NumberFormat;
13 14 11 n Ljava/lang/Number;
18 29 11 n Ljava/lang/Number;
19 29 12 lineNumber I
31 62 8 idot I
37 62 9 methodName Ljava/lang/String;
38 62 10 classId Ljava/lang/String;
39 62 11 argumentList Ljava/util/List<Ljava/lang/String;>;
Exception table:
from to target type
2 3 4 Class java.util.NoSuchElementException
12 13 14 Class java.text.ParseException
23 26 27 Class java.lang.ClassNotFoundException
52 57 58 Class com.sun.tools.example.debug.tty.MalformedMemberNameException
52 57 60 Class java.lang.ClassNotFoundException
1 17 63 Class java.lang.Exception
18 22 63 Class java.lang.Exception
23 35 63 Class java.lang.Exception
36 45 63 Class java.lang.Exception
46 62 63 Class java.lang.Exception
MethodParameters:
Name Flags
t
next_token
threadFilter
usageMessage
private void resolveNow(com.sun.tools.example.debug.tty.EventRequestSpec);
descriptor: (Lcom/sun/tools/example/debug/tty/EventRequestSpec;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 1
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.addEagerlyResolve:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)Z
istore 2
start local 2 1: iload 2
ifeq 3
aload 1
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpec.isResolved:()Z
ifne 3
2: ldc "Deferring."
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 4 1 spec Lcom/sun/tools/example/debug/tty/EventRequestSpec;
1 4 2 success Z
MethodParameters:
Name Flags
spec
void commandDbgTrace(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 7
1: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 3
start local 3 2: aload 3
invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 2
start local 2 3: goto 8
end local 2 StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer top java.lang.String
StackMap stack: java.lang.NumberFormatException
4: pop
5: ldc "dbgtrace command value must be an integer:"
aload 3
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
6: return
end local 3 7: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer
StackMap stack:
ldc 16777215
istore 2
start local 2 8: StackMap locals: int
StackMap stack:
iload 2
invokestatic com.sun.tools.example.debug.tty.Env.setTraceFlags:(I)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 10 1 t Ljava/util/StringTokenizer;
3 4 2 traceFlags I
8 10 2 traceFlags I
2 7 3 flagStr Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
t
void commandStop(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iconst_2
istore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 5
3: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.listBreakpoints:()V
4: return
5: StackMap locals: int com.sun.jdi.ThreadReference
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 6: aload 4
ldc "go"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 10
7: iconst_0
istore 2
8: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
9: goto 13
StackMap locals: java.lang.String
StackMap stack:
10: aload 4
ldc "thread"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 13
11: iconst_1
istore 2
12: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
13: StackMap locals:
StackMap stack:
aload 4
ldc "at"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
aload 4
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
14: aload 4
invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
pop
15: goto 20
StackMap locals:
StackMap stack: java.lang.NumberFormatException
16: pop
17: ldc "Expected at, in, or an integer <thread_id>:"
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
18: aload 0
ldc "printstopcommandusage"
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
19: return
20: StackMap locals:
StackMap stack:
aload 4
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getThreadInfo:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 5
start local 5 21: aload 5
ifnonnull 24
22: ldc "Invalid <thread_id>:"
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
23: return
24: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 5
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
astore 3
25: aload 1
ldc ":( \t\n\r"
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 4
end local 5 26: goto 30
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer int com.sun.jdi.ThreadReference java.lang.String
StackMap stack: com.sun.tools.example.debug.tty.VMNotConnectedException
27: pop
28: ldc "<thread_id> option not valid until the VM is started with the run command"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
29: return
30: StackMap locals:
StackMap stack:
aload 4
ldc "at"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
aload 4
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
31: ldc "Missing at or in"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
32: aload 0
ldc "printstopcommandusage"
invokevirtual com.sun.tools.example.debug.tty.Commands.printBreakpointCommandUsage:(Ljava/lang/String;)V
33: return
34: StackMap locals:
StackMap stack:
aload 1
ldc ":( \t\n\r"
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 4
35: aload 0
aload 1
aload 4
aload 3
ldc "printstopcommandusage"
invokevirtual com.sun.tools.example.debug.tty.Commands.parseBreakpointSpec:(Ljava/util/StringTokenizer;Ljava/lang/String;Lcom/sun/jdi/ThreadReference;Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/BreakpointSpec;
astore 5
start local 5 36: aload 5
ifnull 39
37: aload 5
iload 2
putfield com.sun.tools.example.debug.tty.BreakpointSpec.suspendPolicy:I
38: aload 0
aload 5
invokevirtual com.sun.tools.example.debug.tty.Commands.resolveNow:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)V
39: StackMap locals: com.sun.tools.example.debug.tty.BreakpointSpec
StackMap stack:
return
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 40 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 40 1 t Ljava/util/StringTokenizer;
1 40 2 suspendPolicy B
2 40 3 threadFilter Lcom/sun/jdi/ThreadReference;
6 40 4 token Ljava/lang/String;
21 26 5 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
36 40 5 spec Lcom/sun/tools/example/debug/tty/BreakpointSpec;
Exception table:
from to target type
14 15 16 Class java.lang.NumberFormatException
20 23 27 Class com.sun.tools.example.debug.tty.VMNotConnectedException
24 26 27 Class com.sun.tools.example.debug.tty.VMNotConnectedException
MethodParameters:
Name Flags
t
void commandClear(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.listBreakpoints:()V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc ":( \t\n\r"
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 1
aload 2
aconst_null
ldc "printclearcommandusage"
invokevirtual com.sun.tools.example.debug.tty.Commands.parseBreakpointSpec:(Ljava/util/StringTokenizer;Ljava/lang/String;Lcom/sun/jdi/ThreadReference;Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/BreakpointSpec;
astore 3
start local 3 5: aload 3
ifnull 10
6: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 3
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.delete:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)Z
ifeq 9
7: ldc "Removed:"
aload 3
invokevirtual com.sun.tools.example.debug.tty.BreakpointSpec.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
8: goto 10
9: StackMap locals: java.lang.String com.sun.tools.example.debug.tty.BreakpointSpec
StackMap stack:
ldc "Not found:"
aload 3
invokevirtual com.sun.tools.example.debug.tty.BreakpointSpec.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 11 1 t Ljava/util/StringTokenizer;
4 11 2 token Ljava/lang/String;
5 11 3 spec Lcom/sun/tools/example/debug/tty/BreakpointSpec;
MethodParameters:
Name Flags
t
private java.util.List<com.sun.tools.example.debug.tty.WatchpointSpec> parseWatchpointSpec(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_2
istore 5
start local 5 4: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
start local 6 5: aload 6
ldc "go"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
6: iconst_0
istore 5
7: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
8: goto 12
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.util.List int int int java.lang.String
StackMap stack:
9: aload 6
ldc "thread"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: iconst_1
istore 5
11: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
12: StackMap locals:
StackMap stack:
aload 6
ldc "access"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
13: iconst_1
istore 3
14: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
15: goto 22
StackMap locals:
StackMap stack:
16: aload 6
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
17: iconst_1
istore 3
18: iconst_1
istore 4
19: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
20: goto 22
21: StackMap locals:
StackMap stack:
iconst_1
istore 4
22: StackMap locals:
StackMap stack:
aload 6
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 7
start local 7 23: iload 7
ifge 26
24: ldc "Class containing field must be specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
25: aload 2
areturn
26: StackMap locals: int
StackMap stack:
aload 6
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 27: aload 6
iload 7
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
28: iload 3
ifeq 34
29: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 8
30: aload 6
31: invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.createAccessWatchpoint:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/WatchpointSpec;
astore 9
start local 9 32: aload 9
iload 5
putfield com.sun.tools.example.debug.tty.WatchpointSpec.suspendPolicy:I
33: aload 2
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 34: StackMap locals: java.lang.String
StackMap stack:
iload 4
ifeq 45
35: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 8
36: aload 6
37: invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.createModificationWatchpoint:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/WatchpointSpec;
astore 9
start local 9 38: aload 9
iload 5
putfield com.sun.tools.example.debug.tty.WatchpointSpec.suspendPolicy:I
39: aload 2
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 40: goto 45
StackMap locals:
StackMap stack: com.sun.tools.example.debug.tty.MalformedMemberNameException
41: pop
42: ldc "is not a valid field name"
aload 6
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
goto 45
43: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
44: ldc "is not a valid class name"
aload 8
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
aload 2
areturn
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 46 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 46 1 t Ljava/util/StringTokenizer;
1 46 2 list Ljava/util/List<Lcom/sun/tools/example/debug/tty/WatchpointSpec;>;
2 46 3 access Z
3 46 4 modification Z
4 46 5 suspendPolicy I
5 46 6 fieldName Ljava/lang/String;
23 46 7 dot I
27 46 8 className Ljava/lang/String;
32 34 9 spec Lcom/sun/tools/example/debug/tty/WatchpointSpec;
38 40 9 spec Lcom/sun/tools/example/debug/tty/WatchpointSpec;
Exception table:
from to target type
28 40 41 Class com.sun.tools.example.debug.tty.MalformedMemberNameException
28 40 43 Class java.lang.ClassNotFoundException
Signature: (Ljava/util/StringTokenizer;)Ljava/util/List<Lcom/sun/tools/example/debug/tty/WatchpointSpec;>;
MethodParameters:
Name Flags
t
void commandWatch(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Field to watch not specified"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.Commands.parseWatchpointSpec:(Ljava/util/StringTokenizer;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.WatchpointSpec
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.resolveNow:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 8 1 t Ljava/util/StringTokenizer;
5 6 2 spec Lcom/sun/tools/example/debug/tty/WatchpointSpec;
MethodParameters:
Name Flags
t
void commandUnwatch(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Field to unwatch not specified"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.Commands.parseWatchpointSpec:(Ljava/util/StringTokenizer;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.WatchpointSpec
astore 2
start local 2 5: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
aload 2
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.delete:(Lcom/sun/tools/example/debug/tty/EventRequestSpec;)Z
ifeq 8
6: ldc "Removed:"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
7: goto 9
8: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer com.sun.tools.example.debug.tty.WatchpointSpec java.util.Iterator
StackMap stack:
ldc "Not found:"
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 2 9: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 11 1 t Ljava/util/StringTokenizer;
5 9 2 spec Lcom/sun/tools/example/debug/tty/WatchpointSpec;
MethodParameters:
Name Flags
t
void turnOnExitTrace(com.sun.tools.example.debug.tty.ThreadInfo, int);
descriptor: (Lcom/sun/tools/example/debug/tty/ThreadInfo;I)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 3
start local 3 1: aload 3
invokeinterface com.sun.jdi.request.EventRequestManager.createMethodExitRequest:()Lcom/sun/jdi/request/MethodExitRequest;
astore 4
start local 4 2: aload 1
ifnull 4
3: aload 4
aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.request.MethodExitRequest.addThreadFilter:(Lcom/sun/jdi/ThreadReference;)V
4: StackMap locals: com.sun.jdi.request.EventRequestManager com.sun.jdi.request.MethodExitRequest
StackMap stack:
aload 4
invokestatic com.sun.tools.example.debug.tty.Env.addExcludes:(Lcom/sun/jdi/request/MethodExitRequest;)V
5: aload 4
iload 2
invokeinterface com.sun.jdi.request.MethodExitRequest.setSuspendPolicy:(I)V
6: aload 4
invokeinterface com.sun.jdi.request.MethodExitRequest.enable:()V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 8 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
0 8 2 suspendPolicy I
1 8 3 erm Lcom/sun/jdi/request/EventRequestManager;
2 8 4 exit Lcom/sun/jdi/request/MethodExitRequest;
MethodParameters:
Name Flags
threadInfo
suspendPolicy
void commandTrace(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: iconst_2
istore 3
start local 3 1: aconst_null
astore 4
start local 4 2: ldc " "
astore 5
start local 5 3: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 66
4: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 5: aload 2
ldc "go"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
6: iconst_0
istore 3
7: ldc " go "
astore 5
8: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 15
9: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
10: goto 15
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.tools.example.debug.tty.ThreadInfo java.lang.String
StackMap stack:
11: aload 2
ldc "thread"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
12: iconst_1
istore 3
13: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 15
14: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
15: StackMap locals:
StackMap stack:
aload 2
ldc "method"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
16: aconst_null
astore 6
start local 6 17: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 44
18: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 7
start local 7 19: aload 7
ldc "exits"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
aload 7
ldc "exit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
20: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 22
21: aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 4
22: StackMap locals:
StackMap stack:
aload 7
ldc "exit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
23: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrame:()Lcom/sun/jdi/StackFrame;
astore 8
start local 8 24: goto 28
end local 8 StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
25: pop
26: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
27: return
start local 8 28: StackMap locals: com.sun.jdi.StackFrame
StackMap stack:
aload 8
invokeinterface com.sun.jdi.StackFrame.location:()Lcom/sun/jdi/Location;
invokeinterface com.sun.jdi.Location.method:()Lcom/sun/jdi/Method;
invokestatic com.sun.tools.example.debug.tty.Env.setAtExitMethod:(Lcom/sun/jdi/Method;)V
29: new java.lang.StringBuilder
dup
ldc "trace"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "method exit "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "in effect for"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokestatic com.sun.tools.example.debug.tty.Env.atExitMethod:()Lcom/sun/jdi/Method;
invokeinterface com.sun.jdi.Method.toString:()Ljava/lang/String;
34: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 6
end local 8 35: goto 40
36: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "trace"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
37: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "method exits "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: ldc "in effect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
astore 6
40: StackMap locals:
StackMap stack:
aload 0
new java.util.StringTokenizer
dup
ldc "methods"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.tools.example.debug.tty.Commands.commandUntrace:(Ljava/util/StringTokenizer;)V
41: aload 0
aload 4
iload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.turnOnExitTrace:(Lcom/sun/tools/example/debug/tty/ThreadInfo;I)V
42: aload 6
putstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
43: return
end local 7 44: StackMap locals:
StackMap stack:
ldc "Can only trace"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
45: return
end local 6 46: StackMap locals:
StackMap stack:
aload 2
ldc "methods"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 64
47: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 7
start local 7 48: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 50
49: aload 0
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 4
50: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.tools.example.debug.tty.ThreadInfo java.lang.String top com.sun.jdi.request.EventRequestManager
StackMap stack:
aload 4
ifnull 54
51: aload 7
invokeinterface com.sun.jdi.request.EventRequestManager.createMethodEntryRequest:()Lcom/sun/jdi/request/MethodEntryRequest;
astore 6
start local 6 52: aload 6
aload 4
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
invokeinterface com.sun.jdi.request.MethodEntryRequest.addThreadFilter:(Lcom/sun/jdi/ThreadReference;)V
53: goto 56
end local 6 54: StackMap locals:
StackMap stack:
aload 0
new java.util.StringTokenizer
dup
ldc "methods"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
invokevirtual com.sun.tools.example.debug.tty.Commands.commandUntrace:(Ljava/util/StringTokenizer;)V
55: aload 7
invokeinterface com.sun.jdi.request.EventRequestManager.createMethodEntryRequest:()Lcom/sun/jdi/request/MethodEntryRequest;
astore 6
start local 6 56: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String int com.sun.tools.example.debug.tty.ThreadInfo java.lang.String com.sun.jdi.request.MethodEntryRequest com.sun.jdi.request.EventRequestManager
StackMap stack:
aload 6
invokestatic com.sun.tools.example.debug.tty.Env.addExcludes:(Lcom/sun/jdi/request/MethodEntryRequest;)V
57: aload 6
iload 3
invokeinterface com.sun.jdi.request.MethodEntryRequest.setSuspendPolicy:(I)V
58: aload 6
invokeinterface com.sun.jdi.request.MethodEntryRequest.enable:()V
59: aload 0
aload 4
iload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.turnOnExitTrace:(Lcom/sun/tools/example/debug/tty/ThreadInfo;I)V
60: new java.lang.StringBuilder
dup
ldc "trace"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: ldc "methods in effect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
putstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
63: return
end local 7 end local 6 64: StackMap locals:
StackMap stack:
ldc "Can only trace"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
65: return
end local 2 66: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer top int com.sun.tools.example.debug.tty.ThreadInfo java.lang.String
StackMap stack:
getstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
ifnull 68
67: getstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
68: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 69 1 t Ljava/util/StringTokenizer;
5 66 2 modif Ljava/lang/String;
1 69 3 suspendPolicy I
2 69 4 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
3 69 5 goStr Ljava/lang/String;
17 46 6 traceCmd Ljava/lang/String;
19 44 7 modif1 Ljava/lang/String;
24 25 8 frame Lcom/sun/jdi/StackFrame;
28 35 8 frame Lcom/sun/jdi/StackFrame;
52 54 6 entry Lcom/sun/jdi/request/MethodEntryRequest;
56 64 6 entry Lcom/sun/jdi/request/MethodEntryRequest;
48 64 7 erm Lcom/sun/jdi/request/EventRequestManager;
Exception table:
from to target type
23 24 25 Class com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
t
void commandUntrace(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 3
start local 3 2: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 4
3: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
4: StackMap locals: java.lang.String com.sun.jdi.request.EventRequestManager
StackMap stack:
aload 2
ifnull 5
aload 2
ldc "methods"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
5: StackMap locals:
StackMap stack:
aload 3
aload 3
invokeinterface com.sun.jdi.request.EventRequestManager.methodEntryRequests:()Ljava/util/List;
invokeinterface com.sun.jdi.request.EventRequestManager.deleteEventRequests:(Ljava/util/List;)V
6: aload 3
aload 3
invokeinterface com.sun.jdi.request.EventRequestManager.methodExitRequests:()Ljava/util/List;
invokeinterface com.sun.jdi.request.EventRequestManager.deleteEventRequests:(Ljava/util/List;)V
7: aconst_null
invokestatic com.sun.tools.example.debug.tty.Env.setAtExitMethod:(Lcom/sun/jdi/Method;)V
8: aconst_null
putstatic com.sun.tools.example.debug.tty.Commands.methodTraceCommand:Ljava/lang/String;
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 10 1 t Ljava/util/StringTokenizer;
1 10 2 modif Ljava/lang/String;
2 10 3 erm Lcom/sun/jdi/request/EventRequestManager;
MethodParameters:
Name Flags
t
void commandList(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: ldc "No thread specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: return
5: StackMap locals: com.sun.jdi.StackFrame com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 3
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrame:()Lcom/sun/jdi/StackFrame;
astore 2
6: goto 10
StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
7: pop
8: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
9: return
10: StackMap locals:
StackMap stack:
aload 2
ifnonnull 13
11: ldc "No frames on the current call stack"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
12: return
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.sun.jdi.StackFrame.location:()Lcom/sun/jdi/Location;
astore 4
start local 4 14: aload 4
invokeinterface com.sun.jdi.Location.method:()Lcom/sun/jdi/Method;
invokeinterface com.sun.jdi.Method.isNative:()Z
ifeq 17
15: ldc "Current method is native"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: return
17: StackMap locals: com.sun.jdi.Location
StackMap stack:
aconst_null
astore 5
start local 5 18: aload 4
invokeinterface com.sun.jdi.Location.sourceName:()Ljava/lang/String;
astore 5
19: aload 4
invokeinterface com.sun.jdi.Location.declaringType:()Lcom/sun/jdi/ReferenceType;
astore 6
start local 6 20: aload 4
invokeinterface com.sun.jdi.Location.lineNumber:()I
istore 7
start local 7 21: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 42
22: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 8
start local 8 23: invokestatic java.text.NumberFormat.getNumberInstance:()Ljava/text/NumberFormat;
astore 9
start local 9 24: aload 9
iconst_1
invokevirtual java.text.NumberFormat.setParseIntegerOnly:(Z)V
25: aload 9
aload 8
invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
astore 10
start local 10 26: aload 10
invokevirtual java.lang.Number.intValue:()I
istore 7
end local 10 end local 9 27: goto 42
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer com.sun.jdi.StackFrame com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.Location java.lang.String com.sun.jdi.ReferenceType int java.lang.String
StackMap stack: java.text.ParseException
28: pop
29: aload 6
aload 8
invokeinterface com.sun.jdi.ReferenceType.methodsByName:(Ljava/lang/String;)Ljava/util/List;
astore 9
start local 9 30: aload 9
ifnull 31
aload 9
invokeinterface java.util.List.size:()I
ifne 35
31: StackMap locals: java.util.List
StackMap stack:
ldc "is not a valid line number or method name for"
32: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 6
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
33: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
34: return
35: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 40
36: ldc "is an ambiguous method name in"
37: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 6
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
38: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
39: return
40: StackMap locals:
StackMap stack:
aload 9
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.Method
invokeinterface com.sun.jdi.Method.location:()Lcom/sun/jdi/Location;
astore 4
41: aload 4
invokeinterface com.sun.jdi.Location.lineNumber:()I
istore 7
end local 9 end local 8 42: StackMap locals:
StackMap stack:
iload 7
iconst_4
isub
iconst_1
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 43: iload 8
bipush 9
iadd
istore 9
start local 9 44: iload 7
ifge 47
45: ldc "Line number information not available for"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
46: goto 77
StackMap locals: int int
StackMap stack:
47: aload 4
iload 7
invokestatic com.sun.tools.example.debug.tty.Env.sourceLine:(Lcom/sun/jdi/Location;I)Ljava/lang/String;
ifnonnull 53
48: ldc "is an invalid line number for"
49: iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
50: aload 6
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
aastore
51: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
52: goto 77
53: StackMap locals:
StackMap stack:
iload 8
istore 10
start local 10 54: goto 69
55: StackMap locals: int
StackMap stack:
aload 4
iload 10
invokestatic com.sun.tools.example.debug.tty.Env.sourceLine:(Lcom/sun/jdi/Location;I)Ljava/lang/String;
astore 11
start local 11 56: aload 11
ifnonnull 58
57: goto 77
58: StackMap locals: java.lang.String
StackMap stack:
iload 10
iload 7
if_icmpne 64
59: ldc "source line number current line and line"
60: iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
61: aload 11
aastore
62: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
63: goto 68
64: StackMap locals:
StackMap stack:
ldc "source line number and line"
65: iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
66: aload 11
aastore
67: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 11 68: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
69: iload 10
iload 9
if_icmple 55
end local 10 end local 9 end local 8 end local 7 end local 6 70: goto 77
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer com.sun.jdi.StackFrame com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.Location java.lang.String
StackMap stack: com.sun.jdi.AbsentInformationException
71: pop
72: ldc "No source information available for:"
aload 4
invokeinterface com.sun.jdi.Location.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
goto 77
73: StackMap locals:
StackMap stack: java.io.FileNotFoundException
pop
74: ldc "Source file not found:"
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
goto 77
75: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 76: ldc "I/O exception occurred:"
aload 6
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 6 77: StackMap locals:
StackMap stack:
return
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 78 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 78 1 t Ljava/util/StringTokenizer;
1 78 2 frame Lcom/sun/jdi/StackFrame;
2 78 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
14 78 4 loc Lcom/sun/jdi/Location;
18 78 5 sourceFileName Ljava/lang/String;
20 70 6 refType Lcom/sun/jdi/ReferenceType;
21 70 7 lineno I
23 42 8 id Ljava/lang/String;
24 27 9 nf Ljava/text/NumberFormat;
26 27 10 n Ljava/lang/Number;
30 42 9 meths Ljava/util/List<Lcom/sun/jdi/Method;>;
43 70 8 startLine I
44 70 9 endLine I
54 70 10 i I
56 68 11 sourceLine Ljava/lang/String;
76 77 6 exc Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class com.sun.jdi.IncompatibleThreadStateException
23 27 28 Class java.text.ParseException
18 34 71 Class com.sun.jdi.AbsentInformationException
35 39 71 Class com.sun.jdi.AbsentInformationException
40 70 71 Class com.sun.jdi.AbsentInformationException
18 34 73 Class java.io.FileNotFoundException
35 39 73 Class java.io.FileNotFoundException
40 70 73 Class java.io.FileNotFoundException
18 34 75 Class java.io.IOException
35 39 75 Class java.io.IOException
40 70 75 Class java.io.IOException
MethodParameters:
Name Flags
t
void commandLines(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Specify class and method"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: goto 29
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 5
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
goto 6
StackMap locals: java.lang.String
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: java.lang.String
6: astore 3
start local 3 7: aload 2
invokestatic com.sun.tools.example.debug.tty.Env.getReferenceTypeFromToken:(Ljava/lang/String;)Lcom/sun/jdi/ReferenceType;
astore 4
start local 4 8: aload 4
ifnull 25
9: aconst_null
astore 5
start local 5 10: aload 3
ifnonnull 13
11: aload 4
invokeinterface com.sun.jdi.ReferenceType.allLineLocations:()Ljava/util/List;
astore 5
12: goto 20
13: StackMap locals: java.lang.String com.sun.jdi.ReferenceType java.util.List
StackMap stack:
aload 4
invokeinterface com.sun.jdi.ReferenceType.allMethods:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String com.sun.jdi.ReferenceType java.util.List top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Method
astore 6
start local 6 15: aload 6
invokeinterface com.sun.jdi.Method.name:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: aload 6
invokeinterface com.sun.jdi.Method.allLineLocations:()Ljava/util/List;
astore 5
end local 6 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 5
ifnonnull 20
19: ldc "is not a valid method name"
aload 3
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
20: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String com.sun.jdi.ReferenceType java.util.List
StackMap stack:
aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String com.sun.jdi.ReferenceType java.util.List top java.util.Iterator
StackMap stack:
21: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Location
astore 6
start local 6 22: aload 6
invokeinterface com.sun.jdi.Location.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
end local 6 23: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 5 24: goto 29
25: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String com.sun.jdi.ReferenceType
StackMap stack:
ldc "is not a valid id or class name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 26: goto 29
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String
StackMap stack: com.sun.jdi.AbsentInformationException
27: pop
28: ldc "Line number information not available for"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 3 end local 2 29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 30 1 t Ljava/util/StringTokenizer;
4 29 2 idClass Ljava/lang/String;
7 29 3 idMethod Ljava/lang/String;
8 26 4 refType Lcom/sun/jdi/ReferenceType;
10 24 5 lines Ljava/util/List<Lcom/sun/jdi/Location;>;
15 17 6 method Lcom/sun/jdi/Method;
22 23 6 line Lcom/sun/jdi/Location;
Exception table:
from to target type
7 26 27 Class com.sun.jdi.AbsentInformationException
MethodParameters:
Name Flags
t
void commandClasspath(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
instanceof com.sun.jdi.PathSearchingVirtualMachine
ifeq 5
1: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
checkcast com.sun.jdi.PathSearchingVirtualMachine
astore 2
start local 2 2: ldc "base directory:"
aload 2
invokeinterface com.sun.jdi.PathSearchingVirtualMachine.baseDirectory:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
3: ldc "classpath:"
aload 2
invokeinterface com.sun.jdi.PathSearchingVirtualMachine.classPath:()Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 2 4: goto 6
5: StackMap locals:
StackMap stack:
ldc "The VM does not use paths"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 7 1 t Ljava/util/StringTokenizer;
2 4 2 vm Lcom/sun/jdi/PathSearchingVirtualMachine;
MethodParameters:
Name Flags
t
void commandUse(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: invokestatic com.sun.tools.example.debug.tty.Env.getSourcePath:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.Env.setSourcePath:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 5 1 t Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
t
private void printVar(com.sun.jdi.LocalVariable, com.sun.jdi.Value);
descriptor: (Lcom/sun/jdi/LocalVariable;Lcom/sun/jdi/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "expr is value"
1: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface com.sun.jdi.LocalVariable.name:()Ljava/lang/String;
aastore
dup
iconst_1
2: aload 2
ifnonnull 3
ldc "null"
goto 4
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.LocalVariable com.sun.jdi.Value
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
3: aload 2
invokeinterface com.sun.jdi.Value.toString:()Ljava/lang/String;
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.LocalVariable com.sun.jdi.Value
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
4: aastore
5: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)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/tty/Commands;
0 7 1 var Lcom/sun/jdi/LocalVariable;
0 7 2 value Lcom/sun/jdi/Value;
MethodParameters:
Name Flags
var
value
void commandLocals();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=1
start local 0 0: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: ldc "No default thread specified:"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: com.sun.tools.example.debug.tty.Commands top com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 2
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrame:()Lcom/sun/jdi/StackFrame;
astore 1
start local 1 5: aload 1
ifnonnull 7
6: new com.sun.jdi.AbsentInformationException
dup
invokespecial com.sun.jdi.AbsentInformationException.<init>:()V
athrow
7: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.StackFrame com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 1
invokeinterface com.sun.jdi.StackFrame.visibleVariables:()Ljava/util/List;
astore 3
start local 3 8: aload 3
invokeinterface java.util.List.size:()I
ifne 11
9: ldc "No local variables"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
10: return
11: StackMap locals: java.util.List
StackMap stack:
aload 1
aload 3
invokeinterface com.sun.jdi.StackFrame.getValues:(Ljava/util/List;)Ljava/util/Map;
astore 4
start local 4 12: ldc "Method arguments:"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
13: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.StackFrame com.sun.tools.example.debug.tty.ThreadInfo java.util.List java.util.Map top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.LocalVariable
astore 5
start local 5 15: aload 5
invokeinterface com.sun.jdi.LocalVariable.isArgument:()Z
ifeq 18
16: aload 4
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.Value
astore 7
start local 7 17: aload 0
aload 5
aload 7
invokevirtual com.sun.tools.example.debug.tty.Commands.printVar:(Lcom/sun/jdi/LocalVariable;Lcom/sun/jdi/Value;)V
end local 7 end local 5 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
19: ldc "Local variables:"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
20: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals:
StackMap stack:
21: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.LocalVariable
astore 5
start local 5 22: aload 5
invokeinterface com.sun.jdi.LocalVariable.isArgument:()Z
ifne 25
23: aload 4
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.Value
astore 7
start local 7 24: aload 0
aload 5
aload 7
invokevirtual com.sun.tools.example.debug.tty.Commands.printVar:(Lcom/sun/jdi/LocalVariable;Lcom/sun/jdi/Value;)V
end local 7 end local 5 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 4 end local 3 26: goto 31
end local 1 StackMap locals: com.sun.tools.example.debug.tty.Commands top com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack: com.sun.jdi.AbsentInformationException
27: pop
28: ldc "Local variable information not available."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
goto 31
29: StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
pop
30: ldc "Current thread isnt suspended."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/sun/tools/example/debug/tty/Commands;
5 27 1 frame Lcom/sun/jdi/StackFrame;
1 32 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
8 26 3 vars Ljava/util/List<Lcom/sun/jdi/LocalVariable;>;
12 26 4 values Ljava/util/Map<Lcom/sun/jdi/LocalVariable;Lcom/sun/jdi/Value;>;
15 18 5 var Lcom/sun/jdi/LocalVariable;
17 18 7 val Lcom/sun/jdi/Value;
22 25 5 var Lcom/sun/jdi/LocalVariable;
24 25 7 val Lcom/sun/jdi/Value;
Exception table:
from to target type
4 10 27 Class com.sun.jdi.AbsentInformationException
11 26 27 Class com.sun.jdi.AbsentInformationException
4 10 29 Class com.sun.jdi.IncompatibleThreadStateException
11 26 29 Class com.sun.jdi.IncompatibleThreadStateException
private void dump(com.sun.jdi.ObjectReference, com.sun.jdi.ReferenceType, com.sun.jdi.ReferenceType);
descriptor: (Lcom/sun/jdi/ObjectReference;Lcom/sun/jdi/ReferenceType;Lcom/sun/jdi/ReferenceType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface com.sun.jdi.ReferenceType.fields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Field
astore 4
start local 4 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 3: aload 6
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 2
aload 3
invokeinterface com.sun.jdi.ReferenceType.equals:(Ljava/lang/Object;)Z
ifne 7
5: aload 6
aload 2
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 6
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType com.sun.jdi.Field java.util.Iterator java.lang.StringBuilder
StackMap stack:
aload 6
aload 4
invokeinterface com.sun.jdi.Field.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 6
ldc "colon space"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 6
aload 1
aload 4
invokeinterface com.sun.jdi.ObjectReference.getValue:(Lcom/sun/jdi/Field;)Lcom/sun/jdi/Value;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
10: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
end local 6 end local 4 11: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: aload 2
instanceof com.sun.jdi.ClassType
ifeq 17
13: aload 2
checkcast com.sun.jdi.ClassType
invokeinterface com.sun.jdi.ClassType.superclass:()Lcom/sun/jdi/ClassType;
astore 4
start local 4 14: aload 4
ifnull 31
15: aload 0
aload 1
aload 4
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.dump:(Lcom/sun/jdi/ObjectReference;Lcom/sun/jdi/ReferenceType;Lcom/sun/jdi/ReferenceType;)V
end local 4 16: goto 31
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType
StackMap stack:
17: aload 2
instanceof com.sun.jdi.InterfaceType
ifeq 23
18: aload 2
checkcast com.sun.jdi.InterfaceType
invokeinterface com.sun.jdi.InterfaceType.superinterfaces:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 21
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType top java.util.Iterator
StackMap stack:
19: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.InterfaceType
astore 4
start local 4 20: aload 0
aload 1
aload 4
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.dump:(Lcom/sun/jdi/ObjectReference;Lcom/sun/jdi/ReferenceType;Lcom/sun/jdi/ReferenceType;)V
end local 4 21: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: goto 31
23: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.jdi.ObjectReference com.sun.jdi.ReferenceType com.sun.jdi.ReferenceType
StackMap stack:
aload 1
instanceof com.sun.jdi.ArrayReference
ifeq 31
24: aload 1
checkcast com.sun.jdi.ArrayReference
invokeinterface com.sun.jdi.ArrayReference.getValues:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 25: goto 29
26: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Value
invokeinterface com.sun.jdi.Value.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirect:(Ljava/lang/String;)V
27: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 29
28: ldc ", "
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirect:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 4 30: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:()V
31: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 32 1 obj Lcom/sun/jdi/ObjectReference;
0 32 2 refType Lcom/sun/jdi/ReferenceType;
0 32 3 refTypeBase Lcom/sun/jdi/ReferenceType;
2 11 4 field Lcom/sun/jdi/Field;
3 11 6 sb Ljava/lang/StringBuilder;
14 16 4 sup Lcom/sun/jdi/ClassType;
20 21 4 sup Lcom/sun/jdi/InterfaceType;
25 30 4 it Ljava/util/Iterator<Lcom/sun/jdi/Value;>;
MethodParameters:
Name Flags
obj
refType
refTypeBase
void doPrint(java.util.StringTokenizer, boolean);
descriptor: (Ljava/util/StringTokenizer;Z)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 24
1: ldc "No objects specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 4
start local 4 5: aload 4
ifnonnull 8
6: ldc "expr is null"
aload 3
invokevirtual java.lang.String.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
7: goto 24
StackMap locals: java.lang.String com.sun.jdi.Value
StackMap stack:
8: iload 2
ifeq 19
aload 4
instanceof com.sun.jdi.ObjectReference
ifeq 19
9: aload 4
instanceof com.sun.jdi.StringReference
ifne 19
10: aload 4
checkcast com.sun.jdi.ObjectReference
astore 5
start local 5 11: aload 5
invokeinterface com.sun.jdi.ObjectReference.referenceType:()Lcom/sun/jdi/ReferenceType;
astore 6
start local 6 12: ldc "expr is value"
13: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual java.lang.String.toString:()Ljava/lang/String;
aastore
dup
iconst_1
14: ldc "grouping begin character"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
15: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
16: aload 0
aload 5
aload 6
aload 6
invokevirtual com.sun.tools.example.debug.tty.Commands.dump:(Lcom/sun/jdi/ObjectReference;Lcom/sun/jdi/ReferenceType;Lcom/sun/jdi/ReferenceType;)V
17: ldc "grouping end character"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
end local 6 end local 5 18: goto 24
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.getStringValue:()Ljava/lang/String;
astore 5
start local 5 20: aload 5
ifnull 24
21: ldc "expr is value"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual java.lang.String.toString:()Ljava/lang/String;
aastore
dup
iconst_1
22: aload 5
aastore
23: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 end local 4 end local 3 24: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 26 1 t Ljava/util/StringTokenizer;
0 26 2 dumpObject Z
4 24 3 expr Ljava/lang/String;
5 24 4 val Lcom/sun/jdi/Value;
11 18 5 obj Lcom/sun/jdi/ObjectReference;
12 18 6 refType Lcom/sun/jdi/ReferenceType;
20 24 5 strVal Ljava/lang/String;
MethodParameters:
Name Flags
t
dumpObject
void commandPrint(java.util.StringTokenizer, boolean);
descriptor: (Ljava/util/StringTokenizer;Z)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.example.debug.tty.Commands$3
aload 0
aload 0
aload 1
iload 2
invokespecial com.sun.tools.example.debug.tty.Commands$3.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Ljava/util/StringTokenizer;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 t Ljava/util/StringTokenizer;
0 2 2 dumpObject Z
MethodParameters:
Name Flags
t final
dumpObject final
void commandSet(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 5
2: ldc "Invalid assignment syntax"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
3: invokestatic com.sun.tools.example.debug.tty.MessageOutput.printPrompt:()V
4: return
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
new java.util.StringTokenizer
dup
aload 2
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
iconst_0
invokevirtual com.sun.tools.example.debug.tty.Commands.commandPrint:(Ljava/util/StringTokenizer;Z)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/tty/Commands;
0 7 1 t Ljava/util/StringTokenizer;
1 7 2 all Ljava/lang/String;
MethodParameters:
Name Flags
t final
void doLock(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No object specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 3
start local 3 5: aload 3
ifnull 30
aload 3
instanceof com.sun.jdi.ObjectReference
ifeq 30
6: aload 3
checkcast com.sun.jdi.ObjectReference
astore 4
start local 4 7: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.getStringValue:()Ljava/lang/String;
astore 5
start local 5 8: aload 5
ifnull 13
9: ldc "Monitor information for expr"
10: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aastore
dup
iconst_1
11: aload 5
aastore
12: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.Value com.sun.jdi.ObjectReference java.lang.String
StackMap stack:
aload 4
invokeinterface com.sun.jdi.ObjectReference.owningThread:()Lcom/sun/jdi/ThreadReference;
astore 6
start local 6 14: aload 6
ifnonnull 17
15: ldc "Not owned"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: goto 21
17: StackMap locals: com.sun.jdi.ThreadReference
StackMap stack:
ldc "Owned by:"
18: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
aastore
dup
iconst_1
19: aload 4
invokeinterface com.sun.jdi.ObjectReference.entryCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
20: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
aload 4
invokeinterface com.sun.jdi.ObjectReference.waitingThreads:()Ljava/util/List;
astore 7
start local 7 22: aload 7
invokeinterface java.util.List.size:()I
ifne 25
23: ldc "No waiters"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
24: goto 34
25: StackMap locals: java.util.List
StackMap stack:
aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 28
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.Value com.sun.jdi.ObjectReference java.lang.String com.sun.jdi.ThreadReference java.util.List top java.util.Iterator
StackMap stack:
26: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ThreadReference
astore 8
start local 8 27: ldc "Waiting thread:"
aload 8
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 28: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 7 end local 6 end local 5 end local 4 29: goto 34
30: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.Value
StackMap stack:
ldc "Expression must evaluate to an object"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
31: goto 34
StackMap locals:
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
32: pop
33: ldc "Threads must be suspended"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 35 1 t Ljava/util/StringTokenizer;
4 35 2 expr Ljava/lang/String;
5 35 3 val Lcom/sun/jdi/Value;
7 29 4 object Lcom/sun/jdi/ObjectReference;
8 29 5 strVal Ljava/lang/String;
14 29 6 owner Lcom/sun/jdi/ThreadReference;
22 29 7 waiters Ljava/util/List<Lcom/sun/jdi/ThreadReference;>;
27 28 8 waiter Lcom/sun/jdi/ThreadReference;
Exception table:
from to target type
5 31 32 Class com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
t
void commandLock(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.example.debug.tty.Commands$4
aload 0
aload 0
aload 1
invokespecial com.sun.tools.example.debug.tty.Commands$4.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Ljava/util/StringTokenizer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 t Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
t final
private void printThreadLockInfo(com.sun.tools.example.debug.tty.ThreadInfo);
descriptor: (Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
astore 2
start local 2 1: ldc "Monitor information for thread"
aload 2
invokeinterface com.sun.jdi.ThreadReference.name:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 2
invokeinterface com.sun.jdi.ThreadReference.ownedMonitors:()Ljava/util/List;
astore 3
start local 3 3: aload 3
invokeinterface java.util.List.size:()I
ifne 6
4: ldc "No monitors owned"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
5: goto 10
6: StackMap locals: com.sun.jdi.ThreadReference java.util.List
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.ThreadReference java.util.List top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.ObjectReference
astore 4
start local 4 8: ldc "Owned monitor:"
aload 4
invokeinterface com.sun.jdi.ObjectReference.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.ThreadReference java.util.List
StackMap stack:
aload 2
invokeinterface com.sun.jdi.ThreadReference.currentContendedMonitor:()Lcom/sun/jdi/ObjectReference;
astore 4
start local 4 11: aload 4
ifnonnull 14
12: ldc "Not waiting for a monitor"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
13: goto 18
14: StackMap locals: com.sun.jdi.ObjectReference
StackMap stack:
ldc "Waiting for monitor:"
aload 4
invokeinterface com.sun.jdi.ObjectReference.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 end local 3 15: goto 18
StackMap locals: com.sun.tools.example.debug.tty.Commands com.sun.tools.example.debug.tty.ThreadInfo com.sun.jdi.ThreadReference
StackMap stack: com.sun.jdi.IncompatibleThreadStateException
16: pop
17: ldc "Threads must be suspended"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 19 1 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
1 19 2 thread Lcom/sun/jdi/ThreadReference;
3 15 3 owned Ljava/util/List<Lcom/sun/jdi/ObjectReference;>;
8 9 4 monitor Lcom/sun/jdi/ObjectReference;
11 15 4 waiting Lcom/sun/jdi/ObjectReference;
Exception table:
from to target type
1 15 16 Class com.sun.jdi.IncompatibleThreadStateException
MethodParameters:
Name Flags
threadInfo
void commandThreadlocks(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
1: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 2
start local 2 2: aload 2
ifnonnull 5
3: ldc "Current thread not set."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: goto 6
5: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.printThreadLockInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
6: StackMap locals:
StackMap stack:
return
end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 8: aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
9: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.threads:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.tty.ThreadInfo
astore 3
start local 3 11: aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.printThreadLockInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: goto 18
14: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
start local 3 15: aload 3
ifnull 18
16: aload 3
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
17: aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.printThreadLockInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 19 1 t Ljava/util/StringTokenizer;
2 7 2 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
8 19 2 token Ljava/lang/String;
11 12 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
15 18 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
MethodParameters:
Name Flags
t final
void doDisableGC(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No object specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 3
start local 3 5: aload 3
ifnull 12
aload 3
instanceof com.sun.jdi.ObjectReference
ifeq 12
6: aload 3
checkcast com.sun.jdi.ObjectReference
astore 4
start local 4 7: aload 4
invokeinterface com.sun.jdi.ObjectReference.disableCollection:()V
8: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.getStringValue:()Ljava/lang/String;
astore 5
start local 5 9: aload 5
ifnull 13
10: ldc "GC Disabled for"
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 5 end local 4 11: goto 13
12: StackMap locals: java.lang.String com.sun.jdi.Value
StackMap stack:
ldc "Expression must evaluate to an object"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 14 1 t Ljava/util/StringTokenizer;
4 14 2 expr Ljava/lang/String;
5 14 3 val Lcom/sun/jdi/Value;
7 11 4 object Lcom/sun/jdi/ObjectReference;
9 11 5 strVal Ljava/lang/String;
MethodParameters:
Name Flags
t
void commandDisableGC(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.example.debug.tty.Commands$5
aload 0
aload 0
aload 1
invokespecial com.sun.tools.example.debug.tty.Commands$5.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Ljava/util/StringTokenizer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 t Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
t final
void doEnableGC(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No object specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 3
start local 3 5: aload 3
ifnull 12
aload 3
instanceof com.sun.jdi.ObjectReference
ifeq 12
6: aload 3
checkcast com.sun.jdi.ObjectReference
astore 4
start local 4 7: aload 4
invokeinterface com.sun.jdi.ObjectReference.enableCollection:()V
8: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.getStringValue:()Ljava/lang/String;
astore 5
start local 5 9: aload 5
ifnull 13
10: ldc "GC Enabled for"
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 5 end local 4 11: goto 13
12: StackMap locals: java.lang.String com.sun.jdi.Value
StackMap stack:
ldc "Expression must evaluate to an object"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 14 1 t Ljava/util/StringTokenizer;
4 14 2 expr Ljava/lang/String;
5 14 3 val Lcom/sun/jdi/Value;
7 11 4 object Lcom/sun/jdi/ObjectReference;
9 11 5 strVal Ljava/lang/String;
MethodParameters:
Name Flags
t
void commandEnableGC(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.example.debug.tty.Commands$6
aload 0
aload 0
aload 1
invokespecial com.sun.tools.example.debug.tty.Commands$6.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Ljava/util/StringTokenizer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 2 1 t Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
t final
void doSave(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No save index specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
5: ldc "No expression specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
6: return
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 8: aload 0
aload 3
invokevirtual com.sun.tools.example.debug.tty.Commands.evaluate:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 4
start local 4 9: aload 4
ifnull 15
10: aload 2
aload 4
invokestatic com.sun.tools.example.debug.tty.Env.setSavedValue:(Ljava/lang/String;Lcom/sun/jdi/Value;)V
11: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.getStringValue:()Ljava/lang/String;
astore 5
start local 5 12: aload 5
ifnull 16
13: ldc "saved"
aload 5
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 5 14: goto 16
15: StackMap locals: java.lang.String com.sun.jdi.Value
StackMap stack:
ldc "Expression cannot be void"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 17 1 t Ljava/util/StringTokenizer;
4 17 2 key Ljava/lang/String;
8 17 3 expr Ljava/lang/String;
9 17 4 val Lcom/sun/jdi/Value;
12 14 5 strVal Ljava/lang/String;
MethodParameters:
Name Flags
t
void commandSave(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 22
1: invokestatic com.sun.tools.example.debug.tty.Env.getSaveKeys:()Ljava/util/Set;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifeq 5
3: ldc "No saved values"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
4: return
5: StackMap locals: java.util.Set
StackMap stack:
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 20
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.util.Set top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 3
invokestatic com.sun.tools.example.debug.tty.Env.getSavedValue:(Ljava/lang/String;)Lcom/sun/jdi/Value;
astore 5
start local 5 8: aload 5
instanceof com.sun.jdi.ObjectReference
ifeq 14
9: aload 5
checkcast com.sun.jdi.ObjectReference
invokeinterface com.sun.jdi.ObjectReference.isCollected:()Z
ifeq 14
10: ldc "expr is value <collected>"
11: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 5
invokeinterface com.sun.jdi.Value.toString:()Ljava/lang/String;
aastore
12: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
13: goto 20
14: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.util.Set java.lang.String java.util.Iterator com.sun.jdi.Value
StackMap stack:
aload 5
ifnonnull 17
15: ldc "expr is null"
aload 3
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
16: goto 20
17: StackMap locals:
StackMap stack:
ldc "expr is value"
18: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 5
invokeinterface com.sun.jdi.Value.toString:()Ljava/lang/String;
aastore
19: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 end local 3 20: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.util.Set top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 2 21: goto 23
22: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer
StackMap stack:
new com.sun.tools.example.debug.tty.Commands$7
aload 0
aload 0
aload 1
invokespecial com.sun.tools.example.debug.tty.Commands$7.<init>:(Lcom/sun/tools/example/debug/tty/Commands;Lcom/sun/tools/example/debug/tty/Commands;Ljava/util/StringTokenizer;)V
23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 24 1 t Ljava/util/StringTokenizer;
2 21 2 keys Ljava/util/Set<Ljava/lang/String;>;
7 20 3 key Ljava/lang/String;
8 20 5 value Lcom/sun/jdi/Value;
MethodParameters:
Name Flags
t final
void commandBytecodes(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No class specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
5: ldc "No method specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
6: return
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 3
start local 3 8: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
aload 2
invokeinterface com.sun.jdi.VirtualMachine.classesByName:(Ljava/lang/String;)Ljava/util/List;
astore 4
start local 4 9: aload 4
invokeinterface java.util.List.size:()I
ifne 15
10: aload 2
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifge 13
11: ldc "not found (try the full name)"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
12: goto 14
13: StackMap locals: java.lang.String java.util.List
StackMap stack:
ldc "not found"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
return
15: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.ReferenceType
astore 5
start local 5 16: aload 5
instanceof com.sun.jdi.ClassType
ifne 19
17: ldc "not a class"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
18: return
19: StackMap locals: com.sun.jdi.ReferenceType
StackMap stack:
aconst_null
astore 6
start local 6 20: aload 5
aload 3
invokeinterface com.sun.jdi.ReferenceType.methodsByName:(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 25
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String java.util.List com.sun.jdi.ReferenceType byte[] top java.util.Iterator
StackMap stack:
21: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.Method
astore 7
start local 7 22: aload 7
invokeinterface com.sun.jdi.Method.isAbstract:()Z
ifne 25
23: aload 7
invokeinterface com.sun.jdi.Method.bytecodes:()[B
astore 6
24: goto 26
end local 7 25: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
26: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.lang.String java.util.List com.sun.jdi.ReferenceType byte[]
StackMap stack:
new java.lang.StringBuilder
dup
bipush 80
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 7
start local 7 27: aload 7
ldc "0000: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: iconst_0
istore 8
start local 8 29: goto 48
30: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 8
ifle 41
iload 8
bipush 16
irem
ifne 41
31: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
32: aload 7
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
33: aload 7
iload 8
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
34: aload 7
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: aload 7
invokevirtual java.lang.StringBuilder.length:()I
istore 9
start local 9 36: iconst_0
istore 10
start local 10 37: goto 40
38: StackMap locals: int int
StackMap stack:
aload 7
iconst_0
bipush 48
invokevirtual java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;
pop
39: iinc 10 1
StackMap locals:
StackMap stack:
40: iload 10
bipush 6
iload 9
isub
if_icmplt 38
end local 10 end local 9 41: StackMap locals:
StackMap stack:
sipush 255
aload 6
iload 8
baload
iand
istore 9
start local 9 42: iload 9
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 10
start local 10 43: aload 10
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 45
44: aload 7
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: StackMap locals: int java.lang.String
StackMap stack:
aload 7
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
46: aload 7
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 47: iinc 8 1
StackMap locals:
StackMap stack:
48: iload 8
aload 6
arraylength
if_icmplt 30
end local 8 49: aload 7
invokevirtual java.lang.StringBuilder.length:()I
bipush 6
if_icmple 51
50: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
return
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 52 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 52 1 t Ljava/util/StringTokenizer;
4 52 2 className Ljava/lang/String;
8 52 3 methodName Ljava/lang/String;
9 52 4 classes Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
16 52 5 rt Lcom/sun/jdi/ReferenceType;
20 52 6 bytecodes [B
22 25 7 method Lcom/sun/jdi/Method;
27 52 7 line Ljava/lang/StringBuilder;
29 49 8 i I
36 41 9 len I
37 41 10 j I
42 47 9 val I
43 47 10 str Ljava/lang/String;
MethodParameters:
Name Flags
t final
void commandExclude(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: invokestatic com.sun.tools.example.debug.tty.Env.excludesString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.util.StringTokenizer.nextToken:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 2
ldc "none"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: ldc ""
astore 2
6: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic com.sun.tools.example.debug.tty.Env.setExcludes:(Ljava/lang/String;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 8 1 t Ljava/util/StringTokenizer;
4 7 2 rest Ljava/lang/String;
MethodParameters:
Name Flags
t
void commandRedefine(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "Specify classes to redefine"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: goto 39
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
aload 2
invokeinterface com.sun.jdi.VirtualMachine.classesByName:(Ljava/lang/String;)Ljava/util/List;
astore 3
start local 3 5: aload 3
invokeinterface java.util.List.size:()I
ifne 8
6: ldc "No class named"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
7: return
8: StackMap locals: java.lang.String java.util.List
StackMap stack:
aload 3
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 11
9: ldc "More than one class named"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
10: return
11: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.example.debug.tty.Env.getSourcePath:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.Env.setSourcePath:(Ljava/lang/String;)V
12: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.jdi.ReferenceType
astore 4
start local 4 13: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 16
14: ldc "Specify file name for class"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
15: return
16: StackMap locals: com.sun.jdi.ReferenceType
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 5
start local 5 17: new java.io.File
dup
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 18: aload 6
invokevirtual java.io.File.length:()J
l2i
newarray 8
astore 7
start local 7 19: new java.io.FileInputStream
dup
aload 6
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 8
start local 8 20: aload 8
aload 7
invokevirtual java.io.InputStream.read:([B)I
pop
21: aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 22: goto 28
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.util.List com.sun.jdi.ReferenceType java.lang.String java.io.File byte[]
StackMap stack: java.lang.Exception
23: astore 8
start local 8 24: ldc "Error reading file"
25: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 8
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
26: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
27: return
end local 8 28: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
29: astore 8
start local 8 30: aload 8
aload 4
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
aload 8
invokeinterface com.sun.jdi.VirtualMachine.redefineClasses:(Ljava/util/Map;)V
32: goto 39
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String java.util.List com.sun.jdi.ReferenceType java.lang.String java.io.File byte[] java.util.Map
StackMap stack: java.lang.Throwable
33: astore 9
start local 9 34: ldc "Error redefining class to file"
35: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
36: aload 5
aastore
dup
iconst_2
37: aload 9
aastore
38: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 39: StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 40 1 t Ljava/util/StringTokenizer;
4 39 2 className Ljava/lang/String;
5 39 3 classes Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
13 39 4 refType Lcom/sun/jdi/ReferenceType;
17 39 5 fileName Ljava/lang/String;
18 39 6 phyl Ljava/io/File;
19 39 7 bytes [B
20 22 8 in Ljava/io/InputStream;
24 28 8 exc Ljava/lang/Exception;
30 39 8 map Ljava/util/Map<Lcom/sun/jdi/ReferenceType;[B>;
34 39 9 exc Ljava/lang/Throwable;
Exception table:
from to target type
19 22 23 Class java.lang.Exception
31 32 33 Class java.lang.Throwable
MethodParameters:
Name Flags
t
void commandPopFrames(java.util.StringTokenizer, boolean);
descriptor: (Ljava/util/StringTokenizer;Z)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 5
1: aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.Commands.doGetThread:(Ljava/lang/String;)Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
start local 3 3: aload 3
ifnonnull 9
4: return
end local 4 end local 3 5: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
start local 3 6: aload 3
ifnonnull 9
7: ldc "No thread specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
8: return
9: StackMap locals: com.sun.tools.example.debug.tty.ThreadInfo
StackMap stack:
aload 3
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getCurrentFrame:()Lcom/sun/jdi/StackFrame;
astore 4
start local 4 10: aload 3
invokevirtual com.sun.tools.example.debug.tty.ThreadInfo.getThread:()Lcom/sun/jdi/ThreadReference;
aload 4
invokeinterface com.sun.jdi.ThreadReference.popFrames:(Lcom/sun/jdi/StackFrame;)V
11: invokestatic com.sun.tools.example.debug.tty.ThreadInfo.getCurrentThreadInfo:()Lcom/sun/tools/example/debug/tty/ThreadInfo;
astore 3
12: aload 3
invokestatic com.sun.tools.example.debug.tty.ThreadInfo.setCurrentThreadInfo:(Lcom/sun/tools/example/debug/tty/ThreadInfo;)V
13: iload 2
ifeq 18
14: aload 0
invokevirtual com.sun.tools.example.debug.tty.Commands.commandStepi:()V
end local 4 15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 4
start local 4 17: ldc "Error popping frame"
aload 4
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 19 1 t Ljava/util/StringTokenizer;
0 19 2 reenter Z
3 5 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
6 19 3 threadInfo Lcom/sun/tools/example/debug/tty/ThreadInfo;
2 5 4 token Ljava/lang/String;
10 15 4 frame Lcom/sun/jdi/StackFrame;
17 18 4 exc Ljava/lang/Throwable;
Exception table:
from to target type
9 15 16 Class java.lang.Throwable
MethodParameters:
Name Flags
t
reenter
void commandExtension(java.util.StringTokenizer);
descriptor: (Ljava/util/StringTokenizer;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
1: ldc "No class specified."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic com.sun.tools.example.debug.tty.Env.getReferenceTypeFromToken:(Ljava/lang/String;)Lcom/sun/jdi/ReferenceType;
astore 3
start local 3 5: aconst_null
astore 4
start local 4 6: aload 3
ifnull 13
7: aload 3
invokeinterface com.sun.jdi.ReferenceType.sourceDebugExtension:()Ljava/lang/String;
astore 4
8: ldc "sourcedebugextension"
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
9: goto 14
StackMap locals: com.sun.tools.example.debug.tty.Commands java.util.StringTokenizer java.lang.String com.sun.jdi.ReferenceType java.lang.String
StackMap stack: com.sun.jdi.AbsentInformationException
10: pop
11: ldc "No sourcedebugextension specified"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
12: goto 14
13: StackMap locals:
StackMap stack:
ldc "is not a valid id or class name"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 15 1 t Ljava/util/StringTokenizer;
4 15 2 idClass Ljava/lang/String;
5 15 3 cls Lcom/sun/jdi/ReferenceType;
6 15 4 extension Ljava/lang/String;
Exception table:
from to target type
7 9 10 Class com.sun.jdi.AbsentInformationException
MethodParameters:
Name Flags
t
void commandVersion(java.lang.String, com.sun.jdi.VirtualMachineManager);
descriptor: (Ljava/lang/String;Lcom/sun/jdi/VirtualMachineManager;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "minus version"
1: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
2: aload 2
invokeinterface com.sun.jdi.VirtualMachineManager.majorInterfaceVersion:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
3: aload 2
invokeinterface com.sun.jdi.VirtualMachineManager.minorInterfaceVersion:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
4: ldc "java.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
aastore
5: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;[Ljava/lang/Object;)V
6: invokestatic com.sun.tools.example.debug.tty.Env.connection:()Lcom/sun/tools/example/debug/tty/VMConnection;
ifnull 11
7: invokestatic com.sun.tools.example.debug.tty.Env.vm:()Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.description:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirectln:(Ljava/lang/String;)V
8: goto 11
StackMap locals:
StackMap stack: com.sun.tools.example.debug.tty.VMNotConnectedException
9: pop
10: ldc "No VM connected"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/example/debug/tty/Commands;
0 12 1 debuggerName Ljava/lang/String;
0 12 2 vmm Lcom/sun/jdi/VirtualMachineManager;
Exception table:
from to target type
7 8 9 Class com.sun.tools.example.debug.tty.VMNotConnectedException
MethodParameters:
Name Flags
debuggerName
vmm
}
SourceFile: "Commands.java"
NestMembers:
com.sun.tools.example.debug.tty.Commands$1 com.sun.tools.example.debug.tty.Commands$2 com.sun.tools.example.debug.tty.Commands$3 com.sun.tools.example.debug.tty.Commands$4 com.sun.tools.example.debug.tty.Commands$5 com.sun.tools.example.debug.tty.Commands$6 com.sun.tools.example.debug.tty.Commands$7 com.sun.tools.example.debug.tty.Commands$AsyncExecution com.sun.tools.example.debug.tty.Commands$AsyncExecution$1
InnerClasses:
public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
public abstract GetFrame = com.sun.tools.example.debug.expr.ExpressionParser$GetFrame of com.sun.tools.example.debug.expr.ExpressionParser
com.sun.tools.example.debug.tty.Commands$1
com.sun.tools.example.debug.tty.Commands$2
com.sun.tools.example.debug.tty.Commands$3
com.sun.tools.example.debug.tty.Commands$4
com.sun.tools.example.debug.tty.Commands$5
com.sun.tools.example.debug.tty.Commands$6
com.sun.tools.example.debug.tty.Commands$7
abstract AsyncExecution = com.sun.tools.example.debug.tty.Commands$AsyncExecution of com.sun.tools.example.debug.tty.Commands