class com.sun.tools.example.debug.tty.VMConnection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.tty.VMConnection
super_class: java.lang.Object
{
private com.sun.jdi.VirtualMachine vm;
descriptor: Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
private java.lang.Process process;
descriptor: Ljava/lang/Process;
flags: (0x0002) ACC_PRIVATE
private int outputCompleteCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final com.sun.jdi.connect.Connector connector;
descriptor: Lcom/sun/jdi/connect/Connector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument> connectorArgs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
private int traceFlags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
synchronized void notifyOutputComplete();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.tools.example.debug.tty.VMConnection.outputCompleteCount:I
iconst_1
iadd
putfield com.sun.tools.example.debug.tty.VMConnection.outputCompleteCount:I
1: aload 0
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
synchronized void waitOutputComplete();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
ifnull 6
1: goto 5
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
3: goto 5
StackMap locals:
StackMap stack: java.lang.InterruptedException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.outputCompleteCount:I
iconst_2
if_icmplt 2
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
private com.sun.jdi.connect.Connector findConnector(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/jdi/connect/Connector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic com.sun.jdi.Bootstrap.virtualMachineManager:()Lcom/sun/jdi/VirtualMachineManager;
invokeinterface com.sun.jdi.VirtualMachineManager.allConnectors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.sun.tools.example.debug.tty.VMConnection java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector
astore 2
start local 2 2: aload 2
invokeinterface com.sun.jdi.connect.Connector.name:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
0 6 1 name Ljava/lang/String;
2 4 2 connector Lcom/sun/jdi/connect/Connector;
MethodParameters:
Name Flags
name
private java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument> parseConnectorArgs(com.sun.jdi.connect.Connector, java.lang.String, java.lang.String);
descriptor: (Lcom/sun/jdi/connect/Connector;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface com.sun.jdi.connect.Connector.defaultArguments:()Ljava/util/Map;
astore 4
start local 4 1: ldc "(quote=[^,]+,)|(\\w+=)(((\"[^\"]*\")|('[^']*')|([^,'\"]+))+,)"
2: astore 5
start local 5 3: aload 5
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 6
start local 6 4: aload 6
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 7
start local 7 5: goto 48
6: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher
StackMap stack:
aload 7
invokevirtual java.util.regex.Matcher.start:()I
istore 8
start local 8 7: aload 7
invokevirtual java.util.regex.Matcher.end:()I
istore 9
start local 9 8: iload 8
ifle 14
9: new java.lang.IllegalArgumentException
dup
10: ldc "Illegal connector argument"
11: aload 2
12: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: int int
StackMap stack:
aload 2
iload 8
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 15: aload 10
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 11
start local 11 16: aload 10
iconst_0
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
start local 12 17: aload 10
iload 11
iconst_1
iadd
18: aload 10
invokevirtual java.lang.String.length:()I
iconst_1
isub
19: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
start local 13 20: aload 12
ldc "options"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
21: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 14
start local 14 22: aload 3
ifnull 25
23: aload 14
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: aconst_null
astore 3
25: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher int int java.lang.String int java.lang.String java.lang.String java.lang.StringBuilder
StackMap stack:
aload 13
invokestatic com.sun.tools.example.debug.tty.VMConnection.splitStringAtNonEnclosedWhiteSpace:(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 36
StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher int int java.lang.String int java.lang.String java.lang.String java.lang.StringBuilder top java.util.Iterator
StackMap stack:
26: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 15
start local 15 27: iconst_0
istore 17
start local 17 28: goto 31
29: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher int int java.lang.String int java.lang.String java.lang.String java.lang.StringBuilder java.lang.String java.util.Iterator int
StackMap stack:
iconst_1
istore 17
30: aload 15
iconst_1
aload 15
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 15
31: StackMap locals:
StackMap stack:
aload 15
ldc "\""
invokestatic com.sun.tools.example.debug.tty.VMConnection.isEnclosed:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 29
aload 15
ldc "'"
invokestatic com.sun.tools.example.debug.tty.VMConnection.isEnclosed:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 29
32: iload 17
ifeq 34
aload 15
invokestatic com.sun.tools.example.debug.tty.VMConnection.hasWhitespace:(Ljava/lang/String;)Z
ifeq 34
33: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
34: StackMap locals:
StackMap stack:
aload 14
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: aload 14
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 17 end local 15 36: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher int int java.lang.String int java.lang.String java.lang.String java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
37: aload 14
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
end local 14 38: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher int int java.lang.String int java.lang.String java.lang.String
StackMap stack:
aload 4
aload 12
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 14
start local 14 39: aload 14
ifnonnull 45
40: new java.lang.IllegalArgumentException
dup
41: ldc "Argument is not defined for connector:"
42: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 12
aastore
dup
iconst_1
aload 1
invokeinterface com.sun.jdi.connect.Connector.name:()Ljava/lang/String;
aastore
43: invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
44: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: com.sun.jdi.connect.Connector$Argument
StackMap stack:
aload 14
aload 13
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
46: aload 2
iload 9
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
47: aload 6
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 7
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 48: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.Connector java.lang.String java.lang.String java.util.Map java.lang.String java.util.regex.Pattern java.util.regex.Matcher
StackMap stack:
aload 7
invokevirtual java.util.regex.Matcher.find:()Z
ifne 6
49: aload 2
ldc ","
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
aload 2
invokevirtual java.lang.String.length:()I
ifle 53
50: new java.lang.IllegalArgumentException
dup
51: ldc "Illegal connector argument"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
52: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals:
StackMap stack:
aload 3
ifnull 57
54: aload 4
ldc "options"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 8
start local 8 55: aload 8
ifnull 57
56: aload 8
aload 3
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
end local 8 57: StackMap locals:
StackMap stack:
aload 4
areturn
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 58 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
0 58 1 connector Lcom/sun/jdi/connect/Connector;
0 58 2 argString Ljava/lang/String;
0 58 3 extraOptions Ljava/lang/String;
1 58 4 arguments Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
3 58 5 regexPattern Ljava/lang/String;
4 58 6 p Ljava/util/regex/Pattern;
5 58 7 m Ljava/util/regex/Matcher;
7 48 8 startPosition I
8 48 9 endPosition I
15 48 10 token Ljava/lang/String;
16 48 11 index I
17 48 12 name Ljava/lang/String;
20 48 13 value Ljava/lang/String;
22 38 14 sb Ljava/lang/StringBuilder;
27 36 15 s Ljava/lang/String;
28 36 17 wasEnclosed Z
39 48 14 argument Lcom/sun/jdi/connect/Connector$Argument;
55 57 8 argument Lcom/sun/jdi/connect/Connector$Argument;
Signature: (Lcom/sun/jdi/connect/Connector;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
MethodParameters:
Name Flags
connector
argString
extraOptions
private static boolean hasWhitespace(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 3
end local 2 7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 string Ljava/lang/String;
1 8 1 length I
2 7 2 i I
MethodParameters:
Name Flags
string
private static boolean isEnclosed(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifne 4
1: aload 0
aload 1
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 2
start local 2 2: iload 2
ifle 4
iload 2
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Ljava/lang/String;
0 5 1 enclosingChar Ljava/lang/String;
2 4 2 lastIndex I
MethodParameters:
Name Flags
value
enclosingChar
private static java.util.List<java.lang.String> splitStringAtNonEnclosedWhiteSpace(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: bipush 32
istore 5
start local 5 4: aload 0
ifnonnull 8
5: new java.lang.IllegalArgumentException
dup
6: ldc "value string is null"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String java.util.List top int int int
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 9: iconst_0
istore 6
start local 6 10: goto 41
11: StackMap locals: java.lang.String java.util.List char[] int int int int
StackMap stack:
aload 2
iload 6
caload
lookupswitch { // 3
32: 12
34: 15
39: 15
default: 29
}
12: StackMap locals:
StackMap stack:
aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isLastChar:([CI)Z
ifeq 40
13: iload 6
istore 4
14: goto 34
15: StackMap locals:
StackMap stack:
iload 5
aload 2
iload 6
caload
if_icmpne 20
16: aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isNextCharWhitespace:([CI)Z
ifeq 20
17: iload 6
istore 4
18: bipush 32
istore 5
19: goto 34
20: StackMap locals:
StackMap stack:
iload 5
bipush 32
if_icmpne 40
21: aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isPreviousCharWhitespace:([CI)Z
ifeq 40
22: iload 6
istore 3
23: aload 0
aload 2
iload 6
caload
iload 6
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
iflt 26
24: aload 2
iload 6
caload
istore 5
25: goto 40
26: StackMap locals:
StackMap stack:
aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isNextCharWhitespace:([CI)Z
ifeq 40
27: iload 6
istore 4
28: goto 34
29: StackMap locals:
StackMap stack:
iload 5
bipush 32
if_icmpne 40
30: aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isPreviousCharWhitespace:([CI)Z
ifeq 32
31: iload 6
istore 3
32: StackMap locals:
StackMap stack:
aload 2
iload 6
invokestatic com.sun.tools.example.debug.tty.VMConnection.isNextCharWhitespace:([CI)Z
ifeq 40
33: iload 6
istore 4
34: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmple 38
35: new java.lang.IllegalArgumentException
dup
36: ldc "Illegal option values"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
37: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 3
iinc 4 1
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
39: iload 4
dup
istore 3
istore 6
40: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
41: iload 6
aload 2
arraylength
if_icmplt 11
end local 6 42: aload 1
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 43 0 value Ljava/lang/String;
1 43 1 al Ljava/util/List<Ljava/lang/String;>;
9 43 2 arr [C
2 43 3 startPosition I
3 43 4 endPosition I
4 43 5 enclosingTargetChar C
10 42 6 i I
Exceptions:
throws java.lang.IllegalArgumentException
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
value
private static boolean isPreviousCharWhitespace(char[], int);
descriptor: ([CI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
isub
invokestatic com.sun.tools.example.debug.tty.VMConnection.isCharWhitespace:([CI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [C
0 1 1 curr_pos I
MethodParameters:
Name Flags
arr
curr_pos
private static boolean isNextCharWhitespace(char[], int);
descriptor: ([CI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
iadd
invokestatic com.sun.tools.example.debug.tty.VMConnection.isCharWhitespace:([CI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [C
0 1 1 curr_pos I
MethodParameters:
Name Flags
arr
curr_pos
private static boolean isCharWhitespace(char[], int);
descriptor: ([CI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
arraylength
if_icmplt 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
caload
bipush 32
if_icmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 arr [C
0 5 1 pos I
MethodParameters:
Name Flags
arr
pos
private static boolean isLastChar(char[], int);
descriptor: ([CI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
iadd
aload 0
arraylength
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arr [C
0 2 1 pos I
MethodParameters:
Name Flags
arr
pos
void <init>(java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
2: aload 0
iconst_0
putfield com.sun.tools.example.debug.tty.VMConnection.outputCompleteCount:I
3: aload 1
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 4: iload 6
iconst_m1
if_icmpne 8
5: aload 1
astore 4
start local 4 6: ldc ""
astore 5
start local 5 7: goto 10
end local 5 end local 4 8: StackMap locals: com.sun.tools.example.debug.tty.VMConnection java.lang.String int java.lang.String top top int
StackMap stack:
aload 1
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 9: aload 1
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
start local 5 10: StackMap locals: com.sun.tools.example.debug.tty.VMConnection java.lang.String int java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 0
aload 0
aload 4
invokevirtual com.sun.tools.example.debug.tty.VMConnection.findConnector:(Ljava/lang/String;)Lcom/sun/jdi/connect/Connector;
putfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
11: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
ifnonnull 15
12: new java.lang.IllegalArgumentException
dup
13: ldc "No connector named:"
aload 4
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
aload 5
aload 3
invokevirtual com.sun.tools.example.debug.tty.VMConnection.parseConnectorArgs:(Lcom/sun/jdi/connect/Connector;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
putfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
16: aload 0
iload 2
putfield com.sun.tools.example.debug.tty.VMConnection.traceFlags:I
17: return
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 18 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
0 18 1 connectSpec Ljava/lang/String;
0 18 2 traceFlags I
0 18 3 extraOptions Ljava/lang/String;
6 8 4 nameString Ljava/lang/String;
9 18 4 nameString Ljava/lang/String;
7 8 5 argString Ljava/lang/String;
10 18 5 argString Ljava/lang/String;
4 18 6 index I
MethodParameters:
Name Flags
connectSpec
traceFlags
extraOptions
public void setTraceFlags(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.tools.example.debug.tty.VMConnection.traceFlags:I
1: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
ifnull 3
2: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
iload 1
invokeinterface com.sun.jdi.VirtualMachine.setDebugTraceMode:(I)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
0 4 1 flags I
MethodParameters:
Name Flags
flags
synchronized com.sun.jdi.VirtualMachine open();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
instanceof com.sun.jdi.connect.LaunchingConnector
ifeq 3
1: aload 0
aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.launchTarget:()Lcom/sun/jdi/VirtualMachine;
putfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
2: goto 12
StackMap locals:
StackMap stack:
3: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
instanceof com.sun.jdi.connect.AttachingConnector
ifeq 6
4: aload 0
aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.attachTarget:()Lcom/sun/jdi/VirtualMachine;
putfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
5: goto 12
StackMap locals:
StackMap stack:
6: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
instanceof com.sun.jdi.connect.ListeningConnector
ifeq 9
7: aload 0
aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.listenTarget:()Lcom/sun/jdi/VirtualMachine;
putfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
8: goto 12
9: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
10: ldc "Invalid connect type"
invokestatic com.sun.tools.example.debug.tty.MessageOutput.format:(Ljava/lang/String;)Ljava/lang/String;
11: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.traceFlags:I
invokeinterface com.sun.jdi.VirtualMachine.setDebugTraceMode:(I)V
13: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.canBeModified:()Z
ifeq 16
14: aload 0
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.setEventRequests:(Lcom/sun/jdi/VirtualMachine;)V
15: aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.resolveEventRequests:()V
16: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.example.debug.tty.Env.getSourcePath:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 23
17: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
instanceof com.sun.jdi.PathSearchingVirtualMachine
ifeq 22
18: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
checkcast com.sun.jdi.PathSearchingVirtualMachine
19: astore 1
start local 1 20: aload 1
invokeinterface com.sun.jdi.PathSearchingVirtualMachine.classPath:()Ljava/util/List;
invokestatic com.sun.tools.example.debug.tty.Env.setSourcePath:(Ljava/util/List;)V
end local 1 21: goto 23
22: StackMap locals:
StackMap stack:
ldc "."
invokestatic com.sun.tools.example.debug.tty.Env.setSourcePath:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
20 21 1 psvm Lcom/sun/jdi/PathSearchingVirtualMachine;
boolean setConnectorArg(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
ifnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 3
start local 3 3: aload 3
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: com.sun.jdi.connect.Connector$Argument
StackMap stack:
aload 3
aload 2
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
6: iconst_1
ireturn
end local 3 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/VMConnection;
0 7 1 name Ljava/lang/String;
0 7 2 value Ljava/lang/String;
3 7 3 argument Lcom/sun/jdi/connect/Connector$Argument;
MethodParameters:
Name Flags
name
value
java.lang.String connectorArg(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
astore 2
start local 2 1: aload 2
ifnonnull 3
2: ldc ""
areturn
3: StackMap locals: com.sun.jdi.connect.Connector$Argument
StackMap stack:
aload 2
invokeinterface com.sun.jdi.connect.Connector$Argument.value:()Ljava/lang/String;
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/VMConnection;
0 4 1 name Ljava/lang/String;
1 4 2 argument Lcom/sun/jdi/connect/Connector$Argument;
MethodParameters:
Name Flags
name
public synchronized com.sun.jdi.VirtualMachine vm();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
ifnonnull 2
1: new com.sun.tools.example.debug.tty.VMNotConnectedException
dup
invokespecial com.sun.tools.example.debug.tty.VMNotConnectedException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
boolean isOpen();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
boolean isLaunch();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
instanceof com.sun.jdi.connect.LaunchingConnector
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
public void disposeVM();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
ifnull 10
1: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.dispose:()V
2: aload 0
aconst_null
putfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
3: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
ifnull 8
6: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroy:()V
7: aload 0
aconst_null
putfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
8: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.waitOutputComplete:()V
9: aload 1
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
ifnull 13
11: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroy:()V
12: aload 0
aconst_null
putfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.example.debug.tty.VMConnection.waitOutputComplete:()V
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
Exception table:
from to target type
0 4 4 any
private void setEventRequests(com.sun.jdi.VirtualMachine);
descriptor: (Lcom/sun/jdi/VirtualMachine;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
astore 2
start local 2 1: new com.sun.tools.example.debug.tty.Commands
dup
invokespecial com.sun.tools.example.debug.tty.Commands.<init>:()V
astore 3
start local 3 2: aload 3
3: new java.util.StringTokenizer
dup
ldc "uncaught java.lang.Throwable"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
4: invokevirtual com.sun.tools.example.debug.tty.Commands.commandCatchException:(Ljava/util/StringTokenizer;)V
5: aload 2
invokeinterface com.sun.jdi.request.EventRequestManager.createThreadStartRequest:()Lcom/sun/jdi/request/ThreadStartRequest;
astore 4
start local 4 6: aload 4
invokeinterface com.sun.jdi.request.ThreadStartRequest.enable:()V
7: aload 2
invokeinterface com.sun.jdi.request.EventRequestManager.createThreadDeathRequest:()Lcom/sun/jdi/request/ThreadDeathRequest;
astore 5
start local 5 8: aload 5
invokeinterface com.sun.jdi.request.ThreadDeathRequest.enable:()V
9: 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 10 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
0 10 1 vm Lcom/sun/jdi/VirtualMachine;
1 10 2 erm Lcom/sun/jdi/request/EventRequestManager;
2 10 3 evaluator Lcom/sun/tools/example/debug/tty/Commands;
6 10 4 tsr Lcom/sun/jdi/request/ThreadStartRequest;
8 10 5 tdr Lcom/sun/jdi/request/ThreadDeathRequest;
MethodParameters:
Name Flags
vm
private void resolveEventRequests();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.tools.example.debug.tty.Env.specList:Lcom/sun/tools/example/debug/tty/EventRequestSpecList;
invokevirtual com.sun.tools.example.debug.tty.EventRequestSpecList.resolveAll:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
private void dumpStream(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
1: astore 2
start local 2 2: goto 4
start local 3 3: StackMap locals: java.io.BufferedReader int
StackMap stack:
iload 3
i2c
invokestatic com.sun.tools.example.debug.tty.MessageOutput.printDirect:(C)V
end local 3 4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.BufferedReader.read:()I
dup
istore 3
start local 3 5: iconst_m1
if_icmpne 3
6: goto 10
end local 3 StackMap locals:
StackMap stack: java.io.IOException
7: astore 4
start local 4 8: aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
ldc "stream closed"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 10
9: aload 4
athrow
end local 4 10: StackMap locals:
StackMap stack:
return
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/VMConnection;
0 11 1 stream Ljava/io/InputStream;
2 11 2 in Ljava/io/BufferedReader;
3 4 3 i I
5 7 3 i I
8 10 4 ex Ljava/io/IOException;
Exception table:
from to target type
2 6 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
private void displayRemoteOutput(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.sun.tools.example.debug.tty.VMConnection$1
dup
aload 0
ldc "output reader"
aload 1
invokespecial com.sun.tools.example.debug.tty.VMConnection$1.<init>:(Lcom/sun/tools/example/debug/tty/VMConnection;Ljava/lang/String;Ljava/io/InputStream;)V
astore 2
start local 2 1: aload 2
bipush 9
invokevirtual java.lang.Thread.setPriority:(I)V
2: aload 2
invokevirtual java.lang.Thread.start:()V
3: 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/VMConnection;
0 4 1 stream Ljava/io/InputStream;
1 4 2 thr Ljava/lang/Thread;
MethodParameters:
Name Flags
stream final
private void dumpFailedLaunchInfo(java.lang.Process);
descriptor: (Ljava/lang/Process;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.dumpStream:(Ljava/io/InputStream;)V
1: aload 0
aload 1
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.dumpStream:(Ljava/io/InputStream;)V
2: goto 7
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: ldc "Unable to display process output:"
5: aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
6: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;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/VMConnection;
0 8 1 process Ljava/lang/Process;
4 7 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
process
private com.sun.jdi.VirtualMachine launchTarget();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
checkcast com.sun.jdi.connect.LaunchingConnector
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.LaunchingConnector.launch:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
astore 2
start local 2 2: aload 0
aload 2
invokeinterface com.sun.jdi.VirtualMachine.process:()Ljava/lang/Process;
putfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
3: aload 0
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.displayRemoteOutput:(Ljava/io/InputStream;)V
4: aload 0
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.displayRemoteOutput:(Ljava/io/InputStream;)V
5: aload 2
6: areturn
end local 2 7: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.LaunchingConnector
StackMap stack: java.io.IOException
astore 2
start local 2 8: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
9: ldc "Unable to launch target VM."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 10: goto 20
11: StackMap locals:
StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
astore 2
start local 2 12: aload 2
invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.printStackTrace:()V
13: ldc "Internal debugger error."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 14: goto 20
15: StackMap locals:
StackMap stack: com.sun.jdi.connect.VMStartException
astore 2
start local 2 16: ldc "vmstartexception"
aload 2
invokevirtual com.sun.jdi.connect.VMStartException.getMessage:()Ljava/lang/String;
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
17: invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:()V
18: aload 0
aload 2
invokevirtual com.sun.jdi.connect.VMStartException.process:()Ljava/lang/Process;
invokevirtual com.sun.tools.example.debug.tty.VMConnection.dumpFailedLaunchInfo:(Ljava/lang/Process;)V
19: ldc "Target VM failed to initialize."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
1 21 1 launcher Lcom/sun/jdi/connect/LaunchingConnector;
2 7 2 vm Lcom/sun/jdi/VirtualMachine;
8 10 2 ioe Ljava/io/IOException;
12 14 2 icae Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
16 20 2 vmse Lcom/sun/jdi/connect/VMStartException;
Exception table:
from to target type
1 6 7 Class java.io.IOException
1 6 11 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
1 6 15 Class com.sun.jdi.connect.VMStartException
private com.sun.jdi.VirtualMachine attachTarget();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
checkcast com.sun.jdi.connect.AttachingConnector
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.AttachingConnector.attach:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
2: areturn
3: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.AttachingConnector
StackMap stack: java.io.IOException
astore 2
start local 2 4: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
5: ldc "Unable to attach to target VM."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 6: goto 10
7: StackMap locals:
StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
astore 2
start local 2 8: aload 2
invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.printStackTrace:()V
9: ldc "Internal debugger error."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
1 11 1 attacher Lcom/sun/jdi/connect/AttachingConnector;
4 6 2 ioe Ljava/io/IOException;
8 10 2 icae Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
1 2 7 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
private com.sun.jdi.VirtualMachine listenTarget();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connector:Lcom/sun/jdi/connect/Connector;
checkcast com.sun.jdi.connect.ListeningConnector
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.startListening:(Ljava/util/Map;)Ljava/lang/String;
astore 2
start local 2 2: ldc "Listening at address:"
aload 2
invokestatic com.sun.tools.example.debug.tty.MessageOutput.println:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
aload 1
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.accept:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
putfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
4: aload 1
aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.connectorArgs:Ljava/util/Map;
invokeinterface com.sun.jdi.connect.ListeningConnector.stopListening:(Ljava/util/Map;)V
5: aload 0
getfield com.sun.tools.example.debug.tty.VMConnection.vm:Lcom/sun/jdi/VirtualMachine;
6: areturn
end local 2 7: StackMap locals: com.sun.tools.example.debug.tty.VMConnection com.sun.jdi.connect.ListeningConnector
StackMap stack: java.io.IOException
astore 2
start local 2 8: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
9: ldc "Unable to attach to target VM."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 10: goto 14
11: StackMap locals:
StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
astore 2
start local 2 12: aload 2
invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.printStackTrace:()V
13: ldc "Internal debugger error."
invokestatic com.sun.tools.example.debug.tty.MessageOutput.fatalError:(Ljava/lang/String;)V
end local 2 14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/example/debug/tty/VMConnection;
1 15 1 listener Lcom/sun/jdi/connect/ListeningConnector;
2 7 2 retAddress Ljava/lang/String;
8 10 2 ioe Ljava/io/IOException;
12 14 2 icae Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
Exception table:
from to target type
1 6 7 Class java.io.IOException
1 6 11 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
}
SourceFile: "VMConnection.java"
NestMembers:
com.sun.tools.example.debug.tty.VMConnection$1
InnerClasses:
public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
com.sun.tools.example.debug.tty.VMConnection$1