class com.sun.tools.example.debug.bdi.ChildSession extends com.sun.tools.example.debug.bdi.Session
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.bdi.ChildSession
super_class: com.sun.tools.example.debug.bdi.Session
{
private java.lang.Process process;
descriptor: Ljava/lang/Process;
flags: (0x0002) ACC_PRIVATE
private java.io.PrintWriter in;
descriptor: Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
private java.io.BufferedReader out;
descriptor: Ljava/io/BufferedReader;
flags: (0x0002) ACC_PRIVATE
private java.io.BufferedReader err;
descriptor: Ljava/io/BufferedReader;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.example.debug.bdi.InputListener input;
descriptor: Lcom/sun/tools/example/debug/bdi/InputListener;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.example.debug.bdi.OutputListener output;
descriptor: Lcom/sun/tools/example/debug/bdi/OutputListener;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.example.debug.bdi.OutputListener error;
descriptor: Lcom/sun/tools/example/debug/bdi/OutputListener;
flags: (0x0002) ACC_PRIVATE
public void <init>(com.sun.tools.example.debug.bdi.ExecutionManager, java.lang.String, java.lang.String, com.sun.tools.example.debug.bdi.InputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener);
descriptor: (Lcom/sun/tools/example/debug/bdi/ExecutionManager;Ljava/lang/String;Ljava/lang/String;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 7
aload 2
aload 3
invokestatic com.sun.tools.example.debug.bdi.ChildSession.getVM:(Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jdi/VirtualMachine;
1: aload 4
aload 5
aload 6
aload 7
invokespecial com.sun.tools.example.debug.bdi.ChildSession.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
2: 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 3 0 this Lcom/sun/tools/example/debug/bdi/ChildSession;
0 3 1 runtime Lcom/sun/tools/example/debug/bdi/ExecutionManager;
0 3 2 userVMArgs Ljava/lang/String;
0 3 3 cmdLine Ljava/lang/String;
0 3 4 input Lcom/sun/tools/example/debug/bdi/InputListener;
0 3 5 output Lcom/sun/tools/example/debug/bdi/OutputListener;
0 3 6 error Lcom/sun/tools/example/debug/bdi/OutputListener;
0 3 7 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
MethodParameters:
Name Flags
runtime
userVMArgs
cmdLine
input
output
error
diagnostics
public void <init>(com.sun.tools.example.debug.bdi.ExecutionManager, com.sun.jdi.connect.LaunchingConnector, java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument>, com.sun.tools.example.debug.bdi.InputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener);
descriptor: (Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 7
aload 2
aload 3
invokestatic com.sun.tools.example.debug.bdi.ChildSession.generalGetVM:(Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
1: aload 4
aload 5
aload 6
aload 7
invokespecial com.sun.tools.example.debug.bdi.ChildSession.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
2: 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 3 0 this Lcom/sun/tools/example/debug/bdi/ChildSession;
0 3 1 runtime Lcom/sun/tools/example/debug/bdi/ExecutionManager;
0 3 2 connector Lcom/sun/jdi/connect/LaunchingConnector;
0 3 3 arguments Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
0 3 4 input Lcom/sun/tools/example/debug/bdi/InputListener;
0 3 5 output Lcom/sun/tools/example/debug/bdi/OutputListener;
0 3 6 error Lcom/sun/tools/example/debug/bdi/OutputListener;
0 3 7 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
Signature: (Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
MethodParameters:
Name Flags
runtime
connector
arguments
input
output
error
diagnostics
private void <init>(com.sun.tools.example.debug.bdi.ExecutionManager, com.sun.jdi.VirtualMachine, com.sun.tools.example.debug.bdi.InputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener, com.sun.tools.example.debug.bdi.OutputListener);
descriptor: (Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 2
aload 1
aload 6
invokespecial com.sun.tools.example.debug.bdi.Session.<init>:(Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
1: aload 0
aload 3
putfield com.sun.tools.example.debug.bdi.ChildSession.input:Lcom/sun/tools/example/debug/bdi/InputListener;
2: aload 0
aload 4
putfield com.sun.tools.example.debug.bdi.ChildSession.output:Lcom/sun/tools/example/debug/bdi/OutputListener;
3: aload 0
aload 5
putfield com.sun.tools.example.debug.bdi.ChildSession.error:Lcom/sun/tools/example/debug/bdi/OutputListener;
4: 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 5 0 this Lcom/sun/tools/example/debug/bdi/ChildSession;
0 5 1 runtime Lcom/sun/tools/example/debug/bdi/ExecutionManager;
0 5 2 vm Lcom/sun/jdi/VirtualMachine;
0 5 3 input Lcom/sun/tools/example/debug/bdi/InputListener;
0 5 4 output Lcom/sun/tools/example/debug/bdi/OutputListener;
0 5 5 error Lcom/sun/tools/example/debug/bdi/OutputListener;
0 5 6 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
MethodParameters:
Name Flags
runtime
vm
input
output
error
diagnostics
public boolean attach();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.example.debug.bdi.ChildSession.connectToVMProcess:()Z
ifne 3
1: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
ldc "Could not launch VM"
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
new com.sun.tools.example.debug.bdi.ChildSession$OutputReader
dup
ldc "output reader"
ldc "output"
4: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.out:Ljava/io/BufferedReader;
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.output:Lcom/sun/tools/example/debug/bdi/OutputListener;
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
5: invokespecial com.sun.tools.example.debug.bdi.ChildSession$OutputReader.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/BufferedReader;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
6: astore 1
start local 1 7: aload 1
bipush 9
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$OutputReader.setPriority:(I)V
8: aload 1
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$OutputReader.start:()V
9: new com.sun.tools.example.debug.bdi.ChildSession$OutputReader
dup
ldc "error reader"
ldc "error"
10: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.err:Ljava/io/BufferedReader;
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.error:Lcom/sun/tools/example/debug/bdi/OutputListener;
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
11: invokespecial com.sun.tools.example.debug.bdi.ChildSession$OutputReader.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/BufferedReader;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
12: astore 2
start local 2 13: aload 2
bipush 9
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$OutputReader.setPriority:(I)V
14: aload 2
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$OutputReader.start:()V
15: new com.sun.tools.example.debug.bdi.ChildSession$InputWriter
dup
ldc "input writer"
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.in:Ljava/io/PrintWriter;
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.input:Lcom/sun/tools/example/debug/bdi/InputListener;
invokespecial com.sun.tools.example.debug.bdi.ChildSession$InputWriter.<init>:(Ljava/lang/String;Ljava/io/PrintWriter;Lcom/sun/tools/example/debug/bdi/InputListener;)V
16: astore 3
start local 3 17: aload 3
bipush 9
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$InputWriter.setPriority:(I)V
18: aload 3
invokevirtual com.sun.tools.example.debug.bdi.ChildSession$InputWriter.start:()V
19: aload 0
invokespecial com.sun.tools.example.debug.bdi.Session.attach:()Z
ifne 24
20: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
ifnull 23
21: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroy:()V
22: aload 0
aconst_null
putfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
23: StackMap locals: com.sun.tools.example.debug.bdi.ChildSession$OutputReader com.sun.tools.example.debug.bdi.ChildSession$OutputReader com.sun.tools.example.debug.bdi.ChildSession$InputWriter
StackMap stack:
iconst_0
ireturn
24: StackMap locals:
StackMap stack:
iconst_1
ireturn
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/bdi/ChildSession;
7 25 1 outputReader Lcom/sun/tools/example/debug/bdi/ChildSession$OutputReader;
13 25 2 errorReader Lcom/sun/tools/example/debug/bdi/ChildSession$OutputReader;
17 25 3 inputWriter Lcom/sun/tools/example/debug/bdi/ChildSession$InputWriter;
public void detach();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.tools.example.debug.bdi.Session.detach:()V
1: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
ifnull 4
2: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroy:()V
3: aload 0
aconst_null
putfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/bdi/ChildSession;
private static void dumpStream(com.sun.tools.example.debug.bdi.OutputListener, java.io.InputStream);
descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/io/InputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, 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 java.lang.String
StackMap stack:
aload 0
aload 3
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 3
start local 3 5: ifnonnull 3
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
0 7 1 stream Ljava/io/InputStream;
2 7 2 in Ljava/io/BufferedReader;
3 4 3 line Ljava/lang/String;
5 7 3 line Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
diagnostics
stream
private static void dumpFailedLaunchInfo(com.sun.tools.example.debug.bdi.OutputListener, java.lang.Process);
descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/lang/Process;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokestatic com.sun.tools.example.debug.bdi.ChildSession.dumpStream:(Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/io/InputStream;)V
1: aload 0
aload 1
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokestatic com.sun.tools.example.debug.bdi.ChildSession.dumpStream:(Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/io/InputStream;)V
2: goto 7
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to display process output: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(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 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
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
diagnostics
process
private static com.sun.jdi.VirtualMachine getVM(com.sun.tools.example.debug.bdi.OutputListener, java.lang.String, java.lang.String);
descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jdi/VirtualMachine;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.jdi.Bootstrap.virtualMachineManager:()Lcom/sun/jdi/VirtualMachineManager;
astore 3
start local 3 1: aload 3
invokeinterface com.sun.jdi.VirtualMachineManager.defaultConnector:()Lcom/sun/jdi/connect/LaunchingConnector;
astore 4
start local 4 2: aload 4
invokeinterface com.sun.jdi.connect.LaunchingConnector.defaultArguments:()Ljava/util/Map;
astore 5
start local 5 3: aload 5
ldc "options"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
aload 1
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
4: aload 5
ldc "main"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jdi.connect.Connector$Argument
aload 2
invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
5: aload 0
aload 4
aload 5
invokestatic com.sun.tools.example.debug.bdi.ChildSession.generalGetVM:(Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
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 6 0 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
0 6 1 userVMArgs Ljava/lang/String;
0 6 2 cmdLine Ljava/lang/String;
1 6 3 manager Lcom/sun/jdi/VirtualMachineManager;
2 6 4 connector Lcom/sun/jdi/connect/LaunchingConnector;
3 6 5 arguments Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
MethodParameters:
Name Flags
diagnostics
userVMArgs
cmdLine
private static com.sun.jdi.VirtualMachine generalGetVM(com.sun.tools.example.debug.bdi.OutputListener, com.sun.jdi.connect.LaunchingConnector, java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument>);
descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
ldc "Starting child."
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
2: aload 1
aload 2
invokeinterface com.sun.jdi.connect.LaunchingConnector.launch:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
astore 3
3: goto 13
StackMap locals: com.sun.tools.example.debug.bdi.OutputListener com.sun.jdi.connect.LaunchingConnector java.util.Map com.sun.jdi.VirtualMachine
StackMap stack: java.io.IOException
4: astore 4
start local 4 5: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to start child: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
end local 4 6: goto 13
7: StackMap locals:
StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
astore 4
start local 4 8: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to start child: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
end local 4 9: goto 13
10: StackMap locals:
StackMap stack: com.sun.jdi.connect.VMStartException
astore 4
start local 4 11: aload 0
new java.lang.StringBuilder
dup
ldc "Unable to start child: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual com.sun.jdi.connect.VMStartException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
12: aload 0
aload 4
invokevirtual com.sun.jdi.connect.VMStartException.process:()Ljava/lang/Process;
invokestatic com.sun.tools.example.debug.bdi.ChildSession.dumpFailedLaunchInfo:(Lcom/sun/tools/example/debug/bdi/OutputListener;Ljava/lang/Process;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 diagnostics Lcom/sun/tools/example/debug/bdi/OutputListener;
0 14 1 connector Lcom/sun/jdi/connect/LaunchingConnector;
0 14 2 arguments Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
1 14 3 vm Lcom/sun/jdi/VirtualMachine;
5 6 4 ioe Ljava/io/IOException;
8 9 4 icae Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
11 13 4 vmse Lcom/sun/jdi/connect/VMStartException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
1 3 7 Class com.sun.jdi.connect.IllegalConnectorArgumentsException
1 3 10 Class com.sun.jdi.connect.VMStartException
Signature: (Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;)Lcom/sun/jdi/VirtualMachine;
MethodParameters:
Name Flags
diagnostics
connector
arguments
private boolean connectToVMProcess();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.vm:Lcom/sun/jdi/VirtualMachine;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.vm:Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.process:()Ljava/lang/Process;
putfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
3: aload 0
new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
putfield com.sun.tools.example.debug.bdi.ChildSession.in:Ljava/io/PrintWriter;
4: aload 0
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
iconst_1
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
putfield com.sun.tools.example.debug.bdi.ChildSession.out:Ljava/io/BufferedReader;
5: aload 0
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 0
getfield com.sun.tools.example.debug.bdi.ChildSession.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
iconst_1
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
putfield com.sun.tools.example.debug.bdi.ChildSession.err:Ljava/io/BufferedReader;
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/bdi/ChildSession;
}
SourceFile: "ChildSession.java"
NestMembers:
com.sun.tools.example.debug.bdi.ChildSession$InputWriter com.sun.tools.example.debug.bdi.ChildSession$OutputReader com.sun.tools.example.debug.bdi.ChildSession$OutputReader$1 com.sun.tools.example.debug.bdi.ChildSession$OutputReader$2
InnerClasses:
public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
private InputWriter = com.sun.tools.example.debug.bdi.ChildSession$InputWriter of com.sun.tools.example.debug.bdi.ChildSession
private OutputReader = com.sun.tools.example.debug.bdi.ChildSession$OutputReader of com.sun.tools.example.debug.bdi.ChildSession