public abstract class org.eclipse.jdt.launching.AbstractVMRunner implements org.eclipse.jdt.launching.IVMRunner
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jdt.launching.AbstractVMRunner
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
protected void abort(java.lang.String, java.lang.Throwable, int);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.eclipse.core.runtime.CoreException
dup
new org.eclipse.core.runtime.Status
dup
iconst_4
aload 0
invokevirtual org.eclipse.jdt.launching.AbstractVMRunner.getPluginIdentifier:()Ljava/lang/String;
iload 3
aload 1
aload 2
invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 1 1 message Ljava/lang/String;
0 1 2 exception Ljava/lang/Throwable;
0 1 3 code I
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
message
exception
code
protected abstract java.lang.String getPluginIdentifier();
descriptor: ()Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected java.lang.Process exec(java.lang.String[], java.io.File);
descriptor: ([Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.eclipse.jdt.launching.AbstractVMRunner.quoteWindowsArgs:([Ljava/lang/String;)[Ljava/lang/String;
astore 1
1: aload 1
aload 2
invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 2 1 cmdLine [Ljava/lang/String;
0 2 2 workingDirectory Ljava/io/File;
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
cmdLine
workingDirectory
protected java.lang.Process exec(java.lang.String[], java.io.File, java.lang.String[]);
descriptor: ([Ljava/lang/String;Ljava/io/File;[Ljava/lang/String;)Ljava/lang/Process;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.eclipse.jdt.launching.AbstractVMRunner.quoteWindowsArgs:([Ljava/lang/String;)[Ljava/lang/String;
astore 1
1: aload 1
aload 2
aload 3
invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;[Ljava/lang/String;)Ljava/lang/Process;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 2 1 cmdLine [Ljava/lang/String;
0 2 2 workingDirectory Ljava/io/File;
0 2 3 envp [Ljava/lang/String;
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
cmdLine
workingDirectory
envp
protected java.lang.Process exec(java.lang.String[], java.io.File, java.lang.String[], boolean);
descriptor: ([Ljava/lang/String;Ljava/io/File;[Ljava/lang/String;Z)Ljava/lang/Process;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic org.eclipse.jdt.launching.AbstractVMRunner.quoteWindowsArgs:([Ljava/lang/String;)[Ljava/lang/String;
astore 1
1: aload 1
aload 2
aload 3
iload 4
invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;[Ljava/lang/String;Z)Ljava/lang/Process;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 2 1 cmdLine [Ljava/lang/String;
0 2 2 workingDirectory Ljava/io/File;
0 2 3 envp [Ljava/lang/String;
0 2 4 mergeOutput Z
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
cmdLine
workingDirectory
envp
mergeOutput
protected static java.lang.String[] quoteWindowsArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic org.eclipse.core.runtime.Platform.getOS:()Ljava/lang/String;
ldc "win32"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
1: aload 0
arraylength
anewarray java.lang.String
astore 1
start local 1 2: aload 0
arraylength
ifle 4
3: aload 1
iconst_0
aload 0
iconst_0
aaload
aastore
4: StackMap locals: java.lang.String[]
StackMap stack:
iconst_1
istore 2
start local 2 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokestatic org.eclipse.jdt.launching.AbstractVMRunner.winQuote:(Ljava/lang/String;)Ljava/lang/String;
aastore
7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
if_icmplt 6
end local 2 9: aload 1
astore 0
end local 1 10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cmdLine [Ljava/lang/String;
2 10 1 winCmdLine [Ljava/lang/String;
5 9 2 i I
MethodParameters:
Name Flags
cmdLine
private static boolean needsQuoting(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: iload 1
ifne 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
ldc "\"\""
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 6: goto 10
7: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 4
9: 8
32: 8
34: 8
92: 8
default: 9
}
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 1
if_icmplt 7
end local 2 11: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 s Ljava/lang/String;
1 12 1 len I
6 11 2 i I
MethodParameters:
Name Flags
s
private static java.lang.String winQuote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.eclipse.jdt.launching.AbstractVMRunner.needsQuoting:(Ljava/lang/String;)Z
ifne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "([\\\\]*)\""
ldc "$1$1\\\\\""
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
3: aload 0
ldc "([\\\\]*)\\z"
ldc "$1$1"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
4: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
protected java.lang.String getCmdLineAsString(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, 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: iconst_0
istore 3
start local 3 2: aload 1
arraylength
istore 4
start local 4 3: goto 7
4: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 2
aload 1
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 2
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 4
end local 4 end local 3 8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 9 1 cmdLine [Ljava/lang/String;
1 9 2 buff Ljava/lang/StringBuilder;
2 8 3 i I
3 8 4 numStrings I
MethodParameters:
Name Flags
cmdLine
protected java.util.Map<java.lang.String, java.lang.String> getDefaultProcessMap();
descriptor: ()Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
getstatic org.eclipse.debug.core.model.IProcess.ATTR_PROCESS_TYPE:Ljava/lang/String;
ldc "java"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
1 3 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
protected org.eclipse.debug.core.model.IProcess newProcess(org.eclipse.debug.core.ILaunch, java.lang.Process, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;Ljava/util/Map;)Lorg/eclipse/debug/core/model/IProcess;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 3
aload 4
invokestatic org.eclipse.debug.core.DebugPlugin.newProcess:(Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;Ljava/util/Map;)Lorg/eclipse/debug/core/model/IProcess;
astore 5
start local 5 1: aload 5
ifnonnull 4
2: aload 2
invokevirtual java.lang.Process.destroy:()V
3: aload 0
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.AbstractVMRunner_0:Ljava/lang/String;
aconst_null
sipush 150
invokevirtual org.eclipse.jdt.launching.AbstractVMRunner.abort:(Ljava/lang/String;Ljava/lang/Throwable;I)V
4: StackMap locals: org.eclipse.debug.core.model.IProcess
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 5 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 5 1 launch Lorg/eclipse/debug/core/ILaunch;
0 5 2 p Ljava/lang/Process;
0 5 3 label Ljava/lang/String;
0 5 4 attributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 5 5 process Lorg/eclipse/debug/core/model/IProcess;
Exceptions:
throws org.eclipse.core.runtime.CoreException
Signature: (Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/debug/core/model/IProcess;
MethodParameters:
Name Flags
launch
p
label
attributes
protected java.lang.String[] combineVmArgs(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.jdt.launching.IVMInstall);
descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/jdt/launching/IVMInstall;)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getVMArguments:()[Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMArguments:()[Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnull 3
aload 4
arraylength
ifne 4
3: StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack:
aload 3
areturn
4: StackMap locals:
StackMap stack:
invokestatic org.eclipse.core.variables.VariablesPlugin.getDefault:()Lorg/eclipse/core/variables/VariablesPlugin;
invokevirtual org.eclipse.core.variables.VariablesPlugin.getStringVariableManager:()Lorg/eclipse/core/variables/IStringVariableManager;
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 12
7: StackMap locals: org.eclipse.core.variables.IStringVariableManager int
StackMap stack:
aload 4
iload 6
aload 5
aload 4
iload 6
aaload
iconst_0
invokeinterface org.eclipse.core.variables.IStringVariableManager.performStringSubstitution:(Ljava/lang/String;Z)Ljava/lang/String;
aastore
8: goto 11
StackMap locals:
StackMap stack: org.eclipse.core.runtime.CoreException
9: astore 7
start local 7 10: aload 7
invokevirtual org.eclipse.core.runtime.CoreException.getStatus:()Lorg/eclipse/core/runtime/IStatus;
invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
end local 7 11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
aload 4
arraylength
if_icmplt 7
end local 6 13: aload 3
arraylength
aload 4
arraylength
iadd
anewarray java.lang.String
astore 6
start local 6 14: aload 4
iconst_0
aload 6
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 3
iconst_0
aload 6
aload 4
arraylength
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 6
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 17 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 17 1 configuration Lorg/eclipse/jdt/launching/VMRunnerConfiguration;
0 17 2 vmInstall Lorg/eclipse/jdt/launching/IVMInstall;
1 17 3 launchVMArgs [Ljava/lang/String;
2 17 4 vmVMArgs [Ljava/lang/String;
5 17 5 manager Lorg/eclipse/core/variables/IStringVariableManager;
6 13 6 i I
10 11 7 e Lorg/eclipse/core/runtime/CoreException;
14 17 6 allVMArgs [Ljava/lang/String;
Exception table:
from to target type
7 8 9 Class org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
configuration
vmInstall
protected boolean isModular(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.jdt.launching.IVMInstall);
descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/jdt/launching/IVMInstall;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getModuleDescription:()Ljava/lang/String;
ifnull 7
aload 1
invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getModuleDescription:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 7
aload 2
instanceof org.eclipse.jdt.launching.AbstractVMInstall
ifeq 7
1: aload 2
checkcast org.eclipse.jdt.launching.AbstractVMInstall
astore 3
start local 3 2: aload 3
invokevirtual org.eclipse.jdt.launching.AbstractVMInstall.getJavaVersion:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
invokevirtual java.lang.String.length:()I
iconst_3
if_icmple 5
4: aload 4
iconst_0
iconst_3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
5: StackMap locals: org.eclipse.jdt.launching.AbstractVMInstall java.lang.String
StackMap stack:
aload 4
ldc "9"
invokestatic org.eclipse.jdt.core.JavaCore.compareJavaVersions:(Ljava/lang/String;Ljava/lang/String;)I
iflt 7
6: iconst_1
ireturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/launching/AbstractVMRunner;
0 8 1 config Lorg/eclipse/jdt/launching/VMRunnerConfiguration;
0 8 2 vmInstall Lorg/eclipse/jdt/launching/IVMInstall;
2 7 3 install Lorg/eclipse/jdt/launching/AbstractVMInstall;
3 7 4 vmver Ljava/lang/String;
MethodParameters:
Name Flags
config
vmInstall
}
SourceFile: "AbstractVMRunner.java"