public class org.eclipse.jdt.internal.launching.StandardVMType extends org.eclipse.jdt.launching.AbstractVMInstallType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.launching.StandardVMType
  super_class: org.eclipse.jdt.launching.AbstractVMInstallType
{
  private static final java.lang.String RT_JAR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "rt.jar"

  private static final java.lang.String SRC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "src"

  private static final java.lang.String SRC_ZIP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "src.zip"

  private static final java.lang.String SRC_JAR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "src.jar"

  private static final java.lang.String JRE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jre"

  private static final java.lang.String LIB;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "lib"

  private static final java.lang.String BAR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "|"

  private static final java.lang.String RELEASE_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "release"

  private static final java.lang.String JAVA_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JAVA_VERSION"

  private static final java.lang.String JRT_FS_JAR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jrt-fs.jar"

  public static final java.lang.String ID_STANDARD_VM_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"

  public static final java.lang.String MIN_VM_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "-Xmx16m"

  private static java.io.FilenameFilter fgArchiveFilter;
    descriptor: Ljava/io/FilenameFilter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String fDefaultRootPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Map<java.lang.String, org.eclipse.jdt.internal.launching.LibraryInfo> fgFailedInstallPath;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/LibraryInfo;>;

  private static java.util.Map<java.lang.String, java.util.List<org.eclipse.jdt.launching.LibraryLocation>> fgDefaultLibLocs;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/eclipse/jdt/launching/LibraryLocation;>;>;

  private static final java.lang.String[] fgCandidateJavaFiles;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] fgCandidateJavaLocations;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static org.eclipse.jdt.launching.ILibraryLocationResolver[] fgLibraryLocationResolvers;
    descriptor: [Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 103
            new org.eclipse.jdt.internal.launching.StandardVMType$1
            dup
            invokespecial org.eclipse.jdt.internal.launching.StandardVMType$1.<init>:()V
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgArchiveFilter:Ljava/io/FilenameFilter;
         1: .line 119
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgFailedInstallPath:Ljava/util/Map;
         2: .line 128
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgDefaultLibLocs:Ljava/util/Map;
         3: .line 134
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            ldc "javaw"
            aastore
            dup
            iconst_1
            ldc "javaw.exe"
            aastore
            dup
            iconst_2
            ldc "java"
            aastore
            dup
            iconst_3
            ldc "java.exe"
            aastore
            dup
            iconst_4
            ldc "j9w"
            aastore
            dup
            iconst_5
            ldc "j9w.exe"
            aastore
            dup
            bipush 6
            ldc "j9"
            aastore
            dup
            bipush 7
            ldc "j9.exe"
            aastore
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaFiles:[Ljava/lang/String;
         4: .line 135
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            getstatic java.io.File.separator:Ljava/lang/String;
            aastore
            dup
            iconst_1
            new java.lang.StringBuilder
            dup
            ldc "bin"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
         5: .line 136
            new java.lang.StringBuilder
            dup
            ldc "jre"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "bin"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
         6: .line 135
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaLocations:[Ljava/lang/String;
         7: .line 138
            aconst_null
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgLibraryLocationResolvers:[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 70
            aload 0 /* this */
            invokespecial org.eclipse.jdt.launching.AbstractVMInstallType.<init>:()V
         1: .line 113
            aload 0 /* this */
            ldc ""
            putfield org.eclipse.jdt.internal.launching.StandardVMType.fDefaultRootPath:Ljava/lang/String;
         2: .line 70
            return
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;

  public static java.io.File findJavaExecutable(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // java.io.File vmInstallLocation
         0: .line 151
            iconst_0
            istore 1 /* isBin */
        start local 1 // boolean isBin
         1: .line 152
            aload 0 /* vmInstallLocation */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 2 /* filePath */
        start local 2 // java.lang.String filePath
         2: .line 153
            aload 2 /* filePath */
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* index */
        start local 3 // int index
         3: .line 154
            iload 3 /* index */
            ifle 5
            aload 2 /* filePath */
            iload 3 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "bin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 155
            iconst_1
            istore 1 /* isBin */
         5: .line 157
      StackMap locals: int java.lang.String int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 158
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         8: goto 15
         9: .line 159
      StackMap locals: int
      StackMap stack:
            iload 1 /* isBin */
            ifne 11
            iload 5 /* j */
            ifne 11
        10: .line 161
            goto 14
        11: .line 163
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* vmInstallLocation */
            new java.lang.StringBuilder
            dup
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaLocations:[Ljava/lang/String;
            iload 5 /* j */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaFiles:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* javaFile */
        start local 6 // java.io.File javaFile
        12: .line 164
            aload 6 /* javaFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 14
        13: .line 165
            aload 6 /* javaFile */
            areturn
        end local 6 // java.io.File javaFile
        14: .line 158
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* j */
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaLocations:[Ljava/lang/String;
            arraylength
            if_icmplt 9
        end local 5 // int j
        16: .line 157
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgCandidateJavaFiles:[Ljava/lang/String;
            arraylength
            if_icmplt 7
        end local 4 // int i
        18: .line 169
            aconst_null
            areturn
        end local 3 // int index
        end local 2 // java.lang.String filePath
        end local 1 // boolean isBin
        end local 0 // java.io.File vmInstallLocation
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0  vmInstallLocation  Ljava/io/File;
            1   19     1              isBin  Z
            2   19     2           filePath  Ljava/lang/String;
            3   19     3              index  I
            6   18     4                  i  I
            8   16     5                  j  I
           12   14     6           javaFile  Ljava/io/File;
    MethodParameters:
                   Name  Flags
      vmInstallLocation  

  private static org.eclipse.jdt.launching.ILibraryLocationResolver[] getLibraryLocationResolvers();
    descriptor: ()[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 179
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgLibraryLocationResolvers:[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
            ifnonnull 15
         1: .line 180
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.launching"
            ldc "libraryLocationResolvers"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 0 /* extensionPoint */
        start local 0 // org.eclipse.core.runtime.IExtensionPoint extensionPoint
         2: .line 181
            aload 0 /* extensionPoint */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 1 /* configs */
        start local 1 // org.eclipse.core.runtime.IConfigurationElement[] configs
         3: .line 184
            aload 1 /* configs */
            new org.eclipse.jdt.internal.launching.StandardVMType$2
            dup
            invokespecial org.eclipse.jdt.internal.launching.StandardVMType$2.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         4: .line 190
            new java.util.ArrayList
            dup
            aload 1 /* configs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* resolvers */
        start local 2 // java.util.List resolvers
         5: .line 191
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 13
         7: .line 192
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] java.util.List int
      StackMap stack:
            aload 1 /* configs */
            iload 3 /* i */
            aaload
            astore 4 /* e */
        start local 4 // org.eclipse.core.runtime.IConfigurationElement e
         8: .line 194
            aload 2 /* resolvers */
            aload 4 /* e */
            ldc "class"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.createExecutableExtension:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.ILibraryLocationResolver
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 195
            goto 12
        10: .line 196
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] java.util.List int org.eclipse.core.runtime.IConfigurationElement
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 5 /* e1 */
        start local 5 // org.eclipse.core.runtime.CoreException e1
        11: .line 197
            aload 5 /* e1 */
            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 5 // org.eclipse.core.runtime.CoreException e1
        end local 4 // org.eclipse.core.runtime.IConfigurationElement e
        12: .line 191
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 1 /* configs */
            arraylength
            if_icmplt 7
        end local 3 // int i
        14: .line 200
            aload 2 /* resolvers */
            iconst_0
            anewarray org.eclipse.jdt.launching.ILibraryLocationResolver
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.ILibraryLocationResolver[]
            putstatic org.eclipse.jdt.internal.launching.StandardVMType.fgLibraryLocationResolvers:[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
        end local 2 // java.util.List resolvers
        end local 1 // org.eclipse.core.runtime.IConfigurationElement[] configs
        end local 0 // org.eclipse.core.runtime.IExtensionPoint extensionPoint
        15: .line 202
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgLibraryLocationResolvers:[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
            areturn
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            2   15     0  extensionPoint  Lorg/eclipse/core/runtime/IExtensionPoint;
            3   15     1         configs  [Lorg/eclipse/core/runtime/IConfigurationElement;
            5   15     2       resolvers  Ljava/util/List<Lorg/eclipse/jdt/launching/ILibraryLocationResolver;>;
            6   14     3               i  I
            8   12     4               e  Lorg/eclipse/core/runtime/IConfigurationElement;
           11   12     5              e1  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           8     9      10  Class org.eclipse.core.runtime.CoreException

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 210
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMType_Standard_VM_3:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;

  protected org.eclipse.jdt.launching.IVMInstall doCreateVMInstall(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.lang.String id
         0: .line 218
            new org.eclipse.jdt.internal.launching.StandardVM
            dup
            aload 0 /* this */
            aload 1 /* id */
            invokespecial org.eclipse.jdt.internal.launching.StandardVM.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String id
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    1     1    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  protected synchronized org.eclipse.jdt.internal.launching.LibraryInfo getLibraryInfo(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
        start local 2 // java.io.File javaExecutable
         0: .line 230
            aload 1 /* javaHome */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* installPath */
        start local 3 // java.lang.String installPath
         1: .line 231
            aload 3 /* installPath */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getLibraryInfo:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* info */
        start local 4 // org.eclipse.jdt.internal.launching.LibraryInfo info
         2: .line 232
            aload 4 /* info */
            ifnull 3
            aload 3 /* installPath */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.timeStampChanged:(Ljava/lang/String;)Z
            ifeq 18
         3: .line 233
      StackMap locals: java.lang.String org.eclipse.jdt.internal.launching.LibraryInfo
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgFailedInstallPath:Ljava/util/Map;
            aload 3 /* installPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.launching.LibraryInfo
            astore 4 /* info */
         4: .line 234
            aload 4 /* info */
            ifnonnull 18
         5: .line 235
            aload 0 /* this */
            aload 1 /* javaHome */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.readReleaseVersion:(Ljava/io/File;)Ljava/lang/String;
            astore 5 /* version */
        start local 5 // java.lang.String version
         6: .line 236
            aload 5 /* version */
            ldc "1.8"
            invokestatic org.eclipse.jdt.core.JavaCore.compareJavaVersions:(Ljava/lang/String;Ljava/lang/String;)I
            ifle 10
         7: .line 237
            new org.eclipse.jdt.internal.launching.LibraryInfo
            dup
            aload 5 /* version */
            iconst_0
            anewarray java.lang.String
            iconst_0
            anewarray java.lang.String
            iconst_0
            anewarray java.lang.String
            invokespecial org.eclipse.jdt.internal.launching.LibraryInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            astore 4 /* info */
         8: .line 238
            aload 3 /* installPath */
            aload 4 /* info */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.setLibraryInfo:(Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/LibraryInfo;)V
         9: .line 239
            goto 18
        10: .line 240
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* javaHome */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.generateLibraryInfo:(Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* info */
        11: .line 241
            aload 4 /* info */
            ifnonnull 13
        12: .line 243
            aload 0 /* this */
            aload 1 /* javaHome */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.generateLibraryInfo:(Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* info */
        13: .line 245
      StackMap locals:
      StackMap stack:
            aload 4 /* info */
            ifnonnull 17
        14: .line 246
            aload 0 /* this */
            aload 1 /* javaHome */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultLibraryInfo:(Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* info */
        15: .line 247
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgFailedInstallPath:Ljava/util/Map;
            aload 3 /* installPath */
            aload 4 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 248
            goto 18
        17: .line 250
      StackMap locals:
      StackMap stack:
            aload 3 /* installPath */
            aload 4 /* info */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.setLibraryInfo:(Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/LibraryInfo;)V
        end local 5 // java.lang.String version
        18: .line 255
      StackMap locals:
      StackMap stack:
            aload 4 /* info */
            areturn
        end local 4 // org.eclipse.jdt.internal.launching.LibraryInfo info
        end local 3 // java.lang.String installPath
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   19     1        javaHome  Ljava/io/File;
            0   19     2  javaExecutable  Ljava/io/File;
            1   19     3     installPath  Ljava/lang/String;
            2   19     4            info  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            6   18     5         version  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      javaHome        
      javaExecutable  

  protected boolean canDetectDefaultSystemLibraries(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
        start local 2 // java.io.File javaExecutable
         0: .line 267
            aload 0 /* this */
            aload 1 /* javaHome */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
            astore 3 /* locations */
        start local 3 // org.eclipse.jdt.launching.LibraryLocation[] locations
         1: .line 268
            aload 0 /* this */
            aload 1 /* javaHome */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getVMVersion:(Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
            astore 4 /* version */
        start local 4 // java.lang.String version
         2: .line 269
            aload 3 /* locations */
            arraylength
            ifle 3
            aload 4 /* version */
            ldc "1.1"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.launching.LibraryLocation[] java.lang.String
      StackMap stack:
         3: iconst_0
            ireturn
        end local 4 // java.lang.String version
        end local 3 // org.eclipse.jdt.launching.LibraryLocation[] locations
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    4     1        javaHome  Ljava/io/File;
            0    4     2  javaExecutable  Ljava/io/File;
            1    4     3       locations  [Lorg/eclipse/jdt/launching/LibraryLocation;
            2    4     4         version  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      javaHome        
      javaExecutable  

  protected java.lang.String getVMVersion(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
        start local 2 // java.io.File javaExecutable
         0: .line 281
            aload 0 /* this */
            aload 1 /* javaHome */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getLibraryInfo:(Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.launching.LibraryInfo info
         1: .line 282
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getVersion:()Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.internal.launching.LibraryInfo info
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    2     1        javaHome  Ljava/io/File;
            0    2     2  javaExecutable  Ljava/io/File;
            1    2     3            info  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
    MethodParameters:
                Name  Flags
      javaHome        
      javaExecutable  

  public java.io.File detectInstallLocation();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 291
            ldc "macosx"
            invokestatic org.eclipse.core.runtime.Platform.getOS:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 292
            aconst_null
            areturn
         2: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getJavaHomeLocation:()Ljava/io/File;
            areturn
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;

  protected java.io.File getJavaHomeLocation();
    descriptor: ()Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 311
            new java.io.File
            dup
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 1 /* javaHome */
        start local 1 // java.io.File javaHome
         1: .line 312
            goto 5
        end local 1 // java.io.File javaHome
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 313
            aload 2 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
         4: .line 314
            aconst_null
            areturn
        end local 2 // java.io.IOException e
        start local 1 // java.io.File javaHome
         5: .line 316
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* javaHome */
            invokevirtual java.io.File.exists:()Z
            ifne 7
         6: .line 317
            aconst_null
            areturn
         7: .line 322
      StackMap locals:
      StackMap stack:
            aload 1 /* javaHome */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.findJavaExecutable:(Ljava/io/File;)Ljava/io/File;
            astore 2 /* javaExecutable */
        start local 2 // java.io.File javaExecutable
         8: .line 323
            aload 2 /* javaExecutable */
            ifnonnull 10
         9: .line 324
            aconst_null
            areturn
        10: .line 329
      StackMap locals: java.io.File
      StackMap stack:
            iconst_0
            istore 3 /* foundLibraries */
        start local 3 // boolean foundLibraries
        11: .line 330
            aload 1 /* javaHome */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            ldc "jre"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        12: .line 331
            new java.io.File
            dup
            aload 1 /* javaHome */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* parent */
        start local 4 // java.io.File parent
        13: .line 332
            aload 0 /* this */
            aload 4 /* parent */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.canDetectDefaultSystemLibraries:(Ljava/io/File;Ljava/io/File;)Z
            ifeq 16
        14: .line 333
            aload 4 /* parent */
            astore 1 /* javaHome */
        15: .line 334
            iconst_1
            istore 3 /* foundLibraries */
        end local 4 // java.io.File parent
        16: .line 339
      StackMap locals: int
      StackMap stack:
            iload 3 /* foundLibraries */
            ifne 19
        17: .line 340
            aload 0 /* this */
            aload 1 /* javaHome */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.canDetectDefaultSystemLibraries:(Ljava/io/File;Ljava/io/File;)Z
            ifne 19
        18: .line 341
            aconst_null
            areturn
        19: .line 345
      StackMap locals:
      StackMap stack:
            aload 1 /* javaHome */
            areturn
        end local 3 // boolean foundLibraries
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            1    2     1        javaHome  Ljava/io/File;
            5   20     1        javaHome  Ljava/io/File;
            3    5     2               e  Ljava/io/IOException;
            8   20     2  javaExecutable  Ljava/io/File;
           11   20     3  foundLibraries  Z
           13   16     4          parent  Ljava/io/File;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  protected org.eclipse.core.runtime.IPath getDefaultSystemLibrary(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
         0: .line 356
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* javaHome */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "lib"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "rt.jar"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* jreLibPath */
        start local 2 // org.eclipse.core.runtime.IPath jreLibPath
         1: .line 357
            aload 2 /* jreLibPath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            ifeq 3
         2: .line 358
            aload 2 /* jreLibPath */
            areturn
         3: .line 360
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* javaHome */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "jre"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "lib"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "rt.jar"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 2 // org.eclipse.core.runtime.IPath jreLibPath
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    4     1    javaHome  Ljava/io/File;
            1    4     2  jreLibPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
          Name  Flags
      javaHome  

  protected org.eclipse.core.runtime.IPath getDefaultSystemLibrarySource(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File libLocation
         0: .line 372
            aload 1 /* libLocation */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parent */
        start local 2 // java.io.File parent
         1: .line 373
            goto 11
         2: .line 374
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* parent */
            ldc "src.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* parentsrc */
        start local 3 // java.io.File parentsrc
         3: .line 375
            aload 3 /* parentsrc */
            invokevirtual java.io.File.isFile:()Z
            ifeq 6
         4: .line 376
            aload 0 /* this */
            ldc "src"
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.setDefaultRootPath:(Ljava/lang/String;)V
         5: .line 377
            new org.eclipse.core.runtime.Path
            dup
            aload 3 /* parentsrc */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            areturn
         6: .line 379
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* parent */
            ldc "src.zip"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* parentsrc */
         7: .line 380
            aload 3 /* parentsrc */
            invokevirtual java.io.File.isFile:()Z
            ifeq 10
         8: .line 381
            aload 0 /* this */
            ldc ""
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.setDefaultRootPath:(Ljava/lang/String;)V
         9: .line 382
            new org.eclipse.core.runtime.Path
            dup
            aload 3 /* parentsrc */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            areturn
        10: .line 384
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parent */
        end local 3 // java.io.File parentsrc
        11: .line 373
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            ifnonnull 2
        12: .line 387
            aload 0 /* this */
            aload 1 /* libLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.checkForJ9LibrarySource:(Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* result */
        start local 3 // org.eclipse.core.runtime.IPath result
        13: .line 388
            aload 3 /* result */
            ifnull 15
        14: .line 389
            aload 3 /* result */
            areturn
        15: .line 392
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* libLocation */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 4 /* libName */
        start local 4 // org.eclipse.core.runtime.IPath libName
        16: .line 393
            aload 4 /* libName */
            invokeinterface org.eclipse.core.runtime.IPath.getFileExtension:()Ljava/lang/String;
            astore 5 /* extension */
        start local 5 // java.lang.String extension
        17: .line 394
            aload 4 /* libName */
            invokeinterface org.eclipse.core.runtime.IPath.removeFileExtension:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            astore 6 /* prefix */
        start local 6 // java.lang.String prefix
        18: .line 395
            aload 5 /* extension */
            ifnull 28
        19: .line 396
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* libLocation */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 7 /* srcPath */
        start local 7 // org.eclipse.core.runtime.IPath srcPath
        20: .line 397
            aload 7 /* srcPath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* srcPath */
        21: .line 398
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* buf */
        start local 8 // java.lang.StringBuilder buf
        22: .line 399
            aload 8 /* buf */
            aload 6 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 400
            aload 8 /* buf */
            ldc "-src."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 401
            aload 8 /* buf */
            aload 5 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 402
            aload 7 /* srcPath */
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* srcPath */
        26: .line 403
            aload 7 /* srcPath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 28
        27: .line 404
            aload 7 /* srcPath */
            areturn
        end local 8 // java.lang.StringBuilder buf
        end local 7 // org.eclipse.core.runtime.IPath srcPath
        28: .line 407
      StackMap locals: org.eclipse.core.runtime.IPath java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc ""
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.setDefaultRootPath:(Ljava/lang/String;)V
        29: .line 408
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            areturn
        end local 6 // java.lang.String prefix
        end local 5 // java.lang.String extension
        end local 4 // org.eclipse.core.runtime.IPath libName
        end local 3 // org.eclipse.core.runtime.IPath result
        end local 2 // java.io.File parent
        end local 1 // java.io.File libLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   30     1  libLocation  Ljava/io/File;
            1   30     2       parent  Ljava/io/File;
            3   11     3    parentsrc  Ljava/io/File;
           13   30     3       result  Lorg/eclipse/core/runtime/IPath;
           16   30     4      libName  Lorg/eclipse/core/runtime/IPath;
           17   30     5    extension  Ljava/lang/String;
           18   30     6       prefix  Ljava/lang/String;
           20   28     7      srcPath  Lorg/eclipse/core/runtime/IPath;
           22   28     8          buf  Ljava/lang/StringBuilder;
    MethodParameters:
             Name  Flags
      libLocation  

  private org.eclipse.core.runtime.IPath checkForJ9LibrarySource(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File libLocation
         0: .line 414
            aload 1 /* libLocation */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parent */
        start local 2 // java.io.File parent
         1: .line 415
            aload 1 /* libLocation */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 416
            aload 3 /* name */
            ldc "classes.zip"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         3: .line 417
            new java.io.File
            dup
            aload 2 /* parent */
            ldc "source/source.zip"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* source */
        start local 4 // java.io.File source
         4: .line 418
            aload 4 /* source */
            invokevirtual java.io.File.isFile:()Z
            ifeq 5
            new org.eclipse.core.runtime.Path
            dup
            aload 4 /* source */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            goto 6
      StackMap locals: java.io.File java.lang.String java.io.File
      StackMap stack:
         5: getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.Path
         6: areturn
        end local 4 // java.io.File source
         7: .line 420
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            ldc "locale.zip"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
         8: .line 421
            new java.io.File
            dup
            aload 2 /* parent */
            ldc "source/locale-src.zip"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* source */
        start local 4 // java.io.File source
         9: .line 422
            aload 4 /* source */
            invokevirtual java.io.File.isFile:()Z
            ifeq 10
            new org.eclipse.core.runtime.Path
            dup
            aload 4 /* source */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            goto 11
      StackMap locals: java.io.File
      StackMap stack:
        10: getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.Path
        11: areturn
        end local 4 // java.io.File source
        12: .line 424
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            ldc "charconv.zip"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 17
        13: .line 425
            new java.io.File
            dup
            aload 2 /* parent */
            ldc "charconv-src.zip"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* source */
        start local 4 // java.io.File source
        14: .line 426
            aload 4 /* source */
            invokevirtual java.io.File.isFile:()Z
            ifeq 15
            new org.eclipse.core.runtime.Path
            dup
            aload 4 /* source */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            goto 16
      StackMap locals: java.io.File
      StackMap stack:
        15: getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.Path
        16: areturn
        end local 4 // java.io.File source
        17: .line 428
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String name
        end local 2 // java.io.File parent
        end local 1 // java.io.File libLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   18     1  libLocation  Ljava/io/File;
            1   18     2       parent  Ljava/io/File;
            2   18     3         name  Ljava/lang/String;
            4    7     4       source  Ljava/io/File;
            9   12     4       source  Ljava/io/File;
           14   17     4       source  Ljava/io/File;
    MethodParameters:
             Name  Flags
      libLocation  

  protected org.eclipse.core.runtime.IPath getDefaultPackageRootPath();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 437
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultRootPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;

  public org.eclipse.jdt.launching.LibraryLocation[] getDefaultLibraryLocations(java.io.File);
    descriptor: (Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File installLocation
         0: .line 450
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgDefaultLibLocs:Ljava/util/Map;
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* allLibs */
        start local 2 // java.util.List allLibs
         1: .line 451
            aload 2 /* allLibs */
            ifnonnull 59
         2: .line 452
            aload 1 /* installLocation */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.findJavaExecutable:(Ljava/io/File;)Ljava/io/File;
            astore 3 /* javaExecutable */
        start local 3 // java.io.File javaExecutable
         3: .line 454
            aload 3 /* javaExecutable */
            ifnonnull 6
         4: .line 455
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultLibraryInfo:(Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* libInfo */
        start local 4 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         5: .line 456
            goto 7
        end local 4 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         6: .line 457
      StackMap locals: java.util.List java.io.File
      StackMap stack:
            aload 0 /* this */
            aload 1 /* installLocation */
            aload 3 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getLibraryInfo:(Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 4 /* libInfo */
        start local 4 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         7: .line 461
      StackMap locals: org.eclipse.jdt.internal.launching.LibraryInfo
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 4 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getEndorsedDirs:()[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.gatherAllLibraries:([Ljava/lang/String;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* allLibs */
         8: .line 462
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultJavadocLocation:(Ljava/io/File;)Ljava/net/URL;
            astore 5 /* url */
        start local 5 // java.net.URL url
         9: .line 463
            aload 4 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getBootpath:()[Ljava/lang/String;
            arraylength
            ifne 29
        10: .line 467
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            astore 6 /* sourceRootPath */
        start local 6 // org.eclipse.core.runtime.IPath sourceRootPath
        11: .line 469
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "lib"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "src.zip"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* path */
        start local 7 // org.eclipse.core.runtime.IPath path
        12: .line 470
            aload 7 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 8 /* lib */
        start local 8 // java.io.File lib
        13: .line 471
            aload 8 /* lib */
            invokevirtual java.io.File.exists:()Z
            ifeq 16
            aload 8 /* lib */
            invokevirtual java.io.File.isFile:()Z
            ifeq 16
        14: .line 472
            aload 0 /* this */
            aload 8 /* lib */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultSystemLibrarySource:(Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
            astore 6 /* sourceRootPath */
        15: .line 473
            goto 20
        16: .line 474
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.util.List java.io.File org.eclipse.jdt.internal.launching.LibraryInfo java.net.URL org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.io.File
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "src.zip"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* path */
        17: .line 475
            aload 7 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 8 /* lib */
        18: .line 476
            aload 8 /* lib */
            invokevirtual java.io.File.exists:()Z
            ifeq 20
            aload 8 /* lib */
            invokevirtual java.io.File.isFile:()Z
            ifeq 20
        19: .line 477
            aload 0 /* this */
            aload 8 /* lib */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultSystemLibrarySource:(Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
            astore 6 /* sourceRootPath */
        20: .line 480
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "lib"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "jrt-fs.jar"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 9 /* pathName */
        start local 9 // org.eclipse.core.runtime.IPath pathName
        21: .line 482
            aload 9 /* pathName */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 10 /* jrtfsJar */
        start local 10 // java.io.File jrtfsJar
        22: .line 483
            aload 10 /* jrtfsJar */
            invokevirtual java.io.File.exists:()Z
            ifne 24
        23: .line 484
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "jrt-fs.jar"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 9 /* pathName */
        24: .line 487
      StackMap locals: org.eclipse.core.runtime.IPath java.io.File
      StackMap stack:
            new org.eclipse.jdt.launching.LibraryLocation
            dup
            aload 9 /* pathName */
        25: .line 488
            aload 6 /* sourceRootPath */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultPackageRootPath:()Lorg/eclipse/core/runtime/IPath;
        26: .line 489
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultJavadocLocation:(Ljava/io/File;)Ljava/net/URL;
        27: .line 487
            invokespecial org.eclipse.jdt.launching.LibraryLocation.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Ljava/net/URL;)V
            astore 11 /* libraryLocation */
        start local 11 // org.eclipse.jdt.launching.LibraryLocation libraryLocation
        28: .line 490
            aload 2 /* allLibs */
            aload 11 /* libraryLocation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.eclipse.jdt.launching.LibraryLocation libraryLocation
        end local 10 // java.io.File jrtfsJar
        end local 9 // org.eclipse.core.runtime.IPath pathName
        end local 8 // java.io.File lib
        end local 7 // org.eclipse.core.runtime.IPath path
        end local 6 // org.eclipse.core.runtime.IPath sourceRootPath
        29: .line 494
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.util.List java.io.File org.eclipse.jdt.internal.launching.LibraryInfo java.net.URL
      StackMap stack:
            aload 4 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getBootpath:()[Ljava/lang/String;
            astore 6 /* bootpath */
        start local 6 // java.lang.String[] bootpath
        30: .line 495
            new java.util.ArrayList
            dup
            aload 6 /* bootpath */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* boot */
        start local 7 // java.util.List boot
        31: .line 497
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        32: goto 43
        33: .line 498
      StackMap locals: java.lang.String[] java.util.List int
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 6 /* bootpath */
            iload 8 /* i */
            aaload
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 9 /* path */
        start local 9 // org.eclipse.core.runtime.IPath path
        34: .line 499
            aload 9 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 10 /* lib */
        start local 10 // java.io.File lib
        35: .line 500
            aload 10 /* lib */
            invokevirtual java.io.File.exists:()Z
            ifeq 42
            aload 10 /* lib */
            invokevirtual java.io.File.isFile:()Z
            ifeq 42
        36: .line 501
            new org.eclipse.jdt.launching.LibraryLocation
            dup
            aload 9 /* path */
        37: .line 502
            aload 0 /* this */
            aload 10 /* lib */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultSystemLibrarySource:(Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
        38: .line 503
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultPackageRootPath:()Lorg/eclipse/core/runtime/IPath;
        39: .line 504
            aload 5 /* url */
        40: .line 501
            invokespecial org.eclipse.jdt.launching.LibraryLocation.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Ljava/net/URL;)V
            astore 11 /* libraryLocation */
        start local 11 // org.eclipse.jdt.launching.LibraryLocation libraryLocation
        41: .line 505
            aload 7 /* boot */
            aload 11 /* libraryLocation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.eclipse.jdt.launching.LibraryLocation libraryLocation
        end local 10 // java.io.File lib
        end local 9 // org.eclipse.core.runtime.IPath path
        42: .line 497
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 8 /* i */
            aload 6 /* bootpath */
            arraylength
            if_icmplt 33
        end local 8 // int i
        44: .line 508
            aload 2 /* allLibs */
            aload 7 /* boot */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        45: .line 511
            aload 2 /* allLibs */
            aload 4 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getExtensionDirs:()[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.gatherAllLibraries:([Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        46: .line 514
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* set */
        start local 8 // java.util.HashSet set
        47: .line 515
            aconst_null
            astore 9 /* lib */
        start local 9 // org.eclipse.jdt.launching.LibraryLocation lib
        48: .line 516
            aload 2 /* allLibs */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 10 /* liter */
        start local 10 // java.util.ListIterator liter
        49: goto 57
        50: .line 517
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.util.List java.io.File org.eclipse.jdt.internal.launching.LibraryInfo java.net.URL java.lang.String[] java.util.List java.util.HashSet org.eclipse.jdt.launching.LibraryLocation java.util.ListIterator
      StackMap stack:
            aload 10 /* liter */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.LibraryLocation
            astore 9 /* lib */
        51: .line 518
            aload 9 /* lib */
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibraryPath:()Lorg/eclipse/core/runtime/IPath;
            astore 11 /* systemLibraryPath */
        start local 11 // org.eclipse.core.runtime.IPath systemLibraryPath
        52: .line 519
            aload 11 /* systemLibraryPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            astore 12 /* device */
        start local 12 // java.lang.String device
        53: .line 520
            aload 12 /* device */
            ifnull 55
        54: .line 522
            aload 11 /* systemLibraryPath */
            aload 12 /* device */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IPath.setDevice:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 11 /* systemLibraryPath */
        55: .line 524
      StackMap locals: org.eclipse.core.runtime.IPath java.lang.String
      StackMap stack:
            aload 8 /* set */
            aload 11 /* systemLibraryPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifne 57
        56: .line 526
            aload 10 /* liter */
            invokeinterface java.util.ListIterator.remove:()V
        end local 12 // java.lang.String device
        end local 11 // org.eclipse.core.runtime.IPath systemLibraryPath
        57: .line 516
      StackMap locals:
      StackMap stack:
            aload 10 /* liter */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 50
        end local 10 // java.util.ListIterator liter
        58: .line 529
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgDefaultLibLocs:Ljava/util/Map;
            aload 1 /* installLocation */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 2 /* allLibs */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.eclipse.jdt.launching.LibraryLocation lib
        end local 8 // java.util.HashSet set
        end local 7 // java.util.List boot
        end local 6 // java.lang.String[] bootpath
        end local 5 // java.net.URL url
        end local 4 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
        end local 3 // java.io.File javaExecutable
        59: .line 531
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.util.List
      StackMap stack:
            aload 2 /* allLibs */
            aload 2 /* allLibs */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.LibraryLocation
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.LibraryLocation[]
            areturn
        end local 2 // java.util.List allLibs
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   60     0               this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   60     1    installLocation  Ljava/io/File;
            1   60     2            allLibs  Ljava/util/List<Lorg/eclipse/jdt/launching/LibraryLocation;>;
            3   59     3     javaExecutable  Ljava/io/File;
            5    6     4            libInfo  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            7   59     4            libInfo  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            9   59     5                url  Ljava/net/URL;
           11   29     6     sourceRootPath  Lorg/eclipse/core/runtime/IPath;
           12   29     7               path  Lorg/eclipse/core/runtime/IPath;
           13   29     8                lib  Ljava/io/File;
           21   29     9           pathName  Lorg/eclipse/core/runtime/IPath;
           22   29    10           jrtfsJar  Ljava/io/File;
           28   29    11    libraryLocation  Lorg/eclipse/jdt/launching/LibraryLocation;
           30   59     6           bootpath  [Ljava/lang/String;
           31   59     7               boot  Ljava/util/List<Lorg/eclipse/jdt/launching/LibraryLocation;>;
           32   44     8                  i  I
           34   42     9               path  Lorg/eclipse/core/runtime/IPath;
           35   42    10                lib  Ljava/io/File;
           41   42    11    libraryLocation  Lorg/eclipse/jdt/launching/LibraryLocation;
           47   59     8                set  Ljava/util/HashSet<Ljava/lang/String;>;
           48   59     9                lib  Lorg/eclipse/jdt/launching/LibraryLocation;
           49   58    10              liter  Ljava/util/ListIterator<Lorg/eclipse/jdt/launching/LibraryLocation;>;
           52   57    11  systemLibraryPath  Lorg/eclipse/core/runtime/IPath;
           53   57    12             device  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      installLocation  

  protected org.eclipse.jdt.internal.launching.LibraryInfo getDefaultLibraryInfo(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File installLocation
         0: .line 541
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultSystemLibrary:(Ljava/io/File;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* rtjar */
        start local 2 // org.eclipse.core.runtime.IPath rtjar
         1: .line 542
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultExtensionDirectory:(Ljava/io/File;)Ljava/io/File;
            astore 3 /* extDir */
        start local 3 // java.io.File extDir
         2: .line 543
            aload 0 /* this */
            aload 1 /* installLocation */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getDefaultEndorsedDirectory:(Ljava/io/File;)Ljava/io/File;
            astore 4 /* endDir */
        start local 4 // java.io.File endDir
         3: .line 544
            aconst_null
            astore 5 /* dirs */
        start local 5 // java.lang.String[] dirs
         4: .line 545
            aload 3 /* extDir */
            ifnonnull 7
         5: .line 546
            iconst_0
            anewarray java.lang.String
            astore 5 /* dirs */
         6: .line 547
            goto 8
         7: .line 548
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File org.eclipse.core.runtime.IPath java.io.File java.io.File java.lang.String[]
      StackMap stack:
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* extDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            astore 5 /* dirs */
         8: .line 550
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* endDirs */
        start local 6 // java.lang.String[] endDirs
         9: .line 551
            aload 4 /* endDir */
            ifnonnull 12
        10: .line 552
            iconst_0
            anewarray java.lang.String
            astore 6 /* endDirs */
        11: .line 553
            goto 13
        12: .line 554
      StackMap locals: java.lang.String[]
      StackMap stack:
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* endDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            astore 6 /* endDirs */
        13: .line 556
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.launching.LibraryInfo
            dup
            ldc "???"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* rtjar */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            aastore
            aload 5 /* dirs */
            aload 6 /* endDirs */
            invokespecial org.eclipse.jdt.internal.launching.LibraryInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 6 // java.lang.String[] endDirs
        end local 5 // java.lang.String[] dirs
        end local 4 // java.io.File endDir
        end local 3 // java.io.File extDir
        end local 2 // org.eclipse.core.runtime.IPath rtjar
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   14     1  installLocation  Ljava/io/File;
            1   14     2            rtjar  Lorg/eclipse/core/runtime/IPath;
            2   14     3           extDir  Ljava/io/File;
            3   14     4           endDir  Ljava/io/File;
            4   14     5             dirs  [Ljava/lang/String;
            9   14     6          endDirs  [Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      installLocation  

  public static java.util.List<org.eclipse.jdt.launching.LibraryLocation> gatherAllLibraries(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=17, args_size=1
        start local 0 // java.lang.String[] dirPaths
         0: .line 566
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* libraries */
        start local 1 // java.util.List libraries
         1: .line 567
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 36
         3: .line 568
      StackMap locals: java.util.List int
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* dirPaths */
            iload 2 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* extDir */
        start local 3 // java.io.File extDir
         4: .line 569
            aload 3 /* extDir */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 35
         5: .line 570
            aload 3 /* extDir */
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgArchiveFilter:Ljava/io/FilenameFilter;
            invokevirtual java.io.File.list:(Ljava/io/FilenameFilter;)[Ljava/lang/String;
            astore 4 /* names */
        start local 4 // java.lang.String[] names
         6: .line 571
            aload 4 /* names */
            ifnull 35
         7: .line 572
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         8: goto 34
         9: .line 573
      StackMap locals: java.io.File java.lang.String[] int
      StackMap stack:
            new java.io.File
            dup
            aload 3 /* extDir */
            aload 4 /* names */
            iload 5 /* j */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* jar */
        start local 6 // java.io.File jar
        10: .line 574
            aload 6 /* jar */
            invokevirtual java.io.File.isFile:()Z
            ifeq 33
        11: .line 576
            new org.eclipse.core.runtime.Path
            dup
            aload 6 /* jar */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 7 /* libPath */
        start local 7 // org.eclipse.core.runtime.IPath libPath
        12: .line 577
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            astore 8 /* sourcePath */
        start local 8 // org.eclipse.core.runtime.IPath sourcePath
        13: .line 578
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            astore 9 /* packageRoot */
        start local 9 // org.eclipse.core.runtime.IPath packageRoot
        14: .line 579
            aconst_null
            astore 10 /* javadocLocation */
        start local 10 // java.net.URL javadocLocation
        15: .line 580
            aconst_null
            astore 11 /* indexLocation */
        start local 11 // java.net.URL indexLocation
        16: .line 581
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.getLibraryLocationResolvers:()[Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 27
      StackMap locals: java.lang.String[] java.util.List int java.io.File java.lang.String[] int java.io.File org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.net.URL java.net.URL top int int org.eclipse.jdt.launching.ILibraryLocationResolver[]
      StackMap stack:
        17: aload 15
            iload 13
            aaload
            astore 12 /* resolver */
        start local 12 // org.eclipse.jdt.launching.ILibraryLocationResolver resolver
        18: .line 583
            aload 12 /* resolver */
            aload 7 /* libPath */
            invokeinterface org.eclipse.jdt.launching.ILibraryLocationResolver.getSourcePath:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 8 /* sourcePath */
        19: .line 584
            aload 12 /* resolver */
            aload 7 /* libPath */
            invokeinterface org.eclipse.jdt.launching.ILibraryLocationResolver.getPackageRoot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 9 /* packageRoot */
        20: .line 585
            aload 12 /* resolver */
            aload 7 /* libPath */
            invokeinterface org.eclipse.jdt.launching.ILibraryLocationResolver.getJavadocLocation:(Lorg/eclipse/core/runtime/IPath;)Ljava/net/URL;
            astore 10 /* javadocLocation */
        21: .line 586
            aload 12 /* resolver */
            aload 7 /* libPath */
            invokeinterface org.eclipse.jdt.launching.ILibraryLocationResolver.getIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Ljava/net/URL;
            astore 11 /* indexLocation */
        22: .line 587
            aload 8 /* sourcePath */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            if_acmpne 28
            aload 9 /* packageRoot */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            if_acmpne 28
            aload 10 /* javadocLocation */
            ifnonnull 28
            aload 11 /* indexLocation */
            ifnull 26
        23: .line 588
            goto 28
        24: .line 590
      StackMap locals: java.lang.String[] java.util.List int java.io.File java.lang.String[] int java.io.File org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.net.URL java.net.URL org.eclipse.jdt.launching.ILibraryLocationResolver int int org.eclipse.jdt.launching.ILibraryLocationResolver[]
      StackMap stack: java.lang.Exception
            astore 16 /* e */
        start local 16 // java.lang.Exception e
        25: .line 591
            aload 16 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 16 // java.lang.Exception e
        end local 12 // org.eclipse.jdt.launching.ILibraryLocationResolver resolver
        26: .line 581
      StackMap locals: java.lang.String[] java.util.List int java.io.File java.lang.String[] int java.io.File org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.net.URL java.net.URL top int int org.eclipse.jdt.launching.ILibraryLocationResolver[]
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        27: iload 13
            iload 14
            if_icmplt 17
        28: .line 594
      StackMap locals: java.lang.String[] java.util.List int java.io.File java.lang.String[] int java.io.File org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.net.URL java.net.URL
      StackMap stack:
            new org.eclipse.jdt.launching.LibraryLocation
            dup
            aload 7 /* libPath */
            aload 8 /* sourcePath */
            aload 9 /* packageRoot */
            aload 10 /* javadocLocation */
            aload 11 /* indexLocation */
            invokespecial org.eclipse.jdt.launching.LibraryLocation.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Ljava/net/URL;Ljava/net/URL;)V
            astore 12 /* library */
        start local 12 // org.eclipse.jdt.launching.LibraryLocation library
        29: .line 595
            aload 1 /* libraries */
            aload 12 /* library */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.eclipse.jdt.launching.LibraryLocation library
        end local 11 // java.net.URL indexLocation
        end local 10 // java.net.URL javadocLocation
        end local 9 // org.eclipse.core.runtime.IPath packageRoot
        end local 8 // org.eclipse.core.runtime.IPath sourcePath
        end local 7 // org.eclipse.core.runtime.IPath libPath
        30: .line 596
            goto 33
      StackMap locals: java.lang.String[] java.util.List int java.io.File java.lang.String[] int java.io.File
      StackMap stack: java.io.IOException
        31: astore 7 /* e */
        start local 7 // java.io.IOException e
        32: .line 597
            aload 7 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 7 // java.io.IOException e
        end local 6 // java.io.File jar
        33: .line 572
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        34: iload 5 /* j */
            aload 4 /* names */
            arraylength
            if_icmplt 9
        end local 5 // int j
        end local 4 // java.lang.String[] names
        end local 3 // java.io.File extDir
        35: .line 567
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 2 /* i */
            aload 0 /* dirPaths */
            arraylength
            if_icmplt 3
        end local 2 // int i
        37: .line 604
            aload 1 /* libraries */
            areturn
        end local 1 // java.util.List libraries
        end local 0 // java.lang.String[] dirPaths
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   38     0         dirPaths  [Ljava/lang/String;
            1   38     1        libraries  Ljava/util/List<Lorg/eclipse/jdt/launching/LibraryLocation;>;
            2   37     2                i  I
            4   35     3           extDir  Ljava/io/File;
            6   35     4            names  [Ljava/lang/String;
            8   35     5                j  I
           10   33     6              jar  Ljava/io/File;
           12   30     7          libPath  Lorg/eclipse/core/runtime/IPath;
           13   30     8       sourcePath  Lorg/eclipse/core/runtime/IPath;
           14   30     9      packageRoot  Lorg/eclipse/core/runtime/IPath;
           15   30    10  javadocLocation  Ljava/net/URL;
           16   30    11    indexLocation  Ljava/net/URL;
           18   26    12         resolver  Lorg/eclipse/jdt/launching/ILibraryLocationResolver;
           25   26    16                e  Ljava/lang/Exception;
           29   30    12          library  Lorg/eclipse/jdt/launching/LibraryLocation;
           32   33     7                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          18    23      24  Class java.lang.Exception
          11    30      31  Class java.io.IOException
    Signature: ([Ljava/lang/String;)Ljava/util/List<Lorg/eclipse/jdt/launching/LibraryLocation;>;
    MethodParameters:
          Name  Flags
      dirPaths  

  protected java.io.File getDefaultExtensionDirectory(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File installLocation
         0: .line 616
            aconst_null
            astore 2 /* jre */
        start local 2 // java.io.File jre
         1: .line 617
            aload 1 /* installLocation */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            ldc "jre"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 618
            aload 1 /* installLocation */
            astore 2 /* jre */
         3: .line 619
            goto 5
         4: .line 620
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* installLocation */
            ldc "jre"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* jre */
         5: .line 622
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* jre */
            ldc "lib"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* lib */
        start local 3 // java.io.File lib
         6: .line 623
            new java.io.File
            dup
            aload 3 /* lib */
            ldc "ext"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* ext */
        start local 4 // java.io.File ext
         7: .line 624
            aload 4 /* ext */
            areturn
        end local 4 // java.io.File ext
        end local 3 // java.io.File lib
        end local 2 // java.io.File jre
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    8     1  installLocation  Ljava/io/File;
            1    8     2              jre  Ljava/io/File;
            6    8     3              lib  Ljava/io/File;
            7    8     4              ext  Ljava/io/File;
    MethodParameters:
                 Name  Flags
      installLocation  

  protected java.io.File getDefaultEndorsedDirectory(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File installLocation
         0: .line 636
            new java.io.File
            dup
            aload 1 /* installLocation */
            ldc "lib"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* lib */
        start local 2 // java.io.File lib
         1: .line 637
            new java.io.File
            dup
            aload 2 /* lib */
            ldc "endorsed"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* ext */
        start local 3 // java.io.File ext
         2: .line 638
            aload 3 /* ext */
            areturn
        end local 3 // java.io.File ext
        end local 2 // java.io.File lib
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    3     1  installLocation  Ljava/io/File;
            1    3     2              lib  Ljava/io/File;
            2    3     3              ext  Ljava/io/File;
    MethodParameters:
                 Name  Flags
      installLocation  

  protected java.lang.String getDefaultRootPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
         0: .line 642
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.launching.StandardVMType.fDefaultRootPath:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;

  protected void setDefaultRootPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.lang.String defaultRootPath
         0: .line 646
            aload 0 /* this */
            aload 1 /* defaultRootPath */
            putfield org.eclipse.jdt.internal.launching.StandardVMType.fDefaultRootPath:Ljava/lang/String;
         1: .line 647
            return
        end local 1 // java.lang.String defaultRootPath
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    2     1  defaultRootPath  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      defaultRootPath  

  public org.eclipse.core.runtime.IStatus validateInstallLocation(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/eclipse/core/runtime/IStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
         0: .line 654
            aconst_null
            astore 2 /* status */
        start local 2 // org.eclipse.core.runtime.IStatus status
         1: .line 655
            aload 1 /* javaHome */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.findJavaExecutable:(Ljava/io/File;)Ljava/io/File;
            astore 3 /* javaExecutable */
        start local 3 // java.io.File javaExecutable
         2: .line 656
            aload 3 /* javaExecutable */
            ifnonnull 5
         3: .line 657
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            iconst_0
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMType_Not_a_JDK_Root__Java_executable_was_not_found_1:Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* status */
         4: .line 658
            goto 10
         5: .line 659
      StackMap locals: org.eclipse.core.runtime.IStatus java.io.File
      StackMap stack:
            aload 1 /* javaHome */
            astore 4 /* javaHomeNew */
        start local 4 // java.io.File javaHomeNew
         6: .line 661
            aload 0 /* this */
            aload 4 /* javaHomeNew */
            aload 3 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.canDetectDefaultSystemLibraries:(Ljava/io/File;Ljava/io/File;)Z
            ifeq 9
         7: .line 662
            new org.eclipse.core.runtime.Status
            dup
            iconst_0
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            iconst_0
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMType_ok_2:Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* status */
         8: .line 663
            goto 10
         9: .line 664
      StackMap locals: java.io.File
      StackMap stack:
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            iconst_0
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.StandardVMType_Not_a_JDK_root__System_library_was_not_found__1:Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* status */
        end local 4 // java.io.File javaHomeNew
        10: .line 667
      StackMap locals:
      StackMap stack:
            aload 2 /* status */
            areturn
        end local 3 // java.io.File javaExecutable
        end local 2 // org.eclipse.core.runtime.IStatus status
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   11     1        javaHome  Ljava/io/File;
            1   11     2          status  Lorg/eclipse/core/runtime/IStatus;
            2   11     3  javaExecutable  Ljava/io/File;
            6   10     4     javaHomeNew  Ljava/io/File;
    MethodParameters:
          Name  Flags
      javaHome  

  protected org.eclipse.jdt.internal.launching.LibraryInfo generateLibraryInfo(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=15, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
        start local 2 // java.io.File javaExecutable
         0: .line 683
            aconst_null
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.launching.LibraryInfo info
         1: .line 686
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* javaHome */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            ldc "lib"
            invokevirtual org.eclipse.core.runtime.Path.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "classes.zip"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 4 /* classesZip */
        start local 4 // org.eclipse.core.runtime.IPath classesZip
         2: .line 687
            aload 4 /* classesZip */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 4
         3: .line 688
            new org.eclipse.jdt.internal.launching.LibraryInfo
            dup
            ldc "1.1.x"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* classesZip */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            aastore
            iconst_0
            anewarray java.lang.String
            iconst_0
            anewarray java.lang.String
            invokespecial org.eclipse.jdt.internal.launching.LibraryInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            areturn
         4: .line 691
      StackMap locals: org.eclipse.jdt.internal.launching.LibraryInfo org.eclipse.core.runtime.IPath
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            ldc "lib/launchingsupport.jar"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getFileInPlugin:(Lorg/eclipse/core/runtime/IPath;)Ljava/io/File;
            astore 5 /* file */
        start local 5 // java.io.File file
         5: .line 692
            aload 5 /* file */
            ifnull 50
            aload 5 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 50
         6: .line 693
            aload 2 /* javaExecutable */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 6 /* javaExecutablePath */
        start local 6 // java.lang.String javaExecutablePath
         7: .line 694
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* javaExecutablePath */
            aastore
            dup
            iconst_1
            ldc "-Xmx16m"
            aastore
            dup
            iconst_2
         8: .line 695
            ldc "-classpath"
            aastore
            dup
            iconst_3
            aload 5 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc "org.eclipse.jdt.internal.launching.support.LibraryDetector"
            aastore
         9: .line 694
            astore 7 /* cmdLine */
        start local 7 // java.lang.String[] cmdLine
        10: .line 696
            aconst_null
            astore 8 /* p */
        start local 8 // java.lang.Process p
        11: .line 698
            aconst_null
            astore 9 /* envp */
        start local 9 // java.lang.String[] envp
        12: .line 699
            ldc "macosx"
            invokestatic org.eclipse.core.runtime.Platform.getOS:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        13: .line 700
            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.getNativeEnvironmentCasePreserved:()Ljava/util/Map;
            astore 10 /* map */
        start local 10 // java.util.Map map
        14: .line 701
            aload 10 /* map */
            ldc "JAVA_JVM_VERSION"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 23
        15: .line 702
            aload 10 /* map */
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.String
            astore 9 /* envp */
        16: .line 703
            aload 10 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* iterator */
        start local 11 // java.util.Iterator iterator
        17: .line 704
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        18: .line 705
            goto 22
        19: .line 706
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.io.File org.eclipse.jdt.internal.launching.LibraryInfo org.eclipse.core.runtime.IPath java.io.File java.lang.String java.lang.String[] java.lang.Process java.lang.String[] java.util.Map java.util.Iterator int
      StackMap stack:
            aload 11 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 13 /* entry */
        start local 13 // java.util.Map$Entry entry
        20: .line 707
            aload 9 /* envp */
            iload 12 /* i */
            new java.lang.StringBuilder
            dup
            aload 13 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.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 13 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        21: .line 708
            iinc 12 /* i */ 1
        end local 13 // java.util.Map$Entry entry
        22: .line 705
      StackMap locals:
      StackMap stack:
            aload 11 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 12 // int i
        end local 11 // java.util.Iterator iterator
        end local 10 // java.util.Map map
        23: .line 712
      StackMap locals:
      StackMap stack:
            aload 7 /* cmdLine */
            aconst_null
            aload 9 /* envp */
            invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;[Ljava/lang/String;)Ljava/lang/Process;
            astore 8 /* p */
        24: .line 713
            new org.eclipse.debug.core.Launch
            dup
            aconst_null
            ldc "run"
            aconst_null
            invokespecial org.eclipse.debug.core.Launch.<init>:(Lorg/eclipse/debug/core/ILaunchConfiguration;Ljava/lang/String;Lorg/eclipse/debug/core/model/ISourceLocator;)V
            aload 8 /* p */
            ldc "Library Detection"
            invokestatic org.eclipse.debug.core.DebugPlugin.newProcess:(Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;)Lorg/eclipse/debug/core/model/IProcess;
            astore 10 /* process */
        start local 10 // org.eclipse.debug.core.model.IProcess process
        25: .line 714
            aload 10 /* process */
            getstatic org.eclipse.debug.core.model.IProcess.ATTR_CMDLINE:Ljava/lang/String;
            ldc " "
            aload 7 /* cmdLine */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.model.IProcess.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 715
            aload 10 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.getStreamsProxy:()Lorg/eclipse/debug/core/model/IStreamsProxy;
            invokeinterface org.eclipse.debug.core.model.IStreamsProxy.getOutputStreamMonitor:()Lorg/eclipse/debug/core/model/IStreamMonitor;
            astore 11 /* outputStreamMonitor */
        start local 11 // org.eclipse.debug.core.model.IStreamMonitor outputStreamMonitor
        27: .line 716
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        28: goto 36
        29: .line 719
      StackMap locals: org.eclipse.debug.core.model.IProcess org.eclipse.debug.core.model.IStreamMonitor int
      StackMap stack:
            aload 10 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.isTerminated:()Z
            ifeq 31
            aload 0 /* this */
            aload 11 /* outputStreamMonitor */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.isReadingDone:(Lorg/eclipse/debug/core/model/IStreamMonitor;)Z
            ifeq 31
        30: .line 720
            goto 37
        31: .line 723
      StackMap locals:
      StackMap stack:
            ldc 50
            invokestatic java.lang.Thread.sleep:(J)V
        32: .line 724
            goto 35
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        33: astore 13 /* e */
        start local 13 // java.lang.InterruptedException e
        34: .line 725
            aload 13 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 13 // java.lang.InterruptedException e
        35: .line 716
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 12 /* i */
            sipush 600
            if_icmplt 29
        end local 12 // int i
        37: .line 728
      StackMap locals:
      StackMap stack:
            aload 10 /* process */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.checkProcessResult:(Lorg/eclipse/debug/core/model/IProcess;)V
        38: .line 729
            aload 0 /* this */
            aload 10 /* process */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.parseLibraryInfo:(Lorg/eclipse/debug/core/model/IProcess;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 3 /* info */
        end local 11 // org.eclipse.debug.core.model.IStreamMonitor outputStreamMonitor
        end local 10 // org.eclipse.debug.core.model.IProcess process
        end local 9 // java.lang.String[] envp
        39: .line 730
            goto 48
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.io.File org.eclipse.jdt.internal.launching.LibraryInfo org.eclipse.core.runtime.IPath java.io.File java.lang.String java.lang.String[] java.lang.Process
      StackMap stack: java.lang.Throwable
        40: astore 9 /* ioe */
        start local 9 // java.lang.Throwable ioe
        41: .line 731
            aload 9 /* ioe */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 9 // java.lang.Throwable ioe
        42: .line 733
            aload 8 /* p */
            ifnull 50
        43: .line 734
            aload 8 /* p */
            invokevirtual java.lang.Process.destroy:()V
            goto 50
        44: .line 732
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        45: .line 733
            aload 8 /* p */
            ifnull 47
        46: .line 734
            aload 8 /* p */
            invokevirtual java.lang.Process.destroy:()V
        47: .line 736
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.io.File org.eclipse.jdt.internal.launching.LibraryInfo org.eclipse.core.runtime.IPath java.io.File java.lang.String java.lang.String[] java.lang.Process top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        48: .line 733
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.io.File org.eclipse.jdt.internal.launching.LibraryInfo org.eclipse.core.runtime.IPath java.io.File java.lang.String java.lang.String[] java.lang.Process
      StackMap stack:
            aload 8 /* p */
            ifnull 50
        49: .line 734
            aload 8 /* p */
            invokevirtual java.lang.Process.destroy:()V
        end local 8 // java.lang.Process p
        end local 7 // java.lang.String[] cmdLine
        end local 6 // java.lang.String javaExecutablePath
        50: .line 738
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            ifnonnull 52
        51: .line 740
            ldc "Failed to retrieve default libraries for {0}"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* javaHome */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/String;)V
        52: .line 742
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            areturn
        end local 5 // java.io.File file
        end local 4 // org.eclipse.core.runtime.IPath classesZip
        end local 3 // org.eclipse.jdt.internal.launching.LibraryInfo info
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   53     0                 this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   53     1             javaHome  Ljava/io/File;
            0   53     2       javaExecutable  Ljava/io/File;
            1   53     3                 info  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            2   53     4           classesZip  Lorg/eclipse/core/runtime/IPath;
            5   53     5                 file  Ljava/io/File;
            7   50     6   javaExecutablePath  Ljava/lang/String;
           10   50     7              cmdLine  [Ljava/lang/String;
           11   50     8                    p  Ljava/lang/Process;
           12   39     9                 envp  [Ljava/lang/String;
           14   23    10                  map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           17   23    11             iterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
           18   23    12                    i  I
           20   22    13                entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           25   39    10              process  Lorg/eclipse/debug/core/model/IProcess;
           27   39    11  outputStreamMonitor  Lorg/eclipse/debug/core/model/IStreamMonitor;
           28   37    12                    i  I
           34   35    13                    e  Ljava/lang/InterruptedException;
           41   42     9                  ioe  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          31    32      33  Class java.lang.InterruptedException
          11    39      40  Class java.lang.Throwable
          11    42      44  any
    MethodParameters:
                Name  Flags
      javaHome        
      javaExecutable  

  private boolean isReadingDone(org.eclipse.debug.core.model.IStreamMonitor);
    descriptor: (Lorg/eclipse/debug/core/model/IStreamMonitor;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // org.eclipse.debug.core.model.IStreamMonitor monitor
         0: .line 747
            aload 1 /* monitor */
            instanceof org.eclipse.debug.internal.core.OutputStreamMonitor
            ifeq 2
         1: .line 748
            aload 1 /* monitor */
            checkcast org.eclipse.debug.internal.core.OutputStreamMonitor
            invokevirtual org.eclipse.debug.internal.core.OutputStreamMonitor.isReadingDone:()Z
            ireturn
         2: .line 750
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.eclipse.debug.core.model.IStreamMonitor monitor
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    3     1  monitor  Lorg/eclipse/debug/core/model/IStreamMonitor;
    MethodParameters:
         Name  Flags
      monitor  

  protected org.eclipse.jdt.internal.launching.LibraryInfo parseLibraryInfo(org.eclipse.debug.core.model.IProcess);
    descriptor: (Lorg/eclipse/debug/core/model/IProcess;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // org.eclipse.debug.core.model.IProcess process
         0: .line 760
            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 761
            aconst_null
            astore 3 /* text */
        start local 3 // java.lang.String text
         2: .line 762
            aload 2 /* streamsProxy */
            ifnull 4
         3: .line 763
            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 /* text */
         4: .line 765
      StackMap locals: org.eclipse.debug.core.model.IStreamsProxy java.lang.String
      StackMap stack:
            aload 3 /* text */
            ifnull 21
            aload 3 /* text */
            invokevirtual java.lang.String.length:()I
            ifle 21
         5: .line 766
            aload 3 /* text */
            ldc "|"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
        start local 4 // int index
         6: .line 767
            iload 4 /* index */
            ifle 21
         7: .line 768
            aload 3 /* text */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* version */
        start local 5 // java.lang.String version
         8: .line 769
            aload 3 /* text */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* text */
         9: .line 770
            aload 3 /* text */
            ldc "|"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
        10: .line 771
            iload 4 /* index */
            ifle 21
        11: .line 772
            aload 3 /* text */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* bootPaths */
        start local 6 // java.lang.String bootPaths
        12: .line 773
            aload 0 /* this */
            aload 6 /* bootPaths */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.parsePaths:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* bootPath */
        start local 7 // java.lang.String[] bootPath
        13: .line 775
            aload 3 /* text */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* text */
        14: .line 776
            aload 3 /* text */
            ldc "|"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
        15: .line 778
            iload 4 /* index */
            ifle 21
        16: .line 779
            aload 3 /* text */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* extDirPaths */
        start local 8 // java.lang.String extDirPaths
        17: .line 780
            aload 3 /* text */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* endorsedDirsPath */
        start local 9 // java.lang.String endorsedDirsPath
        18: .line 781
            aload 0 /* this */
            aload 8 /* extDirPaths */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.parsePaths:(Ljava/lang/String;)[Ljava/lang/String;
            astore 10 /* extDirs */
        start local 10 // java.lang.String[] extDirs
        19: .line 782
            aload 0 /* this */
            aload 9 /* endorsedDirsPath */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.parsePaths:(Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* endDirs */
        start local 11 // java.lang.String[] endDirs
        20: .line 783
            new org.eclipse.jdt.internal.launching.LibraryInfo
            dup
            aload 5 /* version */
            aload 7 /* bootPath */
            aload 10 /* extDirs */
            aload 11 /* endDirs */
            invokespecial org.eclipse.jdt.internal.launching.LibraryInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 11 // java.lang.String[] endDirs
        end local 10 // java.lang.String[] extDirs
        end local 9 // java.lang.String endorsedDirsPath
        end local 8 // java.lang.String extDirPaths
        end local 7 // java.lang.String[] bootPath
        end local 6 // java.lang.String bootPaths
        end local 5 // java.lang.String version
        end local 4 // int index
        21: .line 788
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String text
        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.StandardVMType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   22     1           process  Lorg/eclipse/debug/core/model/IProcess;
            1   22     2      streamsProxy  Lorg/eclipse/debug/core/model/IStreamsProxy;
            2   22     3              text  Ljava/lang/String;
            6   21     4             index  I
            8   21     5           version  Ljava/lang/String;
           12   21     6         bootPaths  Ljava/lang/String;
           13   21     7          bootPath  [Ljava/lang/String;
           17   21     8       extDirPaths  Ljava/lang/String;
           18   21     9  endorsedDirsPath  Ljava/lang/String;
           19   21    10           extDirs  [Ljava/lang/String;
           20   21    11           endDirs  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      process  

  protected java.lang.String[] parsePaths(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.lang.String paths
         0: .line 792
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 793
            iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 794
            aload 1 /* paths */
            getstatic java.io.File.pathSeparatorChar:C
            iload 3 /* pos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* index */
        start local 4 // int index
         3: .line 795
            goto 8
         4: .line 796
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 1 /* paths */
            iload 3 /* pos */
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
         5: .line 797
            aload 2 /* list */
            aload 5 /* path */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 798
            iload 4 /* index */
            iconst_1
            iadd
            istore 3 /* pos */
         7: .line 799
            aload 1 /* paths */
            getstatic java.io.File.pathSeparatorChar:C
            iload 3 /* pos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* index */
        end local 5 // java.lang.String path
         8: .line 795
      StackMap locals:
      StackMap stack:
            iload 4 /* index */
            ifgt 4
         9: .line 801
            aload 1 /* paths */
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
        10: .line 802
            aload 5 /* path */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 803
            aload 2 /* list */
            aload 5 /* path */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 805
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* list */
            aload 2 /* list */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // java.lang.String path
        end local 4 // int index
        end local 3 // int pos
        end local 2 // java.util.List list
        end local 1 // java.lang.String paths
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   13     1  paths  Ljava/lang/String;
            1   13     2   list  Ljava/util/List<Ljava/lang/String;>;
            2   13     3    pos  I
            3   13     4  index  I
            5    8     5   path  Ljava/lang/String;
           10   13     5   path  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      paths  

  public void disposeVMInstall(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.lang.String id
         0: .line 813
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.findVMInstall:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 2 /* vm */
        start local 2 // org.eclipse.jdt.launching.IVMInstall vm
         1: .line 814
            aload 2 /* vm */
            ifnull 6
         2: .line 815
            aload 2 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getInstallLocation:()Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         3: .line 816
            aload 3 /* path */
            aconst_null
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.setLibraryInfo:(Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/LibraryInfo;)V
         4: .line 817
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgFailedInstallPath:Ljava/util/Map;
            aload 3 /* path */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 818
            getstatic org.eclipse.jdt.internal.launching.StandardVMType.fgDefaultLibLocs:Ljava/util/Map;
            aload 3 /* path */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String path
         6: .line 820
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokespecial org.eclipse.jdt.launching.AbstractVMInstallType.disposeVMInstall:(Ljava/lang/String;)V
         7: .line 821
            return
        end local 2 // org.eclipse.jdt.launching.IVMInstall vm
        end local 1 // java.lang.String id
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    8     1    id  Ljava/lang/String;
            1    8     2    vm  Lorg/eclipse/jdt/launching/IVMInstall;
            3    6     3  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public java.net.URL getDefaultJavadocLocation(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File installLocation
         0: .line 828
            aload 1 /* installLocation */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.findJavaExecutable:(Ljava/io/File;)Ljava/io/File;
            astore 2 /* javaExecutable */
        start local 2 // java.io.File javaExecutable
         1: .line 829
            aload 2 /* javaExecutable */
            ifnull 6
         2: .line 830
            aload 0 /* this */
            aload 1 /* installLocation */
            aload 2 /* javaExecutable */
            invokevirtual org.eclipse.jdt.internal.launching.StandardVMType.getLibraryInfo:(Ljava/io/File;Ljava/io/File;)Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            astore 3 /* libInfo */
        start local 3 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         3: .line 831
            aload 3 /* libInfo */
            ifnull 6
         4: .line 832
            aload 3 /* libInfo */
            invokevirtual org.eclipse.jdt.internal.launching.LibraryInfo.getVersion:()Ljava/lang/String;
            astore 4 /* version */
        start local 4 // java.lang.String version
         5: .line 833
            aload 4 /* version */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.getDefaultJavadocLocation:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 4 // java.lang.String version
        end local 3 // org.eclipse.jdt.internal.launching.LibraryInfo libInfo
         6: .line 836
      StackMap locals: java.io.File
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.io.File javaExecutable
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0    7     1  installLocation  Ljava/io/File;
            1    7     2   javaExecutable  Ljava/io/File;
            3    6     3          libInfo  Lorg/eclipse/jdt/internal/launching/LibraryInfo;
            5    6     4          version  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      installLocation  

  public static java.net.URL getDefaultJavadocLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String version
         0: .line 847
            aload 0 /* version */
            ldc "13"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 848
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/en/java/javase/13/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         2: areturn
         3: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "12"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 850
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/en/java/javase/12/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         5: areturn
         6: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "11"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 852
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/en/java/javase/11/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         8: areturn
         9: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "10"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 854
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/10/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        11: areturn
        12: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "9"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 856
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/9/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        14: areturn
        15: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.8"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 858
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/8/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        17: areturn
        18: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.7"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 860
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/7/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        20: areturn
        21: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.6"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 862
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/6/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        23: areturn
        24: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.5"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        25: .line 864
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/1.5.0/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        26: areturn
        27: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.4"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        28: .line 867
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/1.5.0/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        29: areturn
        30: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* version */
            ldc "1.3"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 34
        31: .line 870
            new java.net.URL
            dup
            ldc "https://docs.oracle.com/javase/1.5.0/docs/api/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        32: areturn
        33: .line 872
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        34: .line 874
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   35     0  version  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2      33  Class java.net.MalformedURLException
           3     5      33  Class java.net.MalformedURLException
           6     8      33  Class java.net.MalformedURLException
           9    11      33  Class java.net.MalformedURLException
          12    14      33  Class java.net.MalformedURLException
          15    17      33  Class java.net.MalformedURLException
          18    20      33  Class java.net.MalformedURLException
          21    23      33  Class java.net.MalformedURLException
          24    26      33  Class java.net.MalformedURLException
          27    29      33  Class java.net.MalformedURLException
          30    32      33  Class java.net.MalformedURLException
    MethodParameters:
         Name  Flags
      version  

  public synchronized java.lang.String readReleaseVersion(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
        start local 1 // java.io.File javaHome
         0: .line 879
            ldc ""
            astore 2 /* version */
        start local 2 // java.lang.String version
         1: .line 881
            aload 1 /* javaHome */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "release"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.notExists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 3
         2: .line 882
            aload 2 /* version */
            areturn
         3: .line 884
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: aload 1 /* javaHome */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "release"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokestatic java.nio.file.Files.lines:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jdt/internal/launching/StandardVMType.lambda$0(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            astore 5 /* lines */
        start local 5 // java.util.stream.Stream lines
         5: .line 885
            aload 5 /* lines */
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            astore 6 /* hasVersion */
        start local 6 // java.util.Optional hasVersion
         6: .line 886
            aload 6 /* hasVersion */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 9
         7: .line 887
            aload 6 /* hasVersion */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* line */
        start local 7 // java.lang.String line
         8: .line 888
            aload 7 /* line */
            bipush 14
            aload 7 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* version */
        end local 7 // java.lang.String line
        end local 6 // java.util.Optional hasVersion
         9: .line 890
      StackMap locals: java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack:
            aload 5 /* lines */
            ifnull 17
            aload 5 /* lines */
            invokeinterface java.util.stream.Stream.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* lines */
            ifnull 11
            aload 5 /* lines */
            invokeinterface java.util.stream.Stream.close:()V
        end local 5 // java.util.stream.Stream lines
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 891
      StackMap locals: org.eclipse.jdt.internal.launching.StandardVMType java.io.File java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        16: .line 892
            aload 3 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        17: .line 895
      StackMap locals:
      StackMap stack:
            aload 2 /* version */
            areturn
        end local 2 // java.lang.String version
        end local 1 // java.io.File javaHome
        end local 0 // org.eclipse.jdt.internal.launching.StandardVMType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/eclipse/jdt/internal/launching/StandardVMType;
            0   18     1    javaHome  Ljava/io/File;
            1   18     2     version  Ljava/lang/String;
            5   11     5       lines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            6    9     6  hasVersion  Ljava/util/Optional<Ljava/lang/String;>;
            8    9     7        line  Ljava/lang/String;
           16   17     3           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     9      10  any
           4    12      12  any
           3    15      15  Class java.io.UncheckedIOException
           3    15      15  Class java.io.IOException
    MethodParameters:
          Name  Flags
      javaHome  

  private static void checkProcessResult(org.eclipse.debug.core.model.IProcess);
    descriptor: (Lorg/eclipse/debug/core/model/IProcess;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.eclipse.debug.core.model.IProcess process
         0: .line 903
            aload 0 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.isTerminated:()Z
            istore 1 /* isTerminated */
        start local 1 // boolean isTerminated
         1: .line 904
            iload 1 /* isTerminated */
            ifne 8
         2: .line 905
            aload 0 /* process */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.getOutput:(Lorg/eclipse/debug/core/model/IProcess;)Ljava/lang/String;
            astore 2 /* output */
        start local 2 // java.lang.String output
         3: .line 906
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* process */
            getstatic org.eclipse.debug.core.model.IProcess.ATTR_CMDLINE:Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.model.IProcess.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* output */
            aastore
            astore 3 /* errorInfo */
        start local 3 // java.lang.Object[] errorInfo
         4: .line 907
            ldc "Process not finished.\n Command line arguments: {0}\nOutput: {1}"
            aload 3 /* errorInfo */
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* errorMessage */
        start local 4 // java.lang.String errorMessage
         5: .line 908
            new java.lang.IllegalStateException
            dup
            aload 4 /* errorMessage */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            astore 5 /* exception */
        start local 5 // java.lang.IllegalStateException exception
         6: .line 909
            aload 5 /* exception */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.IllegalStateException exception
        end local 4 // java.lang.String errorMessage
        end local 3 // java.lang.Object[] errorInfo
        end local 2 // java.lang.String output
         7: .line 910
            goto 15
         8: .line 911
      StackMap locals: int
      StackMap stack:
            aload 0 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.getExitValue:()I
            istore 2 /* exitCode */
        start local 2 // int exitCode
         9: .line 912
            iload 2 /* exitCode */
            ifeq 15
        10: .line 913
            aload 0 /* process */
            invokestatic org.eclipse.jdt.internal.launching.StandardVMType.getOutput:(Lorg/eclipse/debug/core/model/IProcess;)Ljava/lang/String;
            astore 3 /* output */
        start local 3 // java.lang.String output
        11: .line 914
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* exitCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* process */
            getstatic org.eclipse.debug.core.model.IProcess.ATTR_CMDLINE:Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.model.IProcess.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 3 /* output */
            aastore
            astore 4 /* errorInfo */
        start local 4 // java.lang.Object[] errorInfo
        12: .line 915
            ldc "Process returned with error code \"{0}\".\nCommand line arguments: {1}\nOutput: {2}"
            aload 4 /* errorInfo */
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* errorMessage */
        start local 5 // java.lang.String errorMessage
        13: .line 916
            new java.lang.IllegalStateException
            dup
            aload 5 /* errorMessage */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            astore 6 /* exception */
        start local 6 // java.lang.IllegalStateException exception
        14: .line 917
            aload 6 /* exception */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 6 // java.lang.IllegalStateException exception
        end local 5 // java.lang.String errorMessage
        end local 4 // java.lang.Object[] errorInfo
        end local 3 // java.lang.String output
        end local 2 // int exitCode
        15: .line 920
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isTerminated
        end local 0 // org.eclipse.debug.core.model.IProcess process
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0       process  Lorg/eclipse/debug/core/model/IProcess;
            1   16     1  isTerminated  Z
            3    7     2        output  Ljava/lang/String;
            4    7     3     errorInfo  [Ljava/lang/Object;
            5    7     4  errorMessage  Ljava/lang/String;
            6    7     5     exception  Ljava/lang/IllegalStateException;
            9   15     2      exitCode  I
           11   15     3        output  Ljava/lang/String;
           12   15     4     errorInfo  [Ljava/lang/Object;
           13   15     5  errorMessage  Ljava/lang/String;
           14   15     6     exception  Ljava/lang/IllegalStateException;
    Exceptions:
      throws org.eclipse.debug.core.DebugException
    MethodParameters:
         Name  Flags
      process  

  private static java.lang.String getOutput(org.eclipse.debug.core.model.IProcess);
    descriptor: (Lorg/eclipse/debug/core/model/IProcess;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.debug.core.model.IProcess process
         0: .line 923
            aload 0 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.getStreamsProxy:()Lorg/eclipse/debug/core/model/IStreamsProxy;
            astore 1 /* streamsProxy */
        start local 1 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
         1: .line 924
            ldc "IProcess.getStreamsProxy() returned null"
            astore 2 /* output */
        start local 2 // java.lang.String output
         2: .line 925
            aload 1 /* streamsProxy */
            ifnull 8
         3: .line 926
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "Standard output:"
            aastore
            dup
            iconst_1
         4: .line 927
            aload 1 /* 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;
            aastore
            dup
            iconst_2
            ldc "Standard error:"
            aastore
            dup
            iconst_3
         5: .line 928
            aload 1 /* 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;
            aastore
         6: .line 926
            astore 3 /* lines */
        start local 3 // java.lang.String[] lines
         7: .line 929
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            aload 3 /* lines */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            astore 2 /* output */
        end local 3 // java.lang.String[] lines
         8: .line 931
      StackMap locals: org.eclipse.debug.core.model.IStreamsProxy java.lang.String
      StackMap stack:
            aload 2 /* output */
            areturn
        end local 2 // java.lang.String output
        end local 1 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
        end local 0 // org.eclipse.debug.core.model.IProcess process
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0       process  Lorg/eclipse/debug/core/model/IProcess;
            1    9     1  streamsProxy  Lorg/eclipse/debug/core/model/IStreamsProxy;
            2    9     2        output  Ljava/lang/String;
            7    8     3         lines  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      process  

  private static boolean lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 884
            aload 0 /* s */
            ldc "JAVA_VERSION"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
}
SourceFile: "StandardVMType.java"
NestMembers:
  org.eclipse.jdt.internal.launching.StandardVMType$1  org.eclipse.jdt.internal.launching.StandardVMType$2
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.eclipse.jdt.internal.launching.StandardVMType$1
  org.eclipse.jdt.internal.launching.StandardVMType$2