public class org.eclipse.jdt.internal.launching.StandardVMDebugger extends org.eclipse.jdt.internal.launching.StandardVMRunner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.launching.StandardVMDebugger
  super_class: org.eclipse.jdt.internal.launching.StandardVMRunner
{
  protected static final java.lang.String JAVA_JVM_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "JAVA_JVM_VERSION"

  protected static final java.lang.String JRE;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "jre"

  protected static final java.lang.String BIN;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "bin"

  public void <init>(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
        start local 1 // org.eclipse.jdt.launching.IVMInstall vmInstance
         0: .line 147
            aload 0 /* this */
            aload 1 /* vmInstance */
            invokespecial org.eclipse.jdt.internal.launching.StandardVMRunner.<init>:(Lorg/eclipse/jdt/launching/IVMInstall;)V
         1: .line 148
            return
        end local 1 // org.eclipse.jdt.launching.IVMInstall vmInstance
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            0    2     1  vmInstance  Lorg/eclipse/jdt/launching/IVMInstall;
    MethodParameters:
            Name  Flags
      vmInstance  

  public java.lang.String showCommandLine(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/debug/core/ILaunch;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
        start local 1 // org.eclipse.jdt.launching.VMRunnerConfiguration configuration
        start local 2 // org.eclipse.debug.core.ILaunch launch
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 152
            aload 3 /* monitor */
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/SubMonitor;
            astore 4 /* subMonitor */
        start local 4 // org.eclipse.core.runtime.SubMonitor subMonitor
         1: .line 154
            aload 0 /* this */
            aload 1 /* configuration */
            aload 2 /* launch */
            aload 4 /* subMonitor */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.getCommandLine:(Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/debug/core/ILaunch;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/launching/StandardVMRunner$CommandDetails;
            astore 5 /* cmd */
        start local 5 // org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails cmd
         2: .line 155
            aload 4 /* subMonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
            ifeq 4
         3: .line 156
            ldc ""
            areturn
         4: .line 158
      StackMap locals: org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails
      StackMap stack:
            aload 5 /* cmd */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.getCommandLine:()[Ljava/lang/String;
            astore 6 /* cmdLine */
        start local 6 // java.lang.String[] cmdLine
         5: .line 159
            aload 6 /* cmdLine */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMDebugger.quoteWindowsArgs:([Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* cmdLine */
         6: .line 160
            aload 0 /* this */
            aload 6 /* cmdLine */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.getCmdLineAsString:([Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // java.lang.String[] cmdLine
        end local 5 // org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails cmd
        end local 4 // org.eclipse.core.runtime.SubMonitor subMonitor
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.debug.core.ILaunch launch
        end local 1 // org.eclipse.jdt.launching.VMRunnerConfiguration configuration
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            0    7     1  configuration  Lorg/eclipse/jdt/launching/VMRunnerConfiguration;
            0    7     2         launch  Lorg/eclipse/debug/core/ILaunch;
            0    7     3        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    7     4     subMonitor  Lorg/eclipse/core/runtime/SubMonitor;
            2    7     5            cmd  Lorg/eclipse/jdt/internal/launching/StandardVMRunner$CommandDetails;
            5    7     6        cmdLine  [Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  
      launch         
      monitor        

  private org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails getCommandLine(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/debug/core/ILaunch;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/launching/StandardVMRunner$CommandDetails;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=19, args_size=4
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
        start local 1 // org.eclipse.jdt.launching.VMRunnerConfiguration config
        start local 2 // org.eclipse.debug.core.ILaunch launch
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 164
            aload 3 /* monitor */
            iconst_1
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
            astore 4 /* subMonitor */
        start local 4 // org.eclipse.core.runtime.IProgressMonitor subMonitor
         1: .line 167
            aload 4 /* subMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 3
         2: .line 168
            aconst_null
            areturn
         3: .line 171
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor
      StackMap stack:
            aload 4 /* subMonitor */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMDebugger_Finding_free_socket____2:Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.subTask:(Ljava/lang/String;)V
         4: .line 173
            invokestatic org.eclipse.jdt.launching.SocketUtil.findFreePort:()I
            istore 5 /* port */
        start local 5 // int port
         5: .line 174
            iload 5 /* port */
            iconst_m1
            if_icmpne 7
         6: .line 175
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1:Ljava/lang/String;
            aconst_null
            bipush 118
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.abort:(Ljava/lang/String;Ljava/lang/Throwable;I)V
         7: .line 178
      StackMap locals: int
      StackMap stack:
            aload 4 /* subMonitor */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.worked:(I)V
         8: .line 181
            aload 4 /* subMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 10
         9: .line 182
            aconst_null
            areturn
        10: .line 185
      StackMap locals:
      StackMap stack:
            aload 4 /* subMonitor */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMDebugger_Constructing_command_line____3:Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.subTask:(Ljava/lang/String;)V
        11: .line 187
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.constructProgramString:(Lorg/eclipse/jdt/launching/VMRunnerConfiguration;)Ljava/lang/String;
            astore 6 /* program */
        start local 6 // java.lang.String program
        12: .line 189
            new java.util.ArrayList
            dup
            bipush 12
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* arguments */
        start local 7 // java.util.List arguments
        13: .line 191
            aload 7 /* arguments */
            aload 6 /* program */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 193
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            instanceof org.eclipse.jdt.internal.launching.StandardVM
            ifeq 23
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            checkcast org.eclipse.jdt.internal.launching.StandardVM
            invokevirtual org.eclipse.jdt.internal.launching.StandardVM.getDebugArgs:()Ljava/lang/String;
            ifnull 23
        15: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            checkcast org.eclipse.jdt.internal.launching.StandardVM
            invokevirtual org.eclipse.jdt.internal.launching.StandardVM.getDebugArgs:()Ljava/lang/String;
            ldc "\\Q${port}\\E"
            iload 5 /* port */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* debugArgString */
        start local 8 // java.lang.String debugArgString
        16: .line 195
            aload 8 /* debugArgString */
            invokestatic org.eclipse.debug.core.DebugPlugin.parseArguments:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* debugArgs */
        start local 9 // java.lang.String[] debugArgs
        17: .line 196
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        18: goto 21
        19: .line 197
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger org.eclipse.jdt.launching.VMRunnerConfiguration org.eclipse.debug.core.ILaunch org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.IProgressMonitor int java.lang.String java.util.List java.lang.String java.lang.String[] int
      StackMap stack:
            aload 7 /* arguments */
            aload 9 /* debugArgs */
            iload 10 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 196
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 10 /* i */
            aload 9 /* debugArgs */
            arraylength
            if_icmplt 19
        end local 10 // int i
        end local 9 // java.lang.String[] debugArgs
        end local 8 // java.lang.String debugArgString
        22: .line 199
            goto 33
        23: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.getJavaVersion:()D
            dstore 8 /* version */
        start local 8 // double version
        24: .line 203
            dload 8 /* version */
            ldc 1.5
            dcmpg
            ifge 27
        25: .line 204
            aload 7 /* arguments */
            ldc "-Xdebug"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 205
            aload 7 /* arguments */
            ldc "-Xnoagent"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 209
      StackMap locals: double
      StackMap stack:
            dload 8 /* version */
            ldc 1.4
            dcmpg
            ifge 29
        28: .line 210
            aload 7 /* arguments */
            ldc "-Djava.compiler=NONE"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 212
      StackMap locals:
      StackMap stack:
            dload 8 /* version */
            ldc 1.5
            dcmpg
            ifge 32
        30: .line 213
            aload 7 /* arguments */
            new java.lang.StringBuilder
            dup
            ldc "-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 214
            goto 33
        32: .line 215
      StackMap locals:
      StackMap stack:
            aload 7 /* arguments */
            new java.lang.StringBuilder
            dup
            ldc "-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // double version
        33: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.combineVmArgs:(Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/jdt/launching/IVMInstall;)[Ljava/lang/String;
            astore 8 /* allVMArgs */
        start local 8 // java.lang.String[] allVMArgs
        34: .line 221
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* launch */
            aload 8 /* allVMArgs */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.ensureEncoding:(Lorg/eclipse/debug/core/ILaunch;[Ljava/lang/String;)[Ljava/lang/String;
            aload 7 /* arguments */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.addArguments:([Ljava/lang/String;Ljava/util/List;)V
        35: .line 222
            aload 0 /* this */
            aload 7 /* arguments */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.addBootClassPathArguments:(Ljava/util/List;Lorg/eclipse/jdt/launching/VMRunnerConfiguration;)V
        36: .line 224
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getModulepath:()[Ljava/lang/String;
            astore 9 /* mp */
        start local 9 // java.lang.String[] mp
        37: .line 225
            aload 9 /* mp */
            ifnull 40
            aload 9 /* mp */
            arraylength
            ifle 40
        38: .line 227
            aload 7 /* arguments */
            ldc "-p"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 228
            aload 7 /* arguments */
            aload 0 /* this */
            aload 9 /* mp */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.convertClassPath:([Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        40: .line 231
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getClassPath:()[Ljava/lang/String;
            astore 10 /* cp */
        start local 10 // java.lang.String[] cp
        41: .line 232
            aload 10 /* cp */
            arraylength
            ifle 44
        42: .line 233
            aload 7 /* arguments */
            ldc "-classpath"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 234
            aload 7 /* arguments */
            aload 0 /* this */
            aload 10 /* cp */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.convertClassPath:([Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 238
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.isPreviewEnabled:()Z
            ifeq 46
        45: .line 239
            aload 7 /* arguments */
            ldc "--enable-preview"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getOverrideDependencies:()Ljava/lang/String;
            astore 11 /* dependencies */
        start local 11 // java.lang.String dependencies
        47: .line 243
            aload 11 /* dependencies */
            ifnull 54
            aload 11 /* dependencies */
            invokevirtual java.lang.String.length:()I
            ifle 54
        48: .line 244
            aload 11 /* dependencies */
            invokestatic org.eclipse.debug.core.DebugPlugin.parseArguments:(Ljava/lang/String;)[Ljava/lang/String;
            astore 12 /* parseArguments */
        start local 12 // java.lang.String[] parseArguments
        49: .line 245
            aload 12 /* parseArguments */
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 53
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger org.eclipse.jdt.launching.VMRunnerConfiguration org.eclipse.debug.core.ILaunch org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.IProgressMonitor int java.lang.String java.util.List java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        50: aload 16
            iload 14
            aaload
            astore 13 /* string */
        start local 13 // java.lang.String string
        51: .line 246
            aload 7 /* arguments */
            aload 13 /* string */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.String string
        52: .line 245
            iinc 14 1
      StackMap locals:
      StackMap stack:
        53: iload 14
            iload 15
            if_icmplt 50
        end local 12 // java.lang.String[] parseArguments
        54: .line 251
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger org.eclipse.jdt.launching.VMRunnerConfiguration org.eclipse.debug.core.ILaunch org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.IProgressMonitor int java.lang.String java.util.List java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.isModular:(Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/jdt/launching/IVMInstall;)Z
            ifeq 58
        55: .line 252
            aload 7 /* arguments */
            ldc "-m"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 253
            aload 7 /* arguments */
            new java.lang.StringBuilder
            dup
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getModuleDescription:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getClassToLaunch:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        57: .line 254
            goto 59
        58: .line 255
      StackMap locals:
      StackMap stack:
            aload 7 /* arguments */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getClassToLaunch:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        59: .line 257
      StackMap locals:
      StackMap stack:
            aload 7 /* arguments */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 12 /* lastVMArgumentIndex */
        start local 12 // int lastVMArgumentIndex
        60: .line 264
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getProgramArguments:()[Ljava/lang/String;
            aload 7 /* arguments */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.addArguments:([Ljava/lang/String;Ljava/util/List;)V
        61: .line 269
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.launching.VMRunnerConfiguration.getEnvironment:()[Ljava/lang/String;
            new org.eclipse.core.runtime.Path
            dup
            aload 6 /* program */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.prependJREPath:([Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)[Ljava/lang/String;
            astore 13 /* envp */
        start local 13 // java.lang.String[] envp
        62: .line 271
            aload 7 /* arguments */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 14 /* cmdLine */
        start local 14 // java.lang.String[] cmdLine
        63: .line 272
            aload 7 /* arguments */
            aload 14 /* cmdLine */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        64: .line 275
            aload 4 /* subMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 66
        65: .line 276
            aconst_null
            areturn
        66: .line 278
      StackMap locals: int java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.getWorkingDir:(Lorg/eclipse/jdt/launching/VMRunnerConfiguration;)Ljava/io/File;
            astore 15 /* workingDir */
        start local 15 // java.io.File workingDir
        67: .line 279
            new org.eclipse.jdt.internal.launching.ClasspathShortener
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            aload 2 /* launch */
            aload 14 /* cmdLine */
            iload 12 /* lastVMArgumentIndex */
            aload 15 /* workingDir */
            aload 13 /* envp */
            invokespecial org.eclipse.jdt.internal.launching.ClasspathShortener.<init>:(Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/debug/core/ILaunch;[Ljava/lang/String;ILjava/io/File;[Ljava/lang/String;)V
            astore 16 /* classpathShortener */
        start local 16 // org.eclipse.jdt.internal.launching.ClasspathShortener classpathShortener
        68: .line 280
            aload 16 /* classpathShortener */
            invokevirtual org.eclipse.jdt.internal.launching.ClasspathShortener.shortenCommandLineIfNecessary:()Z
            ifeq 71
        69: .line 281
            aload 16 /* classpathShortener */
            invokevirtual org.eclipse.jdt.internal.launching.ClasspathShortener.getCmdLine:()[Ljava/lang/String;
            astore 14 /* cmdLine */
        70: .line 282
            aload 16 /* classpathShortener */
            invokevirtual org.eclipse.jdt.internal.launching.ClasspathShortener.getEnvp:()[Ljava/lang/String;
            astore 13 /* envp */
        71: .line 285
      StackMap locals: java.io.File org.eclipse.jdt.internal.launching.ClasspathShortener
      StackMap stack:
            aload 0 /* this */
            aload 2 /* launch */
            invokeinterface org.eclipse.debug.core.ILaunch.getLaunchConfiguration:()Lorg/eclipse/debug/core/ILaunchConfiguration;
            aload 14 /* cmdLine */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.validateCommandLine:(Lorg/eclipse/debug/core/ILaunchConfiguration;[Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* newCmdLine */
        start local 17 // java.lang.String[] newCmdLine
        72: .line 286
            aload 17 /* newCmdLine */
            ifnull 74
        73: .line 287
            aload 17 /* newCmdLine */
            astore 14 /* cmdLine */
        74: .line 289
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 4 /* subMonitor */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.worked:(I)V
        75: .line 291
            new org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.<init>:(Lorg/eclipse/jdt/internal/launching/StandardVMRunner;)V
            astore 18 /* cmd */
        start local 18 // org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails cmd
        76: .line 292
            aload 18 /* cmd */
            aload 14 /* cmdLine */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.setCommandLine:([Ljava/lang/String;)V
        77: .line 293
            aload 18 /* cmd */
            aload 13 /* envp */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.setEnvp:([Ljava/lang/String;)V
        78: .line 294
            aload 18 /* cmd */
            aload 15 /* workingDir */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.setWorkingDir:(Ljava/io/File;)V
        79: .line 295
            aload 18 /* cmd */
            aload 16 /* classpathShortener */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.setClasspathShortener:(Lorg/eclipse/jdt/internal/launching/ClasspathShortener;)V
        80: .line 296
            aload 18 /* cmd */
            iload 5 /* port */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails.setPort:(I)V
        81: .line 297
            aload 18 /* cmd */
            areturn
        end local 18 // org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails cmd
        end local 17 // java.lang.String[] newCmdLine
        end local 16 // org.eclipse.jdt.internal.launching.ClasspathShortener classpathShortener
        end local 15 // java.io.File workingDir
        end local 14 // java.lang.String[] cmdLine
        end local 13 // java.lang.String[] envp
        end local 12 // int lastVMArgumentIndex
        end local 11 // java.lang.String dependencies
        end local 10 // java.lang.String[] cp
        end local 9 // java.lang.String[] mp
        end local 8 // java.lang.String[] allVMArgs
        end local 7 // java.util.List arguments
        end local 6 // java.lang.String program
        end local 5 // int port
        end local 4 // org.eclipse.core.runtime.IProgressMonitor subMonitor
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.debug.core.ILaunch launch
        end local 1 // org.eclipse.jdt.launching.VMRunnerConfiguration config
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   82     0                 this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            0   82     1               config  Lorg/eclipse/jdt/launching/VMRunnerConfiguration;
            0   82     2               launch  Lorg/eclipse/debug/core/ILaunch;
            0   82     3              monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   82     4           subMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            5   82     5                 port  I
           12   82     6              program  Ljava/lang/String;
           13   82     7            arguments  Ljava/util/List<Ljava/lang/String;>;
           16   22     8       debugArgString  Ljava/lang/String;
           17   22     9            debugArgs  [Ljava/lang/String;
           18   22    10                    i  I
           24   33     8              version  D
           34   82     8            allVMArgs  [Ljava/lang/String;
           37   82     9                   mp  [Ljava/lang/String;
           41   82    10                   cp  [Ljava/lang/String;
           47   82    11         dependencies  Ljava/lang/String;
           49   54    12       parseArguments  [Ljava/lang/String;
           51   52    13               string  Ljava/lang/String;
           60   82    12  lastVMArgumentIndex  I
           62   82    13                 envp  [Ljava/lang/String;
           63   82    14              cmdLine  [Ljava/lang/String;
           67   82    15           workingDir  Ljava/io/File;
           68   82    16   classpathShortener  Lorg/eclipse/jdt/internal/launching/ClasspathShortener;
           72   82    17           newCmdLine  [Ljava/lang/String;
           76   82    18                  cmd  Lorg/eclipse/jdt/internal/launching/StandardVMRunner$CommandDetails;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      config   
      launch   
      monitor  

  public void run(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/debug/core/ILaunch;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
         0: .line 320
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tListeningConnector cannot be resolved to a type\n\tThe method getConnector() from the type StandardVMDebugger refers to the missing type ListeningConnector\n\tConnector cannot be resolved to a type\n\tDateFormat cannot be resolved\n\tDateFormat cannot be resolved to a variable\n\tDateFormat cannot be resolved to a variable\n\tIllegalConnectorArgumentsException cannot be resolved to a type\n\tIllegalConnectorArgumentsException cannot be resolved to a type\n\tVirtualMachine cannot be resolved to a type\n\tThe method getVirtualMachine() from the type StandardVMDebugger.ConnectRunnable refers to the missing type VirtualMachine\n\tIllegalConnectorArgumentsException cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      config   
      launch   
      monitor  

  protected java.lang.String[] prependJREPath(java.lang.String[], org.eclipse.core.runtime.IPath);
    descriptor: ([Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
        start local 1 // java.lang.String[] env
        start local 2 // org.eclipse.core.runtime.IPath jdkpath
         0: .line 488
            ldc "win32"
            invokestatic org.eclipse.core.runtime.Platform.getOS:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
         1: .line 489
            aload 2 /* jdkpath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* jrepath */
        start local 3 // org.eclipse.core.runtime.IPath jrepath
         2: .line 490
            aload 3 /* jrepath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            ldc "bin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 491
            aload 3 /* jrepath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 4 /* count */
        start local 4 // int count
         4: .line 492
            iload 4 /* count */
            iconst_1
            if_icmple 8
            aload 3 /* jrepath */
            iload 4 /* count */
            iconst_2
            isub
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            ldc "jre"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 493
            aload 3 /* jrepath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            ldc "jre"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "bin"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* jrepath */
        end local 4 // int count
         6: .line 495
            goto 8
         7: .line 497
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 3 /* jrepath */
            ldc "jre"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "bin"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* jrepath */
         8: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* jrepath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 43
         9: .line 500
            aload 3 /* jrepath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            astore 4 /* jrestr */
        start local 4 // java.lang.String jrestr
        10: .line 501
            aload 1 /* env */
            ifnonnull 28
        11: .line 502
            invokestatic org.eclipse.debug.core.DebugPlugin.getDefault:()Lorg/eclipse/debug/core/DebugPlugin;
            invokevirtual org.eclipse.debug.core.DebugPlugin.getLaunchManager:()Lorg/eclipse/debug/core/ILaunchManager;
            invokeinterface org.eclipse.debug.core.ILaunchManager.getNativeEnvironment:()Ljava/util/Map;
            astore 5 /* map */
        start local 5 // java.util.Map map
        12: .line 503
            aload 5 /* map */
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.String
            astore 1 /* env */
        13: .line 504
            aconst_null
            astore 6 /* var */
        start local 6 // java.lang.String var
        14: .line 505
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        15: .line 506
            aload 5 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        16: goto 26
        17: .line 507
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger java.lang.String[] org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.lang.String java.util.Map java.lang.String int java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* var */
        18: .line 508
            aload 5 /* map */
            aload 6 /* var */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* value */
        start local 9 // java.lang.String value
        19: .line 509
            aload 9 /* value */
            ifnonnull 21
        20: .line 510
            ldc ""
            astore 9 /* value */
        21: .line 512
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* var */
            ldc "path"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 513
            aload 9 /* value */
            aload 4 /* jrestr */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 24
        23: .line 514
            new java.lang.StringBuilder
            dup
            aload 4 /* jrestr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* value */
        24: .line 517
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            iload 7 /* index */
            new java.lang.StringBuilder
            dup
            aload 6 /* var */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        25: .line 518
            iinc 7 /* index */ 1
        end local 9 // java.lang.String value
        26: .line 506
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 8 // java.util.Iterator iter
        end local 7 // int index
        end local 6 // java.lang.String var
        end local 5 // java.util.Map map
        27: .line 520
            goto 43
        28: .line 521
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger java.lang.String[] org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.lang.String
      StackMap stack:
            aconst_null
            astore 5 /* var */
        start local 5 // java.lang.String var
        29: .line 522
            iconst_m1
            istore 6 /* esign */
        start local 6 // int esign
        30: .line 523
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        31: goto 42
        32: .line 524
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 1 /* env */
            iload 7 /* i */
            aaload
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* esign */
        33: .line 525
            iload 6 /* esign */
            iconst_m1
            if_icmple 41
        34: .line 526
            aload 1 /* env */
            iload 7 /* i */
            aaload
            iconst_0
            iload 6 /* esign */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* var */
        35: .line 527
            aload 5 /* var */
            ifnull 41
            aload 5 /* var */
            ldc "path"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        36: .line 528
            aload 1 /* env */
            iload 7 /* i */
            aaload
            aload 4 /* jrestr */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 41
        37: .line 529
            aload 1 /* env */
            iload 7 /* i */
            new java.lang.StringBuilder
            dup
            aload 5 /* var */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* jrestr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 6 /* esign */
            aload 1 /* env */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            if_icmpne 38
            ldc ""
            goto 39
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger java.lang.String[] org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.lang.String java.lang.String int int
      StackMap stack: java.lang.String[] int java.lang.StringBuilder
        38: aload 1 /* env */
            iload 7 /* i */
            aaload
            iload 6 /* esign */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger java.lang.String[] org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.lang.String java.lang.String int int
      StackMap stack: java.lang.String[] int java.lang.StringBuilder java.lang.String
        39: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        40: .line 530
            goto 43
        41: .line 523
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 7 /* i */
            aload 1 /* env */
            arraylength
            if_icmplt 32
        end local 7 // int i
        end local 6 // int esign
        end local 5 // java.lang.String var
        end local 4 // java.lang.String jrestr
        end local 3 // org.eclipse.core.runtime.IPath jrepath
        43: .line 538
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMDebugger java.lang.String[] org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            aload 1 /* env */
            invokespecial org.eclipse.jdt.internal.launching.StandardVMRunner.prependJREPath:([Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.core.runtime.IPath jdkpath
        end local 1 // java.lang.String[] env
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            0   44     1      env  [Ljava/lang/String;
            0   44     2  jdkpath  Lorg/eclipse/core/runtime/IPath;
            2   43     3  jrepath  Lorg/eclipse/core/runtime/IPath;
            4    6     4    count  I
           10   43     4   jrestr  Ljava/lang/String;
           12   27     5      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           14   27     6      var  Ljava/lang/String;
           15   27     7    index  I
           16   27     8     iter  Ljava/util/Iterator<Ljava/lang/String;>;
           19   26     9    value  Ljava/lang/String;
           29   43     5      var  Ljava/lang/String;
           30   43     6    esign  I
           31   43     7        i  I
    MethodParameters:
         Name  Flags
      env      
      jdkpath  

  protected org.eclipse.debug.core.model.IDebugTarget createDebugTarget(org.eclipse.jdt.launching.VMRunnerConfiguration, org.eclipse.debug.core.ILaunch, int, org.eclipse.debug.core.model.IProcess, VirtualMachine);
    descriptor: (Lorg/eclipse/jdt/launching/VMRunnerConfiguration;Lorg/eclipse/debug/core/ILaunch;ILorg/eclipse/debug/core/model/IProcess;LVirtualMachine;)Lorg/eclipse/debug/core/model/IDebugTarget;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
         0: .line 552
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tVirtualMachine cannot be resolved to a type\n\tJDIDebugModel cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
    MethodParameters:
         Name  Flags
      config   
      launch   
      port     
      process  
      vm       

  private double getJavaVersion();
    descriptor: ()D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
         0: .line 561
            aconst_null
            astore 1 /* version */
        start local 1 // java.lang.String version
         1: .line 562
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            instanceof org.eclipse.jdt.launching.IVMInstall2
            ifeq 4
         2: .line 563
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            checkcast org.eclipse.jdt.launching.IVMInstall2
            invokeinterface org.eclipse.jdt.launching.IVMInstall2.getJavaVersion:()Ljava/lang/String;
            astore 1 /* version */
         3: .line 564
            goto 8
         4: .line 565
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMDebugger.fVMInstance:Lorg/eclipse/jdt/launching/IVMInstall;
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getInstallLocation:()Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getLibraryInfo:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 2 /* libInfo */
        start local 2 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         5: .line 566
            aload 2 /* libInfo */
            ifnonnull 7
         6: .line 567
            dconst_0
            dreturn
         7: .line 569
      StackMap locals: org.eclipse.jdt.internal.launching.LibraryInfo
      StackMap stack:
            aload 2 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getVersion:()Ljava/lang/String;
            astore 1 /* version */
        end local 2 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         8: .line 571
      StackMap locals:
      StackMap stack:
            aload 1 /* version */
            ifnonnull 10
         9: .line 573
            dconst_0
            dreturn
        10: .line 575
      StackMap locals:
      StackMap stack:
            aload 1 /* version */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
        11: .line 576
            aload 1 /* version */
            ldc "."
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 3 /* nextIndex */
        start local 3 // int nextIndex
        12: .line 578
            iload 2 /* index */
            ifle 15
            iload 3 /* nextIndex */
            iload 2 /* index */
            if_icmple 15
        13: .line 579
            aload 1 /* version */
            iconst_0
            iload 3 /* nextIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
        14: dreturn
        15: .line 581
      StackMap locals: int int
      StackMap stack:
            aload 1 /* version */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
        16: dreturn
        17: .line 582
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        18: .line 583
            dconst_0
            dreturn
        end local 3 // int nextIndex
        end local 2 // int index
        end local 1 // java.lang.String version
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            1   19     1    version  Ljava/lang/String;
            5    8     2    libInfo  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
           11   19     2      index  I
           12   19     3  nextIndex  I
      Exception table:
        from    to  target  type
          12    14      17  Class java.lang.NumberFormatException
          15    16      17  Class java.lang.NumberFormatException

  protected void checkErrorMessage(org.eclipse.debug.core.model.IProcess);
    descriptor: (Lorg/eclipse/debug/core/model/IProcess;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
        start local 1 // org.eclipse.debug.core.model.IProcess process
         0: .line 594
            aload 1 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.getStreamsProxy:()Lorg/eclipse/debug/core/model/IStreamsProxy;
            astore 2 /* streamsProxy */
        start local 2 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
         1: .line 595
            aload 2 /* streamsProxy */
            ifnull 7
         2: .line 596
            aload 2 /* streamsProxy */
            invokeinterface org.eclipse.debug.core.model.IStreamsProxy.getErrorStreamMonitor:()Lorg/eclipse/debug/core/model/IStreamMonitor;
            invokeinterface org.eclipse.debug.core.model.IStreamMonitor.getContents:()Ljava/lang/String;
            astore 3 /* errorMessage */
        start local 3 // java.lang.String errorMessage
         3: .line 597
            aload 3 /* errorMessage */
            invokevirtual java.lang.String.length:()I
            ifne 5
         4: .line 598
            aload 2 /* streamsProxy */
            invokeinterface org.eclipse.debug.core.model.IStreamsProxy.getOutputStreamMonitor:()Lorg/eclipse/debug/core/model/IStreamMonitor;
            invokeinterface org.eclipse.debug.core.model.IStreamMonitor.getContents:()Ljava/lang/String;
            astore 3 /* errorMessage */
         5: .line 600
      StackMap locals: org.eclipse.debug.core.model.IStreamsProxy java.lang.String
      StackMap stack:
            aload 3 /* errorMessage */
            invokevirtual java.lang.String.length:()I
            ifeq 7
         6: .line 601
            aload 0 /* this */
            aload 3 /* errorMessage */
            aconst_null
            bipush 116
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMDebugger.abort:(Ljava/lang/String;Ljava/lang/Throwable;I)V
        end local 3 // java.lang.String errorMessage
         7: .line 604
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
        end local 1 // org.eclipse.debug.core.model.IProcess process
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
            0    8     1       process  Lorg/eclipse/debug/core/model/IProcess;
            1    8     2  streamsProxy  Lorg/eclipse/debug/core/model/IStreamsProxy;
            3    7     3  errorMessage  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      process  

  protected void specifyArguments(java.util.Map<java.lang.String, Connector.Argument>, );
    descriptor: (Ljava/util/Map;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
         0: .line 611
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tConnector cannot be resolved to a type\n\tConnector cannot be resolved to a type\n\tConnector cannot be resolved to a type\n\tConnector cannot be resolved to a type\n\tConnector cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
    Signature: (Ljava/util/Map<Ljava/lang/String;LConnector/Argument;>;I)V
    MethodParameters:
            Name  Flags
      map         
      portNumber  

  protected ListeningConnector getConnector();
    descriptor: ()LListeningConnector;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
         0: .line 632
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tListeningConnector cannot be resolved to a type\n\tListeningConnector cannot be resolved to a type\n\tBootstrap cannot be resolved\n\tListeningConnector cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMDebugger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMDebugger;
}
SourceFile: "StandardVMDebugger.java"
NestMembers:
  org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable
InnerClasses:
  ConnectRunnable = org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable of org.eclipse.jdt.internal.launching.StandardVMDebugger
  protected CommandDetails = org.eclipse.jdt.internal.launching.StandardVMRunner$CommandDetails of org.eclipse.jdt.internal.launching.StandardVMRunner