public final class org.eclipse.jdt.launching.JavaRuntime
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.launching.JavaRuntime
  super_class: java.lang.Object
{
  public static final java.lang.String JRELIB_VARIABLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "JRE_LIB"

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

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

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

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

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

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

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

  public static final java.lang.String JRE_CONTAINER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String JRE_CONTAINER_MARKER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String JRE_COMPILER_COMPLIANCE_MARKER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int ERR_UNABLE_TO_RESOLVE_JRE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 160

  public static final java.lang.String PREF_CONNECT_TIMEOUT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String PREF_VM_XML;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String ID_PLUGIN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.launching"

  public static final int DEF_CONNECT_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20000

  public static final java.lang.String ATTR_CMDLINE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.lang.String PREF_ONLY_INCLUDE_EXPORTED_CLASSPATH_ENTRIES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.launching.only_include_exported_classpath_entries"

  public static final java.lang.String CLASSPATH_ATTR_LIBRARY_PATH_ENTRY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static java.lang.Object fgVMLock;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean fgInitializingVMs;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.HashSet<java.lang.Object> fgVMTypes;
    descriptor: Ljava/util/HashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashSet<Ljava/lang/Object;>;

  private static java.lang.String fgDefaultVMId;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String fgDefaultVMConnectorId;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

  private static org.eclipse.jdt.launching.IRuntimeClasspathProvider fgDefaultClasspathProvider;
    descriptor: Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.eclipse.jdt.launching.IRuntimeClasspathProvider fgDefaultSourcePathProvider;
    descriptor: Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.eclipse.core.runtime.ListenerList<org.eclipse.jdt.launching.IVMInstallChangedListener> fgVMListeners;
    descriptor: Lorg/eclipse/core/runtime/ListenerList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Lorg/eclipse/core/runtime/ListenerList<Lorg/eclipse/jdt/launching/IVMInstallChangedListener;>;

  private static java.lang.ThreadLocal<java.util.List<org.eclipse.jdt.core.IJavaProject>> fgProjects;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Ljava/util/List<Lorg/eclipse/jdt/core/IJavaProject;>;>;

  private static java.lang.ThreadLocal<java.lang.Integer> fgEntryCount;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;

  private static java.util.Set<java.lang.String> fgContributedVMs;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 205
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".JRE_CONTAINER"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.JRE_CONTAINER:Ljava/lang/String;
         1: .line 212
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".jreContainerMarker"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.JRE_CONTAINER_MARKER:Ljava/lang/String;
         2: .line 219
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".jreCompilerComplianceMarker"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.JRE_COMPILER_COMPLIANCE_MARKER:Ljava/lang/String;
         3: .line 241
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PREF_CONNECT_TIMEOUT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.PREF_CONNECT_TIMEOUT:Ljava/lang/String;
         4: .line 248
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PREF_VM_XML"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.PREF_VM_XML:Ljava/lang/String;
         5: .line 257
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE:Ljava/lang/String;
         6: .line 268
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE:Ljava/lang/String;
         7: .line 297
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".launcher.cmdLine"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.ATTR_CMDLINE:Ljava/lang/String;
         8: .line 326
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY:Ljava/lang/String;
         9: .line 329
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVMLock:Ljava/lang/Object;
        10: .line 330
            iconst_0
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgInitializingVMs:Z
        11: .line 332
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
        12: .line 333
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
        13: .line 334
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMConnectorId:Ljava/lang/String;
        14: .line 340
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVariableResolvers:Ljava/util/Map;
        15: .line 341
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgContainerResolvers:Ljava/util/Map;
        16: .line 342
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgRuntimeClasspathEntryResolvers:Ljava/util/Map;
        17: .line 347
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgPathProviders:Ljava/util/Map;
        18: .line 352
            new org.eclipse.jdt.launching.StandardClasspathProvider
            dup
            invokespecial org.eclipse.jdt.launching.StandardClasspathProvider.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultClasspathProvider:Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
        19: .line 353
            new org.eclipse.jdt.launching.StandardSourcePathProvider
            dup
            invokespecial org.eclipse.jdt.launching.StandardSourcePathProvider.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultSourcePathProvider:Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
        20: .line 358
            new org.eclipse.core.runtime.ListenerList
            dup
            invokespecial org.eclipse.core.runtime.ListenerList.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
        21: .line 365
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgProjects:Ljava/lang/ThreadLocal;
        22: .line 366
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
        23: .line 371
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgContributedVMs:Ljava/util/Set;
        24: .line 3427
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.JavaRuntime this
         0: .line 377
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 378
            return
        end local 0 // org.eclipse.jdt.launching.JavaRuntime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/launching/JavaRuntime;

  private static void initializeVMTypeExtensions();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=0
         0: .line 384
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.launching"
            ldc "vmInstallTypes"
            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
         1: .line 385
            aload 0 /* extensionPoint */
            ifnull 16
         2: .line 386
            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 387
            new org.eclipse.core.runtime.MultiStatus
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            iconst_0
            ldc "Exceptions occurred"
            aconst_null
            invokespecial org.eclipse.core.runtime.MultiStatus.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* status */
        start local 2 // org.eclipse.core.runtime.MultiStatus status
         4: .line 388
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
         5: .line 389
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 12
         7: .line 391
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] org.eclipse.core.runtime.MultiStatus int
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
            aload 1 /* configs */
            iload 3 /* i */
            aaload
            ldc "class"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.createExecutableExtension:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 392
            goto 11
         9: .line 393
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 4 /* e */
        start local 4 // org.eclipse.core.runtime.CoreException e
        10: aload 2 /* status */
            aload 4 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.getStatus:()Lorg/eclipse/core/runtime/IStatus;
            invokevirtual org.eclipse.core.runtime.MultiStatus.add:(Lorg/eclipse/core/runtime/IStatus;)V
        end local 4 // org.eclipse.core.runtime.CoreException e
        11: .line 389
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 1 /* configs */
            arraylength
            if_icmplt 7
        end local 3 // int i
        13: .line 395
            aload 2 /* status */
            invokevirtual org.eclipse.core.runtime.MultiStatus.isOK:()Z
            ifne 17
        14: .line 397
            aload 2 /* status */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
        end local 2 // org.eclipse.core.runtime.MultiStatus status
        end local 1 // org.eclipse.core.runtime.IConfigurationElement[] configs
        15: .line 399
            goto 17
        16: .line 401
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            ldc "VM Install extension point not found"
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
        17: .line 403
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.runtime.IExtensionPoint extensionPoint
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1   18     0  extensionPoint  Lorg/eclipse/core/runtime/IExtensionPoint;
            3   15     1         configs  [Lorg/eclipse/core/runtime/IConfigurationElement;
            4   15     2          status  Lorg/eclipse/core/runtime/MultiStatus;
            6   13     3               i  I
           10   11     4               e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           7     8       9  Class org.eclipse.core.runtime.CoreException

  public static org.eclipse.jdt.launching.IVMInstall getVMInstall(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 417
            aconst_null
            astore 1 /* vm */
        start local 1 // org.eclipse.jdt.launching.IVMInstall vm
         1: .line 418
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         2: .line 419
            aconst_null
            astore 3 /* resolver */
        start local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
         3: .line 420
            aconst_null
            astore 4 /* entry */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry entry
         4: .line 421
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 18
         6: .line 422
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.launching.IVMInstall org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver org.eclipse.jdt.core.IClasspathEntry int
      StackMap stack:
            aload 2 /* classpath */
            iload 5 /* i */
            aaload
            astore 4 /* entry */
         7: .line 423
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 4 - 5
                    4: 8
                    5: 12
              default: 15
          }
         8: .line 425
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 3 /* resolver */
         9: .line 426
            aload 3 /* resolver */
            ifnull 15
        10: .line 427
            aload 3 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveVMInstall:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 1 /* vm */
        11: .line 429
            goto 15
        12: .line 431
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 3 /* resolver */
        13: .line 432
            aload 3 /* resolver */
            ifnull 15
        14: .line 433
            aload 3 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveVMInstall:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 1 /* vm */
        15: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* vm */
            ifnull 17
        16: .line 438
            aload 1 /* vm */
            areturn
        17: .line 421
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 2 /* classpath */
            arraylength
            if_icmplt 6
        end local 5 // int i
        19: .line 441
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 1 // org.eclipse.jdt.launching.IVMInstall vm
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0    project  Lorg/eclipse/jdt/core/IJavaProject;
            1   20     1         vm  Lorg/eclipse/jdt/launching/IVMInstall;
            2   20     2  classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            3   20     3   resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
            4   20     4      entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            5   19     5          i  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IVMInstallType getVMInstallType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String id
         0: .line 451
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes:()[Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 1 /* vmTypes */
        start local 1 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
         1: .line 452
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 453
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int
      StackMap stack:
            aload 1 /* vmTypes */
            iload 2 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getId:()Ljava/lang/String;
            aload 0 /* id */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 454
            aload 1 /* vmTypes */
            iload 2 /* i */
            aaload
            areturn
         5: .line 452
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* vmTypes */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 457
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0       id  Ljava/lang/String;
            1    8     1  vmTypes  [Lorg/eclipse/jdt/launching/IVMInstallType;
            2    7     2        i  I
    MethodParameters:
      Name  Flags
      id    

  public static void setDefaultVMInstall(org.eclipse.jdt.launching.IVMInstall, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 470
            aload 0 /* vm */
            aload 1 /* monitor */
            iconst_1
            invokestatic org.eclipse.jdt.launching.JavaRuntime.setDefaultVMInstall:(Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/core/runtime/IProgressMonitor;Z)V
         1: .line 471
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0       vm  Lorg/eclipse/jdt/launching/IVMInstall;
            0    2     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      vm       
      monitor  

  public static void setDefaultVMInstall(org.eclipse.jdt.launching.IVMInstall, org.eclipse.core.runtime.IProgressMonitor, boolean);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/core/runtime/IProgressMonitor;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        start local 2 // boolean savePreference
         0: .line 486
            aconst_null
            astore 3 /* previous */
        start local 3 // org.eclipse.jdt.launching.IVMInstall previous
         1: .line 487
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            ifnull 3
         2: .line 488
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMFromCompositeId:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 3 /* previous */
         3: .line 490
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            aload 0 /* vm */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getCompositeIdFromVM:(Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
         4: .line 491
            iload 2 /* savePreference */
            ifeq 6
         5: .line 492
            invokestatic org.eclipse.jdt.launching.JavaRuntime.saveVMConfiguration:()V
         6: .line 494
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* current */
        start local 4 // org.eclipse.jdt.launching.IVMInstall current
         7: .line 495
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            ifnull 9
         8: .line 496
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMFromCompositeId:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 4 /* current */
         9: .line 498
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            aload 3 /* previous */
            aload 4 /* current */
            if_acmpeq 11
        10: .line 499
            aload 3 /* previous */
            aload 4 /* current */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.notifyDefaultVMChanged:(Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/jdt/launching/IVMInstall;)V
        11: .line 501
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.launching.IVMInstall current
        end local 3 // org.eclipse.jdt.launching.IVMInstall previous
        end local 2 // boolean savePreference
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0              vm  Lorg/eclipse/jdt/launching/IVMInstall;
            0   12     1         monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            0   12     2  savePreference  Z
            1   12     3        previous  Lorg/eclipse/jdt/launching/IVMInstall;
            7   12     4         current  Lorg/eclipse/jdt/launching/IVMInstall;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                Name  Flags
      vm              
      monitor         
      savePreference  

  public static void setDefaultVMConnector(org.eclipse.jdt.launching.IVMConnector, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/IVMConnector;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.IVMConnector connector
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 513
            aload 0 /* connector */
            invokeinterface org.eclipse.jdt.launching.IVMConnector.getIdentifier:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMConnectorId:Ljava/lang/String;
         1: .line 514
            invokestatic org.eclipse.jdt.launching.JavaRuntime.saveVMConfiguration:()V
         2: .line 515
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.launching.IVMConnector connector
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  connector  Lorg/eclipse/jdt/launching/IVMConnector;
            0    3     1    monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      connector  
      monitor    

  public static org.eclipse.jdt.launching.IVMInstall getDefaultVMInstall();
    descriptor: ()Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 524
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMId:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMFromCompositeId:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 0 /* install */
        start local 0 // org.eclipse.jdt.launching.IVMInstall install
         1: .line 525
            aload 0 /* install */
            ifnull 6
         2: .line 526
            aload 0 /* install */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getInstallLocation:()Ljava/io/File;
            astore 1 /* location */
        start local 1 // java.io.File location
         3: .line 527
            aload 1 /* location */
            ifnull 6
         4: .line 528
            aload 1 /* location */
            invokevirtual java.io.File.exists:()Z
            ifeq 6
         5: .line 529
            aload 0 /* install */
            areturn
        end local 1 // java.io.File location
         6: .line 534
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            aload 0 /* install */
            ifnull 8
         7: .line 535
            aload 0 /* install */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMInstallType:()Lorg/eclipse/jdt/launching/IVMInstallType;
            aload 0 /* install */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getId:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.disposeVMInstall:(Ljava/lang/String;)V
         8: .line 537
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         9: .line 538
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
        10: .line 539
            aconst_null
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
        11: .line 540
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeVMs:()V
        12: .line 537
            aload 1
            monitorexit
        13: goto 16
      StackMap locals: org.eclipse.jdt.launching.IVMInstall java.lang.Object
      StackMap stack: java.lang.Throwable
        14: aload 1
            monitorexit
        15: athrow
        16: .line 542
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMId:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMFromCompositeId:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 0 // org.eclipse.jdt.launching.IVMInstall install
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1   17     0   install  Lorg/eclipse/jdt/launching/IVMInstall;
            3    6     1  location  Ljava/io/File;
      Exception table:
        from    to  target  type
           9    13      14  any
          14    15      14  any

  public static org.eclipse.jdt.launching.IVMConnector getDefaultVMConnector();
    descriptor: ()Lorg/eclipse/jdt/launching/IVMConnector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 551
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMConnectorId:()Ljava/lang/String;
            astore 0 /* id */
        start local 0 // java.lang.String id
         1: .line 552
            aconst_null
            astore 1 /* connector */
        start local 1 // org.eclipse.jdt.launching.IVMConnector connector
         2: .line 553
            aload 0 /* id */
            ifnull 4
         3: .line 554
            aload 0 /* id */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMConnector:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMConnector;
            astore 1 /* connector */
         4: .line 556
      StackMap locals: java.lang.String org.eclipse.jdt.launching.IVMConnector
      StackMap stack:
            aload 1 /* connector */
            ifnonnull 6
         5: .line 557
            new org.eclipse.jdt.internal.launching.SocketAttachConnector
            dup
            invokespecial org.eclipse.jdt.internal.launching.SocketAttachConnector.<init>:()V
            astore 1 /* connector */
         6: .line 559
      StackMap locals:
      StackMap stack:
            aload 1 /* connector */
            areturn
        end local 1 // org.eclipse.jdt.launching.IVMConnector connector
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    7     0         id  Ljava/lang/String;
            2    7     1  connector  Lorg/eclipse/jdt/launching/IVMConnector;

  public static org.eclipse.jdt.launching.IVMInstallType[] getVMInstallTypes();
    descriptor: ()[Lorg/eclipse/jdt/launching/IVMInstallType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 570
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeVMs:()V
         1: .line 571
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            anewarray org.eclipse.jdt.launching.IVMInstallType
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstallType[]
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getDefaultVMId();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 579
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeVMs:()V
         1: .line 580
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getDefaultVMConnectorId();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 588
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeVMs:()V
         1: .line 589
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMConnectorId:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String getCompositeIdFromVM(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 601
            aload 0 /* vm */
            ifnonnull 2
         1: .line 602
            aconst_null
            areturn
         2: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMInstallType:()Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 1 /* vmType */
        start local 1 // org.eclipse.jdt.launching.IVMInstallType vmType
         3: .line 605
            aload 1 /* vmType */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getId:()Ljava/lang/String;
            astore 2 /* typeID */
        start local 2 // java.lang.String typeID
         4: .line 606
            new org.eclipse.jdt.internal.launching.CompositeId
            dup
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* typeID */
            aastore
            dup
            iconst_1
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getId:()Ljava/lang/String;
            aastore
            invokespecial org.eclipse.jdt.internal.launching.CompositeId.<init>:([Ljava/lang/String;)V
            astore 3 /* id */
        start local 3 // org.eclipse.jdt.internal.launching.CompositeId id
         5: .line 607
            aload 3 /* id */
            invokevirtual org.eclipse.jdt.internal.launching.CompositeId.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.internal.launching.CompositeId id
        end local 2 // java.lang.String typeID
        end local 1 // org.eclipse.jdt.launching.IVMInstallType vmType
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      vm  Lorg/eclipse/jdt/launching/IVMInstall;
            3    6     1  vmType  Lorg/eclipse/jdt/launching/IVMInstallType;
            4    6     2  typeID  Ljava/lang/String;
            5    6     3      id  Lorg/eclipse/jdt/internal/launching/CompositeId;
    MethodParameters:
      Name  Flags
      vm    

  public static org.eclipse.jdt.launching.IVMInstall getVMFromCompositeId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String idString
         0: .line 620
            aload 0 /* idString */
            ifnull 1
            aload 0 /* idString */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 621
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* idString */
            invokestatic org.eclipse.jdt.internal.launching.CompositeId.fromString:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/launching/CompositeId;
            astore 1 /* id */
        start local 1 // org.eclipse.jdt.internal.launching.CompositeId id
         3: .line 624
            aload 1 /* id */
            invokevirtual org.eclipse.jdt.internal.launching.CompositeId.getPartCount:()I
            iconst_2
            if_icmpne 7
         4: .line 625
            aload 1 /* id */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.launching.CompositeId.get:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 2 /* vmType */
        start local 2 // org.eclipse.jdt.launching.IVMInstallType vmType
         5: .line 626
            aload 2 /* vmType */
            ifnull 7
         6: .line 627
            aload 2 /* vmType */
            aload 1 /* id */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.launching.CompositeId.get:(I)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.findVMInstall:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 2 // org.eclipse.jdt.launching.IVMInstallType vmType
         7: .line 630
      StackMap locals: org.eclipse.jdt.internal.launching.CompositeId
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.launching.CompositeId id
        end local 0 // java.lang.String idString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  idString  Ljava/lang/String;
            3    8     1        id  Lorg/eclipse/jdt/internal/launching/CompositeId;
            5    7     2    vmType  Lorg/eclipse/jdt/launching/IVMInstallType;
    MethodParameters:
          Name  Flags
      idString  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newStringVariableClasspathEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String expression
         0: .line 643
            new org.eclipse.jdt.internal.launching.VariableClasspathEntry
            dup
            aload 0 /* expression */
            invokespecial org.eclipse.jdt.internal.launching.VariableClasspathEntry.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      expression  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newDefaultProjectClasspathEntry(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 655
            new org.eclipse.jdt.internal.launching.DefaultProjectClasspathEntry
            dup
            aload 0 /* project */
            invokespecial org.eclipse.jdt.internal.launching.DefaultProjectClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IJavaProject;)V
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newProjectRuntimeClasspathEntry(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 666
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.core.JavaCore.newProjectEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newProjectRuntimeClasspathEntry(org.eclipse.jdt.core.IJavaProject, int);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // int classpathProperty
         0: .line 681
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.core.JavaCore.newProjectEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            iload 1 /* classpathProperty */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0            project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1  classpathProperty  I
    MethodParameters:
                   Name  Flags
      project            
      classpathProperty  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 693
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  resource  Lorg/eclipse/core/resources/IResource;
    MethodParameters:
          Name  Flags
      resource  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(org.eclipse.core.runtime.IPath, int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // int classpathProperty
         0: .line 708
            aload 0 /* path */
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            iload 1 /* classpathProperty */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               path  Lorg/eclipse/core/runtime/IPath;
            0    1     1  classpathProperty  I
    MethodParameters:
                   Name  Flags
      path               
      classpathProperty  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(org.eclipse.core.runtime.IPath, int, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/runtime/IPath;ILorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // int classpathProperty
        start local 2 // org.eclipse.jdt.core.IJavaProject javaProject
         0: .line 725
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 0 /* path */
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            iload 1 /* classpathProperty */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;I)V
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntry entry
         1: .line 726
            aload 3 /* entry */
            aload 2 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.setJavaProject:(Lorg/eclipse/jdt/core/IJavaProject;)V
         2: .line 727
            aload 3 /* entry */
            areturn
        end local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntry entry
        end local 2 // org.eclipse.jdt.core.IJavaProject javaProject
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               path  Lorg/eclipse/core/runtime/IPath;
            0    3     1  classpathProperty  I
            0    3     2        javaProject  Lorg/eclipse/jdt/core/IJavaProject;
            1    3     3              entry  Lorg/eclipse/jdt/internal/launching/RuntimeClasspathEntry;
    MethodParameters:
                   Name  Flags
      path               
      classpathProperty  
      javaProject        

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 739
            aload 0 /* path */
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IAccessRule[], org.eclipse.jdt.core.IClasspathAttribute[], boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // org.eclipse.core.runtime.IPath sourceAttachmentPath
        start local 2 // org.eclipse.core.runtime.IPath sourceAttachmentRootPath
        start local 3 // org.eclipse.jdt.core.IAccessRule[] accessRules
        start local 4 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        start local 5 // boolean isExported
         0: .line 764
            aload 0 /* path */
            aload 1 /* sourceAttachmentPath */
            aload 2 /* sourceAttachmentRootPath */
            aload 3 /* accessRules */
            aload 4 /* extraAttributes */
            iload 5 /* isExported */
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 5 // boolean isExported
        end local 4 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 3 // org.eclipse.jdt.core.IAccessRule[] accessRules
        end local 2 // org.eclipse.core.runtime.IPath sourceAttachmentRootPath
        end local 1 // org.eclipse.core.runtime.IPath sourceAttachmentPath
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0                      path  Lorg/eclipse/core/runtime/IPath;
            0    1     1      sourceAttachmentPath  Lorg/eclipse/core/runtime/IPath;
            0    1     2  sourceAttachmentRootPath  Lorg/eclipse/core/runtime/IPath;
            0    1     3               accessRules  [Lorg/eclipse/jdt/core/IAccessRule;
            0    1     4           extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            0    1     5                isExported  Z
    MethodParameters:
                          Name  Flags
      path                      
      sourceAttachmentPath      
      sourceAttachmentRootPath  
      accessRules               
      extraAttributes           
      isExported                

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newVariableRuntimeClasspathEntry(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 777
            aload 0 /* path */
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.core.JavaCore.newVariableEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(org.eclipse.core.runtime.IPath, int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // int classpathProperty
         0: .line 793
            aload 0 /* path */
            iload 1 /* classpathProperty */
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;ILorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               path  Lorg/eclipse/core/runtime/IPath;
            0    1     1  classpathProperty  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                   Name  Flags
      path               
      classpathProperty  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(org.eclipse.core.runtime.IPath, int, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/runtime/IPath;ILorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // int classpathProperty
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 811
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 0 /* path */
            invokestatic org.eclipse.jdt.core.JavaCore.newContainerEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            iload 1 /* classpathProperty */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;I)V
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntry entry
         1: .line 812
            aload 3 /* entry */
            aload 2 /* project */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.setJavaProject:(Lorg/eclipse/jdt/core/IJavaProject;)V
         2: .line 813
            aload 3 /* entry */
            areturn
        end local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntry entry
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               path  Lorg/eclipse/core/runtime/IPath;
            0    3     1  classpathProperty  I
            0    3     2            project  Lorg/eclipse/jdt/core/IJavaProject;
            1    3     3              entry  Lorg/eclipse/jdt/internal/launching/RuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                   Name  Flags
      path               
      classpathProperty  
      project            

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry newRuntimeClasspathEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // java.lang.String memento
         0: .line 826
            aconst_null
            astore 1 /* root */
        start local 1 // org.w3c.dom.Element root
         1: .line 827
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getParser:()Ljavax/xml/parsers/DocumentBuilder;
            astore 2 /* parser */
        start local 2 // javax.xml.parsers.DocumentBuilder parser
         2: .line 828
            new java.io.StringReader
            dup
            aload 0 /* memento */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 3 /* reader */
        start local 3 // java.io.StringReader reader
         3: .line 829
            new org.xml.sax.InputSource
            dup
            aload 3 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            astore 4 /* source */
        start local 4 // org.xml.sax.InputSource source
         4: .line 830
            aload 2 /* parser */
            aload 4 /* source */
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            astore 1 /* root */
         5: .line 832
            aload 1 /* root */
            ldc "id"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* id */
        start local 5 // java.lang.String id
         6: .line 833
            aload 5 /* id */
            ifnull 7
            aload 5 /* id */
            invokevirtual java.lang.String.length:()I
            ifne 9
         7: .line 835
      StackMap locals: java.lang.String org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.lang.String
      StackMap stack:
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 1 /* root */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/w3c/dom/Element;)V
         8: areturn
         9: .line 838
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            aload 5 /* id */
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.newRuntimeClasspathEntry:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry2;
            astore 6 /* entry */
        start local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry2 entry
        10: .line 839
            aload 1 /* root */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 7 /* list */
        start local 7 // org.w3c.dom.NodeList list
        11: .line 840
            aconst_null
            astore 8 /* node */
        start local 8 // org.w3c.dom.Node node
        12: .line 841
            aconst_null
            astore 9 /* element */
        start local 9 // org.w3c.dom.Element element
        13: .line 842
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        14: goto 21
        15: .line 843
      StackMap locals: java.lang.String org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.lang.String org.eclipse.jdt.launching.IRuntimeClasspathEntry2 org.w3c.dom.NodeList org.w3c.dom.Node org.w3c.dom.Element int
      StackMap stack:
            aload 7 /* list */
            iload 10 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 8 /* node */
        16: .line 844
            aload 8 /* node */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            iconst_1
            if_icmpne 20
        17: .line 845
            aload 8 /* node */
            checkcast org.w3c.dom.Element
            astore 9 /* element */
        18: .line 846
            ldc "memento"
            aload 9 /* element */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 847
            aload 6 /* entry */
            aload 9 /* element */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry2.initializeFrom:(Lorg/w3c/dom/Element;)V
        20: .line 842
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 10 /* i */
            aload 7 /* list */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            if_icmplt 15
        end local 10 // int i
        22: .line 851
            aload 6 /* entry */
        23: areturn
        end local 9 // org.w3c.dom.Element element
        end local 8 // org.w3c.dom.Node node
        end local 7 // org.w3c.dom.NodeList list
        end local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry2 entry
        end local 5 // java.lang.String id
        end local 4 // org.xml.sax.InputSource source
        end local 3 // java.io.StringReader reader
        end local 2 // javax.xml.parsers.DocumentBuilder parser
        end local 1 // org.w3c.dom.Element root
        24: .line 852
      StackMap locals: java.lang.String
      StackMap stack: org.xml.sax.SAXException
            astore 1 /* e */
        start local 1 // org.xml.sax.SAXException e
        25: .line 853
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_32:Ljava/lang/String;
            aload 1 /* e */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // org.xml.sax.SAXException e
        26: goto 29
        27: .line 854
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        28: .line 855
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_32:Ljava/lang/String;
            aload 1 /* e */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException e
        29: .line 857
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String memento
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0  memento  Ljava/lang/String;
            1   24     1     root  Lorg/w3c/dom/Element;
            2   24     2   parser  Ljavax/xml/parsers/DocumentBuilder;
            3   24     3   reader  Ljava/io/StringReader;
            4   24     4   source  Lorg/xml/sax/InputSource;
            6   24     5       id  Ljava/lang/String;
           10   24     6    entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry2;
           11   24     7     list  Lorg/w3c/dom/NodeList;
           12   24     8     node  Lorg/w3c/dom/Node;
           13   24     9  element  Lorg/w3c/dom/Element;
           14   22    10        i  I
           25   26     1        e  Lorg/xml/sax/SAXException;
           28   29     1        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     8      24  Class org.xml.sax.SAXException
           9    23      24  Class org.xml.sax.SAXException
           0     8      27  Class java.io.IOException
           9    23      27  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      memento  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry newRuntimeClasspathEntry(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 870
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 0 /* entry */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;)V
            areturn
        end local 0 // org.eclipse.jdt.core.IClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  entry  Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
       Name  Flags
      entry  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry newRuntimeClasspathEntry(org.eclipse.jdt.core.IClasspathEntry, int);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.IClasspathEntry entry
        start local 1 // int classPathProperty
         0: .line 883
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 0 /* entry */
            iload 1 /* classPathProperty */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;I)V
            areturn
        end local 1 // int classPathProperty
        end local 0 // org.eclipse.jdt.core.IClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0              entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     1  classPathProperty  I
    MethodParameters:
                   Name  Flags
      entry              
      classPathProperty  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 898
            aload 0 /* project */
            iconst_0
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath:(Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean excludeTestCode
         0: .line 915
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* entries */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] entries
         1: .line 916
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* classpathEntries */
        start local 3 // java.util.List classpathEntries
         2: .line 917
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 20
         4: .line 918
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] java.util.List int
      StackMap stack:
            aload 2 /* entries */
            iload 4 /* i */
            aaload
            astore 5 /* entry */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 919
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 4 - 5
                    4: 14
                    5: 6
              default: 19
          }
         6: .line 921
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 6 /* container */
        start local 6 // org.eclipse.jdt.core.IClasspathContainer container
         7: .line 922
            aload 6 /* container */
            ifnull 19
         8: .line 923
            aload 6 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getKind:()I
            tableswitch { // 1 - 3
                    1: 9
                    2: 12
                    3: 10
              default: 13
          }
         9: .line 926
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            goto 19
        10: .line 928
      StackMap locals:
      StackMap stack:
            aload 3 /* classpathEntries */
            aload 6 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_1
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;ILorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 929
            goto 19
        12: .line 931
      StackMap locals:
      StackMap stack:
            aload 3 /* classpathEntries */
            aload 6 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_2
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;ILorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 935
      StackMap locals:
      StackMap stack:
            goto 19
        end local 6 // org.eclipse.jdt.core.IClasspathContainer container
        14: .line 937
      StackMap locals:
      StackMap stack:
            ldc "JRE_LIB"
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        15: .line 938
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newVariableRuntimeClasspathEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 7 /* jre */
        start local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry jre
        16: .line 939
            aload 7 /* jre */
            iconst_1
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.setClasspathProperty:(I)V
        17: .line 940
            aload 3 /* classpathEntries */
            aload 7 /* jre */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry jre
        18: .line 942
            goto 19
        end local 5 // org.eclipse.jdt.core.IClasspathEntry entry
        19: .line 917
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 2 /* entries */
            arraylength
            if_icmplt 4
        end local 4 // int i
        21: .line 947
            aload 3 /* classpathEntries */
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultProjectClasspathEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 948
            aload 3 /* classpathEntries */
            aload 3 /* classpathEntries */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
            areturn
        end local 3 // java.util.List classpathEntries
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 1 // boolean excludeTestCode
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   23     1   excludeTestCode  Z
            1   23     2           entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   23     3  classpathEntries  Ljava/util/List<Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;>;
            3   21     4                 i  I
            5   19     5             entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            7   14     6         container  Lorg/eclipse/jdt/core/IClasspathContainer;
           16   18     7               jre  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      project          
      excludeTestCode  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedRuntimeDependencies(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 963
            aload 0 /* project */
            iconst_0
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeDependencies:(Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedRuntimeDependencies(org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean excludeTestCode
         0: .line 980
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.core.JavaCore.newProjectEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* entry1 */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry entry1
         1: .line 981
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* classpathEntries */
        start local 3 // java.util.List classpathEntries
         2: .line 982
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* expanding */
        start local 4 // java.util.List expanding
         3: .line 983
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            ldc "org.eclipse.jdt.launching"
            ldc "org.eclipse.jdt.launching.only_include_exported_classpath_entries"
            iconst_0
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getBoolean:(Ljava/lang/String;Ljava/lang/String;Z[Lorg/eclipse/core/runtime/preferences/IScopeContext;)Z
            istore 5 /* exportedEntriesOnly */
        start local 5 // boolean exportedEntriesOnly
         4: .line 984
            aload 2 /* entry1 */
            aload 3 /* classpathEntries */
            aload 4 /* expanding */
            iload 1 /* excludeTestCode */
            iload 5 /* exportedEntriesOnly */
            aload 0 /* project */
            iconst_1
            invokestatic org.eclipse.jdt.internal.launching.DefaultProjectClasspathEntry.expandProject:(Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/List;Ljava/util/List;ZZLorg/eclipse/jdt/core/IJavaProject;Z)V
         5: .line 985
            aload 3 /* classpathEntries */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            astore 6 /* runtimeEntries */
        start local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] runtimeEntries
         6: .line 986
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 22
         8: .line 987
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathEntry java.util.List java.util.List int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
      StackMap stack:
            aload 3 /* classpathEntries */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 8 /* e */
        start local 8 // java.lang.Object e
         9: .line 988
            aload 8 /* e */
            instanceof org.eclipse.jdt.core.IClasspathEntry
            ifeq 20
        10: .line 989
            aload 8 /* e */
            checkcast org.eclipse.jdt.core.IClasspathEntry
            astore 9 /* cpe */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry cpe
        11: .line 990
            aload 9 /* cpe */
            aload 2 /* entry1 */
            if_acmpne 17
        12: .line 991
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularProject:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifeq 15
        13: .line 992
            aload 6 /* runtimeEntries */
            iload 7 /* i */
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 2 /* entry1 */
            iconst_4
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;I)V
            aastore
        14: .line 993
            goto 21
        15: .line 994
      StackMap locals: java.lang.Object org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 6 /* runtimeEntries */
            iload 7 /* i */
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 2 /* entry1 */
            iconst_5
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;I)V
            aastore
        16: .line 996
            goto 21
        17: .line 997
      StackMap locals:
      StackMap stack:
            aload 6 /* runtimeEntries */
            iload 7 /* i */
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 9 /* cpe */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;)V
            aastore
        18: .line 998
            aload 6 /* runtimeEntries */
            iload 7 /* i */
            aaload
            aload 9 /* cpe */
            invokestatic org.eclipse.jdt.internal.launching.DefaultProjectClasspathEntry.adjustClasspathProperty:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;)V
        end local 9 // org.eclipse.jdt.core.IClasspathEntry cpe
        19: .line 1000
            goto 21
        20: .line 1001
      StackMap locals:
      StackMap stack:
            aload 6 /* runtimeEntries */
            iload 7 /* i */
            aload 8 /* e */
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry
            aastore
        end local 8 // java.lang.Object e
        21: .line 986
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 7 /* i */
            aload 6 /* runtimeEntries */
            arraylength
            if_icmplt 8
        end local 7 // int i
        23: .line 1004
            new java.util.ArrayList
            dup
            aload 6 /* runtimeEntries */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* ordered */
        start local 7 // java.util.List ordered
        24: .line 1005
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        25: goto 30
        26: .line 1006
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathEntry java.util.List java.util.List int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int
      StackMap stack:
            aload 6 /* runtimeEntries */
            iload 8 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            iconst_1
            if_icmpeq 29
        27: .line 1007
            aload 6 /* runtimeEntries */
            iload 8 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            iconst_2
            if_icmpeq 29
        28: .line 1008
            aload 7 /* ordered */
            aload 6 /* runtimeEntries */
            iload 8 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1005
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 8 /* i */
            aload 6 /* runtimeEntries */
            arraylength
            if_icmplt 26
        end local 8 // int i
        31: .line 1011
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeModularJREEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 8 /* jreEntry */
        start local 8 // org.eclipse.jdt.launching.IRuntimeClasspathEntry jreEntry
        32: .line 1012
            aload 8 /* jreEntry */
            ifnull 34
        33: .line 1013
            aload 7 /* ordered */
            aload 8 /* jreEntry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        34: .line 1015
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathEntry java.util.List java.util.List int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List org.eclipse.jdt.launching.IRuntimeClasspathEntry
      StackMap stack:
            aload 7 /* ordered */
            aload 7 /* ordered */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
            areturn
        end local 8 // org.eclipse.jdt.launching.IRuntimeClasspathEntry jreEntry
        end local 7 // java.util.List ordered
        end local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] runtimeEntries
        end local 5 // boolean exportedEntriesOnly
        end local 4 // java.util.List expanding
        end local 3 // java.util.List classpathEntries
        end local 2 // org.eclipse.jdt.core.IClasspathEntry entry1
        end local 1 // boolean excludeTestCode
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   35     0              project  Lorg/eclipse/jdt/core/IJavaProject;
            0   35     1      excludeTestCode  Z
            1   35     2               entry1  Lorg/eclipse/jdt/core/IClasspathEntry;
            2   35     3     classpathEntries  Ljava/util/List<Ljava/lang/Object;>;
            3   35     4            expanding  Ljava/util/List<Lorg/eclipse/jdt/core/IClasspathEntry;>;
            4   35     5  exportedEntriesOnly  Z
            6   35     6       runtimeEntries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            7   23     7                    i  I
            9   21     8                    e  Ljava/lang/Object;
           11   19     9                  cpe  Lorg/eclipse/jdt/core/IClasspathEntry;
           24   35     7              ordered  Ljava/util/List<Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;>;
           25   31     8                    i  I
           32   35     8             jreEntry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      project          
      excludeTestCode  

  public static boolean isModule(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.core.IClasspathEntry entry
        start local 1 // org.eclipse.jdt.core.IJavaProject proj
         0: .line 1027
            aload 0 /* entry */
            ifnonnull 2
         1: .line 1028
            iconst_0
            ireturn
         2: .line 1030
      StackMap locals:
      StackMap stack:
            aload 1 /* proj */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularProject:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifne 4
         3: .line 1031
            iconst_0
            ireturn
         4: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IJavaProject top int int org.eclipse.jdt.core.IClasspathAttribute[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* classpathAttribute */
        start local 2 // org.eclipse.jdt.core.IClasspathAttribute classpathAttribute
         6: .line 1035
            aload 2 /* classpathAttribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getName:()Ljava/lang/String;
            ldc "module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            ldc "true"
            aload 2 /* classpathAttribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1036
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.core.IClasspathAttribute classpathAttribute
         8: .line 1034
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 1039
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.IJavaProject proj
        end local 0 // org.eclipse.jdt.core.IClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0               entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   11     1                proj  Lorg/eclipse/jdt/core/IJavaProject;
            6    8     2  classpathAttribute  Lorg/eclipse/jdt/core/IClasspathAttribute;
    MethodParameters:
       Name  Flags
      entry  
      proj   

  public static boolean isModularConfiguration(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1054
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeVMInstall:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 1 /* vm */
        start local 1 // org.eclipse.jdt.launching.IVMInstall vm
         1: .line 1055
            aload 1 /* vm */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularJava:(Lorg/eclipse/jdt/launching/IVMInstall;)Z
         2: ireturn
        end local 1 // org.eclipse.jdt.launching.IVMInstall vm
         3: .line 1057
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 1 /* e */
        start local 1 // org.eclipse.core.runtime.CoreException e
         4: .line 1058
            aload 1 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.printStackTrace:()V
        end local 1 // org.eclipse.core.runtime.CoreException e
         5: .line 1060
            iconst_0
            ireturn
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1    3     1             vm  Lorg/eclipse/jdt/launching/IVMInstall;
            4    5     1              e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static boolean isModularJava(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 1073
            aload 0 /* vm */
            ldc "1.8"
            invokestatic org.eclipse.jdt.launching.JavaRuntime.compareJavaVersions:(Lorg/eclipse/jdt/launching/IVMInstall;Ljava/lang/String;)I
            ifle 2
         1: .line 1074
            iconst_1
            ireturn
         2: .line 1076
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    vm  Lorg/eclipse/jdt/launching/IVMInstall;
    MethodParameters:
      Name  Flags
      vm    

  public static int compareJavaVersions(org.eclipse.jdt.launching.IVMInstall, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
        start local 1 // java.lang.String ver
         0: .line 1092
            aload 0 /* vm */
            instanceof org.eclipse.jdt.launching.AbstractVMInstall
            ifeq 8
         1: .line 1093
            aload 0 /* vm */
            checkcast org.eclipse.jdt.launching.AbstractVMInstall
            astore 2 /* install */
        start local 2 // org.eclipse.jdt.launching.AbstractVMInstall install
         2: .line 1094
            aload 2 /* install */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstall.getJavaVersion:()Ljava/lang/String;
            astore 3 /* vmver */
        start local 3 // java.lang.String vmver
         3: .line 1095
            aload 3 /* vmver */
            ifnonnull 5
         4: .line 1096
            iconst_m1
            ireturn
         5: .line 1099
      StackMap locals: org.eclipse.jdt.launching.AbstractVMInstall java.lang.String
      StackMap stack:
            aload 3 /* vmver */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 7
         6: .line 1100
            aload 3 /* vmver */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* vmver */
         7: .line 1102
      StackMap locals:
      StackMap stack:
            aload 3 /* vmver */
            aload 1 /* ver */
            invokestatic org.eclipse.jdt.core.JavaCore.compareJavaVersions:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 3 // java.lang.String vmver
        end local 2 // org.eclipse.jdt.launching.AbstractVMInstall install
         8: .line 1104
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // java.lang.String ver
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0       vm  Lorg/eclipse/jdt/launching/IVMInstall;
            0    9     1      ver  Ljava/lang/String;
            2    8     2  install  Lorg/eclipse/jdt/launching/AbstractVMInstall;
            3    8     3    vmver  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      vm    
      ver   

  public static boolean isModularProject(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject proj
         0: .line 1119
            aload 0 /* proj */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* proj */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IModuleDescription
         2: astore 1 /* module */
        start local 1 // org.eclipse.jdt.core.IModuleDescription module
         3: .line 1120
            aload 1 /* module */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
         4: aload 1 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 2 /* modName */
        start local 2 // java.lang.String modName
         6: .line 1121
            aload 2 /* modName */
            ifnull 9
            aload 2 /* modName */
            invokevirtual java.lang.String.length:()I
            ifle 9
         7: .line 1122
            iconst_1
            ireturn
        end local 2 // java.lang.String modName
        end local 1 // org.eclipse.jdt.core.IModuleDescription module
         8: .line 1125
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         9: .line 1127
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.core.IJavaProject proj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     proj  Lorg/eclipse/jdt/core/IJavaProject;
            3    8     1   module  Lorg/eclipse/jdt/core/IModuleDescription;
            6    8     2  modName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     7       8  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      proj  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedSourceLookupPath(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1140
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getSourceLookupPathProvider:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            aload 0 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathProvider.computeUnresolvedClasspath:(Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveSourceLookupPath(org.eclipse.jdt.launching.IRuntimeClasspathEntry[], org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: ([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        start local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1154
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getSourceLookupPathProvider:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            aload 0 /* entries */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathProvider.resolveClasspath:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0    1     1  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      entries        
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathProvider getClasspathProvider(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1166
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* providerId */
        start local 1 // java.lang.String providerId
         1: .line 1167
            aconst_null
            astore 2 /* provider */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathProvider provider
         2: .line 1168
            aload 1 /* providerId */
            ifnonnull 5
         3: .line 1169
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultClasspathProvider:Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            astore 2 /* provider */
         4: .line 1170
            goto 8
         5: .line 1171
      StackMap locals: java.lang.String org.eclipse.jdt.launching.IRuntimeClasspathProvider
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getClasspathProviders:()Ljava/util/Map;
            aload 1 /* providerId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathProvider
            astore 2 /* provider */
         6: .line 1172
            aload 2 /* provider */
            ifnonnull 8
         7: .line 1173
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_26:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* providerId */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
         8: .line 1176
      StackMap locals:
      StackMap stack:
            aload 2 /* provider */
            areturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathProvider provider
        end local 1 // java.lang.String providerId
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1    9     1     providerId  Ljava/lang/String;
            2    9     2       provider  Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathProvider getSourceLookupPathProvider(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1188
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* providerId */
        start local 1 // java.lang.String providerId
         1: .line 1189
            aconst_null
            astore 2 /* provider */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathProvider provider
         2: .line 1190
            aload 1 /* providerId */
            ifnonnull 5
         3: .line 1191
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultSourcePathProvider:Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            astore 2 /* provider */
         4: .line 1192
            goto 8
         5: .line 1193
      StackMap locals: java.lang.String org.eclipse.jdt.launching.IRuntimeClasspathProvider
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getClasspathProviders:()Ljava/util/Map;
            aload 1 /* providerId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathProvider
            astore 2 /* provider */
         6: .line 1194
            aload 2 /* provider */
            ifnonnull 8
         7: .line 1195
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_27:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* providerId */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
         8: .line 1198
      StackMap locals:
      StackMap stack:
            aload 2 /* provider */
            areturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathProvider provider
        end local 1 // java.lang.String providerId
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1    9     1     providerId  Ljava/lang/String;
            2    9     2       provider  Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1224
            aload 1 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_EXCLUDE_TEST_CODE:Ljava/lang/String;
            iconst_0
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Z)Z
            istore 2 /* excludeTestCode */
        start local 2 // boolean excludeTestCode
         1: .line 1225
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getType:()I
            tableswitch { // 1 - 5
                    1: 2
                    2: 26
                    3: 16
                    4: 22
                    5: 34
              default: 36
          }
         2: .line 1228
      StackMap locals: int
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 3 /* resource */
        start local 3 // org.eclipse.core.resources.IResource resource
         3: .line 1229
            aload 3 /* resource */
            instanceof org.eclipse.core.resources.IProject
            ifeq 12
         4: .line 1230
            aload 3 /* resource */
            checkcast org.eclipse.core.resources.IProject
            astore 4 /* p */
        start local 4 // org.eclipse.core.resources.IProject p
         5: .line 1231
            aload 4 /* p */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 5 /* project */
        start local 5 // org.eclipse.jdt.core.IJavaProject project
         6: .line 1232
            aload 5 /* project */
            ifnull 7
            aload 4 /* p */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 7
            aload 5 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifne 8
         7: .line 1233
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            iconst_0
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            areturn
         8: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 6 /* attributes */
        start local 6 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
         9: .line 1236
            aload 5 /* project */
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            aload 6 /* attributes */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveOutputLocations:(Lorg/eclipse/jdt/core/IJavaProject;I[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 7 /* entries */
        start local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        10: .line 1237
            aload 7 /* entries */
            ifnull 36
        11: .line 1238
            aload 7 /* entries */
            areturn
        end local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        end local 6 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
        end local 5 // org.eclipse.jdt.core.IJavaProject project
        end local 4 // org.eclipse.core.resources.IProject p
        12: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isOptional:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 14
        13: .line 1242
            iconst_0
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            areturn
        14: .line 1244
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Classpath_references_non_existant_project___0__3:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        15: .line 1246
            goto 36
        end local 3 // org.eclipse.core.resources.IResource resource
        16: .line 1248
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getVariableName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        17: .line 1249
            aload 4 /* resolver */
            ifnonnull 21
        18: .line 1250
            aload 0 /* entry */
            aconst_null
            iconst_0
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveVariableEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 5 /* resolved */
        start local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
        19: .line 1251
            aload 5 /* resolved */
            ifnull 36
        20: .line 1252
            aload 5 /* resolved */
            areturn
        end local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
        21: .line 1256
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int top org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
      StackMap stack:
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        22: .line 1258
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getVariableName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        23: .line 1259
            aload 4 /* resolver */
            ifnonnull 25
        24: .line 1260
            aload 0 /* entry */
            aload 1 /* configuration */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeDefaultContainerEntries:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        25: .line 1262
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int top org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
      StackMap stack:
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        26: .line 1265
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            astore 5 /* location */
        start local 5 // java.lang.String location
        27: .line 1266
            aload 5 /* location */
            ifnull 31
        28: .line 1267
            new java.io.File
            dup
            aload 5 /* location */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* file */
        start local 6 // java.io.File file
        29: .line 1268
            aload 6 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 31
        30: .line 1269
            goto 36
        end local 6 // java.io.File file
        31: .line 1272
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int top top java.lang.String
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isOptional:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 33
        32: .line 1273
            iconst_0
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            areturn
        33: .line 1275
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Classpath_references_non_existant_archive___0__4:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.lang.String location
        34: .line 1277
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.debug.core.ILaunchConfiguration int
      StackMap stack:
            aload 0 /* entry */
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry2
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry2.getTypeId:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContributedResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        35: .line 1278
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        36: .line 1280
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            dup
            iconst_0
        37: .line 1282
            aload 0 /* entry */
            aastore
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   38     0            entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   38     1    configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   38     2  excludeTestCode  Z
            3   16     3         resource  Lorg/eclipse/core/resources/IResource;
            5   12     4                p  Lorg/eclipse/core/resources/IProject;
            6   12     5          project  Lorg/eclipse/jdt/core/IJavaProject;
            9   12     6       attributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
           10   12     7          entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           17   22     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           23   26     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           35   36     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           19   21     5         resolved  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           27   34     5         location  Ljava/lang/String;
           29   31     6             file  Ljava/io/File;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      entry          
      configuration  

  private static boolean isOptional(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 1286
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 1 /* extraAttributes */
        start local 1 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         1: .line 1287
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 1 /* extraAttributes */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 8
         4: .line 1288
      StackMap locals: org.eclipse.jdt.core.IClasspathAttribute[] int int
      StackMap stack:
            aload 1 /* extraAttributes */
            iload 2 /* i */
            aaload
            astore 4 /* attribute */
        start local 4 // org.eclipse.jdt.core.IClasspathAttribute attribute
         5: .line 1289
            ldc "optional"
            aload 4 /* attribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 4 /* attribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 1290
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.core.IClasspathAttribute attribute
         7: .line 1287
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
         9: .line 1293
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 0 // org.eclipse.jdt.core.IClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   10     1  extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            2    9     2                i  I
            3    9     3           length  I
            5    7     4        attribute  Lorg/eclipse/jdt/core/IClasspathAttribute;
    MethodParameters:
       Name  Flags
      entry  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveVariableEntry(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.jdt.core.IJavaProject, boolean, org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // boolean excludeTestCode
        start local 3 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1313
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getVariableName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 4 /* archPath */
        start local 4 // org.eclipse.core.runtime.IPath archPath
         1: .line 1314
            aload 4 /* archPath */
            ifnull 26
         2: .line 1315
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmple 4
         3: .line 1316
            aload 4 /* archPath */
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 4 /* archPath */
         4: .line 1318
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aconst_null
            astore 5 /* srcPath */
        start local 5 // org.eclipse.core.runtime.IPath srcPath
         5: .line 1319
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            astore 6 /* srcVar */
        start local 6 // org.eclipse.core.runtime.IPath srcVar
         6: .line 1320
            aconst_null
            astore 7 /* srcRootPath */
        start local 7 // org.eclipse.core.runtime.IPath srcRootPath
         7: .line 1321
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            astore 8 /* srcRootVar */
        start local 8 // org.eclipse.core.runtime.IPath srcRootVar
         8: .line 1322
            aload 4 /* archPath */
            ifnull 26
            aload 4 /* archPath */
            invokeinterface org.eclipse.core.runtime.IPath.isEmpty:()Z
            ifne 26
         9: .line 1323
            aload 6 /* srcVar */
            ifnull 19
            aload 6 /* srcVar */
            invokeinterface org.eclipse.core.runtime.IPath.isEmpty:()Z
            ifne 19
        10: .line 1324
            aload 6 /* srcVar */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 5 /* srcPath */
        11: .line 1325
            aload 5 /* srcPath */
            ifnull 19
        12: .line 1326
            aload 6 /* srcVar */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmple 14
        13: .line 1327
            aload 5 /* srcPath */
            aload 6 /* srcVar */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 5 /* srcPath */
        14: .line 1329
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.debug.core.ILaunchConfiguration org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 8 /* srcRootVar */
            ifnull 19
            aload 8 /* srcRootVar */
            invokeinterface org.eclipse.core.runtime.IPath.isEmpty:()Z
            ifne 19
        15: .line 1330
            aload 8 /* srcRootVar */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* srcRootPath */
        16: .line 1331
            aload 7 /* srcRootPath */
            ifnull 19
        17: .line 1332
            aload 8 /* srcRootVar */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmple 19
        18: .line 1333
            aload 7 /* srcRootPath */
            aload 8 /* srcRootVar */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 7 /* srcRootPath */
        19: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 9 /* cpEntry */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry cpEntry
        20: .line 1341
            aload 4 /* archPath */
            aload 5 /* srcPath */
            aload 7 /* srcRootPath */
            aconst_null
            aload 9 /* cpEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            aload 9 /* cpEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* archEntry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry archEntry
        21: .line 1342
            aload 10 /* archEntry */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 11 /* runtimeArchEntry */
        start local 11 // org.eclipse.jdt.launching.IRuntimeClasspathEntry runtimeArchEntry
        22: .line 1343
            aload 11 /* runtimeArchEntry */
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.setClasspathProperty:(I)V
        23: .line 1344
            aload 3 /* configuration */
            ifnonnull 25
        24: .line 1345
            aload 11 /* runtimeArchEntry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        25: .line 1347
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.launching.IRuntimeClasspathEntry
      StackMap stack:
            aload 11 /* runtimeArchEntry */
            aload 3 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 11 // org.eclipse.jdt.launching.IRuntimeClasspathEntry runtimeArchEntry
        end local 10 // org.eclipse.jdt.core.IClasspathEntry archEntry
        end local 9 // org.eclipse.jdt.core.IClasspathEntry cpEntry
        end local 8 // org.eclipse.core.runtime.IPath srcRootVar
        end local 7 // org.eclipse.core.runtime.IPath srcRootPath
        end local 6 // org.eclipse.core.runtime.IPath srcVar
        end local 5 // org.eclipse.core.runtime.IPath srcPath
        26: .line 1350
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.debug.core.ILaunchConfiguration org.eclipse.core.runtime.IPath
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.core.runtime.IPath archPath
        end local 3 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0             entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   27     1           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   27     2   excludeTestCode  Z
            0   27     3     configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   27     4          archPath  Lorg/eclipse/core/runtime/IPath;
            5   26     5           srcPath  Lorg/eclipse/core/runtime/IPath;
            6   26     6            srcVar  Lorg/eclipse/core/runtime/IPath;
            7   26     7       srcRootPath  Lorg/eclipse/core/runtime/IPath;
            8   26     8        srcRootVar  Lorg/eclipse/core/runtime/IPath;
           20   26     9           cpEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           21   26    10         archEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           22   26    11  runtimeArchEntry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      entry            
      project          
      excludeTestCode  
      configuration    

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveOutputLocations(org.eclipse.jdt.core.IJavaProject, int, org.eclipse.jdt.core.IClasspathAttribute[], boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;I[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // int classpathProperty
        start local 2 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
        start local 3 // boolean excludeTestCode
         0: .line 1371
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* nonDefault */
        start local 4 // java.util.List nonDefault
         1: .line 1372
            iconst_0
            istore 5 /* defaultUsedByNonTest */
        start local 5 // boolean defaultUsedByNonTest
         2: .line 1373
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 17
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 17
         3: .line 1374
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 6 /* entries */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[] entries
         4: .line 1375
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 16
         6: .line 1376
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathAttribute[] int java.util.List int org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 6 /* entries */
            iload 7 /* i */
            aaload
            astore 8 /* classpathEntry */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         7: .line 1377
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_3
            if_icmpne 15
         8: .line 1378
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 9 /* path */
        start local 9 // org.eclipse.core.runtime.IPath path
         9: .line 1379
            aload 9 /* path */
            ifnull 13
        10: .line 1380
            iload 3 /* excludeTestCode */
            ifeq 11
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isTest:()Z
            ifne 15
        11: .line 1381
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 4 /* nonDefault */
            aload 9 /* path */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1383
            goto 15
        13: .line 1384
      StackMap locals:
      StackMap stack:
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isTest:()Z
            ifne 15
        14: .line 1385
            iconst_1
            istore 5 /* defaultUsedByNonTest */
        end local 9 // org.eclipse.core.runtime.IPath path
        end local 8 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        15: .line 1375
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            aload 6 /* entries */
            arraylength
            if_icmplt 6
        end local 7 // int i
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[] entries
        17: .line 1391
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOwnModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            ifnull 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: istore 6 /* isModular */
        start local 6 // boolean isModular
        20: .line 1392
            aload 4 /* nonDefault */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
            iload 6 /* isModular */
            ifne 22
            iload 3 /* excludeTestCode */
            ifne 22
        21: .line 1394
            aconst_null
            areturn
        22: .line 1397
      StackMap locals: int
      StackMap stack:
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 7 /* def */
        start local 7 // org.eclipse.core.runtime.IPath def
        23: .line 1398
            iload 3 /* excludeTestCode */
            ifeq 24
            iload 5 /* defaultUsedByNonTest */
            ifeq 26
        24: .line 1399
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 4 /* nonDefault */
            aload 7 /* def */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 1400
            aload 4 /* nonDefault */
            aload 7 /* def */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1403
      StackMap locals:
      StackMap stack:
            aload 4 /* nonDefault */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            astore 8 /* locations */
        start local 8 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] locations
        27: .line 1404
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        28: goto 37
        29: .line 1405
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
      StackMap stack:
            aload 4 /* nonDefault */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            aconst_null
            aconst_null
            aconst_null
            aload 2 /* attributes */
            iconst_0
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* newEntry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry newEntry
        30: .line 1406
            aload 8 /* locations */
            iload 9 /* i */
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            dup
            aload 10 /* newEntry */
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.<init>:(Lorg/eclipse/jdt/core/IClasspathEntry;)V
            aastore
        31: .line 1407
            iload 6 /* isModular */
            ifeq 35
            aload 8 /* locations */
            iload 9 /* i */
            aaload
            invokestatic org.eclipse.jdt.launching.JavaRuntime.containsModuleInfo:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifne 35
        32: .line 1408
            aload 8 /* locations */
            iload 9 /* i */
            aaload
            bipush 6
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.setClasspathProperty:(I)V
        33: .line 1409
            aload 8 /* locations */
            iload 9 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.launching.RuntimeClasspathEntry
            aload 0 /* project */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntry.setJavaProject:(Lorg/eclipse/jdt/core/IJavaProject;)V
        34: .line 1410
            goto 36
        35: .line 1411
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 8 /* locations */
            iload 9 /* i */
            aaload
            iload 1 /* classpathProperty */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.setClasspathProperty:(I)V
        end local 10 // org.eclipse.jdt.core.IClasspathEntry newEntry
        36: .line 1404
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 9 /* i */
            aload 8 /* locations */
            arraylength
            if_icmplt 29
        end local 9 // int i
        38: .line 1414
            aload 8 /* locations */
            areturn
        end local 8 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] locations
        end local 7 // org.eclipse.core.runtime.IPath def
        end local 6 // boolean isModular
        end local 5 // boolean defaultUsedByNonTest
        end local 4 // java.util.List nonDefault
        end local 3 // boolean excludeTestCode
        end local 2 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
        end local 1 // int classpathProperty
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   39     0               project  Lorg/eclipse/jdt/core/IJavaProject;
            0   39     1     classpathProperty  I
            0   39     2            attributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            0   39     3       excludeTestCode  Z
            1   39     4            nonDefault  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
            2   39     5  defaultUsedByNonTest  Z
            4   17     6               entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   17     7                     i  I
            7   15     8        classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            9   15     9                  path  Lorg/eclipse/core/runtime/IPath;
           20   39     6             isModular  Z
           23   39     7                   def  Lorg/eclipse/core/runtime/IPath;
           27   39     8             locations  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           28   38     9                     i  I
           30   36    10              newEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                   Name  Flags
      project            
      classpathProperty  
      attributes         
      excludeTestCode    

  private static boolean containsModuleInfo(org.eclipse.jdt.launching.IRuntimeClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 1418
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "module-info.class"
            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/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ireturn
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    MethodParameters:
       Name  Flags
      entry  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1444
            aload 0 /* entry */
            aload 1 /* project */
            iconst_0
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0    1     1  project  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      entry    
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // boolean excludeTestCode
         0: .line 1472
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getType:()I
            tableswitch { // 1 - 5
                    1: 1
                    2: 23
                    3: 11
                    4: 17
                    5: 21
              default: 23
          }
         1: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 3 /* resource */
        start local 3 // org.eclipse.core.resources.IResource resource
         2: .line 1476
            aload 3 /* resource */
            instanceof org.eclipse.core.resources.IProject
            ifeq 23
         3: .line 1477
            aload 3 /* resource */
            checkcast org.eclipse.core.resources.IProject
            astore 4 /* p */
        start local 4 // org.eclipse.core.resources.IProject p
         4: .line 1478
            aload 4 /* p */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 5 /* jp */
        start local 5 // org.eclipse.jdt.core.IJavaProject jp
         5: .line 1479
            aload 5 /* jp */
            ifnull 10
            aload 4 /* p */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 10
            aload 5 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 10
         6: .line 1480
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 6 /* attributes */
        start local 6 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
         7: .line 1481
            aload 5 /* jp */
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            aload 6 /* attributes */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveOutputLocations:(Lorg/eclipse/jdt/core/IJavaProject;I[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 7 /* entries */
        start local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         8: .line 1482
            aload 7 /* entries */
            ifnull 23
         9: .line 1483
            aload 7 /* entries */
            areturn
        end local 7 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        end local 6 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
        10: .line 1486
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            iconst_0
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            areturn
        end local 5 // org.eclipse.jdt.core.IJavaProject jp
        end local 4 // org.eclipse.core.resources.IProject p
        end local 3 // org.eclipse.core.resources.IResource resource
        11: .line 1491
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getVariableName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        12: .line 1492
            aload 4 /* resolver */
            ifnonnull 16
        13: .line 1493
            aload 0 /* entry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveVariableEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 5 /* resolved */
        start local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
        14: .line 1494
            aload 5 /* resolved */
            ifnull 23
        15: .line 1495
            aload 5 /* resolved */
            areturn
        end local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
        16: .line 1499
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int top org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
      StackMap stack:
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        17: .line 1501
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getVariableName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        18: .line 1502
            aload 4 /* resolver */
            ifnonnull 20
        19: .line 1503
            aload 0 /* entry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeDefaultContainerEntries:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        20: .line 1505
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int top org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
      StackMap stack:
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        21: .line 1507
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int
      StackMap stack:
            aload 0 /* entry */
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry2
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry2.getTypeId:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContributedResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        22: .line 1508
            aload 4 /* resolver */
            aload 0 /* entry */
            aload 1 /* project */
            iload 2 /* excludeTestCode */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        23: .line 1510
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            dup
            iconst_0
        24: .line 1512
            aload 0 /* entry */
            aastore
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0            entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   25     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            0   25     2  excludeTestCode  Z
            2   11     3         resource  Lorg/eclipse/core/resources/IResource;
            4   11     4                p  Lorg/eclipse/core/resources/IProject;
            5   11     5               jp  Lorg/eclipse/jdt/core/IJavaProject;
            7   10     6       attributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            8   10     7          entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           12   17     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           18   21     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           22   23     4         resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
           14   16     5         resolved  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      entry            
      project          
      excludeTestCode  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeDefaultContainerEntries(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.debug.core.ILaunchConfiguration, boolean);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.debug.core.ILaunchConfiguration config
        start local 2 // boolean excludeTestCode
         0: .line 1529
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* project */
        start local 3 // org.eclipse.jdt.core.IJavaProject project
         1: .line 1530
            aload 3 /* project */
            ifnonnull 3
         2: .line 1531
            aload 1 /* config */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaProject:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* project */
         3: .line 1533
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 0 /* entry */
            aload 3 /* project */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeDefaultContainerEntries:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 3 // org.eclipse.jdt.core.IJavaProject project
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.debug.core.ILaunchConfiguration config
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0            entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0    4     1           config  Lorg/eclipse/debug/core/ILaunchConfiguration;
            0    4     2  excludeTestCode  Z
            1    4     3          project  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      entry            
      config           
      excludeTestCode  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeDefaultContainerEntries(org.eclipse.jdt.launching.IRuntimeClasspathEntry, org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=19, args_size=3
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // boolean excludeTestCode
         0: .line 1550
            aload 1 /* project */
            ifnull 1
            aload 0 /* entry */
            ifnonnull 2
         1: .line 1552
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            areturn
         2: .line 1554
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 3 /* container */
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
         3: .line 1555
            aload 3 /* container */
            ifnonnull 6
         4: .line 1556
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Could_not_resolve_classpath_container___0__1:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
         5: .line 1558
            aconst_null
            areturn
         6: .line 1560
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 3 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 4 /* cpes */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] cpes
         7: .line 1561
            iconst_m1
            istore 5 /* property */
        start local 5 // int property
         8: .line 1562
            aload 3 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getKind:()I
            tableswitch { // 1 - 3
                    1: 9
                    2: 19
                    3: 17
              default: 20
          }
         9: .line 1564
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            iconst_4
            if_icmpne 12
        10: .line 1565
            iconst_4
            istore 5 /* property */
        11: .line 1566
            goto 20
      StackMap locals:
      StackMap stack:
        12: aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            iconst_5
            if_icmpne 15
        13: .line 1567
            iconst_5
            istore 5 /* property */
        14: .line 1568
            goto 20
        15: .line 1569
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 5 /* property */
        16: .line 1571
            goto 20
        17: .line 1573
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* property */
        18: .line 1574
            goto 20
        19: .line 1576
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 5 /* property */
        20: .line 1579
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 4 /* cpes */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* resolved */
        start local 6 // java.util.List resolved
        21: .line 1580
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgProjects:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* projects */
        start local 7 // java.util.List projects
        22: .line 1581
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 8 /* count */
        start local 8 // java.lang.Integer count
        23: .line 1582
            aload 7 /* projects */
            ifnonnull 27
        24: .line 1583
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* projects */
        25: .line 1584
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgProjects:Ljava/lang/ThreadLocal;
            aload 7 /* projects */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        26: .line 1585
            new java.lang.Integer
            dup
            iconst_0
            invokespecial java.lang.Integer.<init>:(I)V
            astore 8 /* count */
        27: .line 1587
      StackMap locals: java.util.List java.util.List java.lang.Integer
      StackMap stack:
            aload 8 /* count */
            invokevirtual java.lang.Integer.intValue:()I
            istore 9 /* intCount */
        start local 9 // int intCount
        28: .line 1588
            iinc 9 /* intCount */ 1
        29: .line 1589
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            new java.lang.Integer
            dup
            iload 9 /* intCount */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        30: .line 1591
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        31: goto 52
        32: .line 1592
      StackMap locals: int int
      StackMap stack:
            aload 4 /* cpes */
            iload 10 /* i */
            aaload
            astore 11 /* cpe */
        start local 11 // org.eclipse.jdt.core.IClasspathEntry cpe
        33: .line 1593
            aload 11 /* cpe */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 48
        34: .line 1594
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 11 /* cpe */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            astore 12 /* p */
        start local 12 // org.eclipse.core.resources.IProject p
        35: .line 1595
            aload 12 /* p */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 13 /* jp */
        start local 13 // org.eclipse.jdt.core.IJavaProject jp
        36: .line 1596
            aload 7 /* projects */
            aload 13 /* jp */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 51
        37: .line 1597
            aload 7 /* projects */
            aload 13 /* jp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1598
            aload 13 /* jp */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultProjectClasspathEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 14 /* classpath */
        start local 14 // org.eclipse.jdt.launching.IRuntimeClasspathEntry classpath
        39: .line 1599
            aload 14 /* classpath */
            aload 13 /* jp */
            iload 2 /* excludeTestCode */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 15 /* entries */
        start local 15 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        40: .line 1600
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        41: goto 46
        42: .line 1601
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[] int java.util.List java.util.List java.lang.Integer int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
      StackMap stack:
            aload 15 /* entries */
            iload 16 /* j */
            aaload
            astore 17 /* e */
        start local 17 // org.eclipse.jdt.launching.IRuntimeClasspathEntry e
        43: .line 1602
            aload 6 /* resolved */
            aload 17 /* e */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 45
        44: .line 1603
            aload 6 /* resolved */
            aload 15 /* entries */
            iload 16 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // org.eclipse.jdt.launching.IRuntimeClasspathEntry e
        45: .line 1600
      StackMap locals:
      StackMap stack:
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
        46: iload 16 /* j */
            aload 15 /* entries */
            arraylength
            if_icmplt 42
        end local 16 // int j
        end local 15 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        end local 14 // org.eclipse.jdt.launching.IRuntimeClasspathEntry classpath
        end local 13 // org.eclipse.jdt.core.IJavaProject jp
        end local 12 // org.eclipse.core.resources.IProject p
        47: .line 1607
            goto 51
        48: .line 1608
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[] int java.util.List java.util.List java.lang.Integer int int org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 11 /* cpe */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 12 /* e */
        start local 12 // org.eclipse.jdt.launching.IRuntimeClasspathEntry e
        49: .line 1609
            aload 6 /* resolved */
            aload 12 /* e */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 51
        50: .line 1610
            aload 6 /* resolved */
            aload 12 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.eclipse.jdt.launching.IRuntimeClasspathEntry e
        end local 11 // org.eclipse.jdt.core.IClasspathEntry cpe
        51: .line 1591
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 10 /* i */
            aload 4 /* cpes */
            arraylength
            if_icmplt 32
        end local 10 // int i
        53: .line 1614
            goto 62
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[] int java.util.List java.util.List java.lang.Integer int
      StackMap stack: java.lang.Throwable
        54: astore 18
        55: .line 1615
            iinc 9 /* intCount */ -1
        56: .line 1616
            iload 9 /* intCount */
            ifne 60
        57: .line 1617
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgProjects:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        58: .line 1618
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        59: .line 1619
            goto 61
        60: .line 1620
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[] int java.util.List java.util.List java.lang.Integer int top top top top top top top top java.lang.Throwable
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            new java.lang.Integer
            dup
            iload 9 /* intCount */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        61: .line 1622
      StackMap locals:
      StackMap stack:
            aload 18
            athrow
        62: .line 1615
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[] int java.util.List java.util.List java.lang.Integer int
      StackMap stack:
            iinc 9 /* intCount */ -1
        63: .line 1616
            iload 9 /* intCount */
            ifne 67
        64: .line 1617
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgProjects:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        65: .line 1618
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        66: .line 1619
            goto 68
        67: .line 1620
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgEntryCount:Ljava/lang/ThreadLocal;
            new java.lang.Integer
            dup
            iload 9 /* intCount */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        68: .line 1624
      StackMap locals:
      StackMap stack:
            aload 6 /* resolved */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            astore 10 /* result */
        start local 10 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] result
        69: .line 1625
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        70: goto 74
        71: .line 1626
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
      StackMap stack:
            aload 10 /* result */
            iload 11 /* i */
            aload 6 /* resolved */
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry
            aastore
        72: .line 1627
            aload 10 /* result */
            iload 11 /* i */
            aaload
            iload 5 /* property */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.setClasspathProperty:(I)V
        73: .line 1625
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        74: iload 11 /* i */
            aload 10 /* result */
            arraylength
            if_icmplt 71
        end local 11 // int i
        75: .line 1629
            aload 10 /* result */
            areturn
        end local 10 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] result
        end local 9 // int intCount
        end local 8 // java.lang.Integer count
        end local 7 // java.util.List projects
        end local 6 // java.util.List resolved
        end local 5 // int property
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] cpes
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   76     0            entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   76     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            0   76     2  excludeTestCode  Z
            3   76     3        container  Lorg/eclipse/jdt/core/IClasspathContainer;
            7   76     4             cpes  [Lorg/eclipse/jdt/core/IClasspathEntry;
            8   76     5         property  I
           21   76     6         resolved  Ljava/util/List<Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;>;
           22   76     7         projects  Ljava/util/List<Lorg/eclipse/jdt/core/IJavaProject;>;
           23   76     8            count  Ljava/lang/Integer;
           28   76     9         intCount  I
           31   53    10                i  I
           33   51    11              cpe  Lorg/eclipse/jdt/core/IClasspathEntry;
           35   47    12                p  Lorg/eclipse/core/resources/IProject;
           36   47    13               jp  Lorg/eclipse/jdt/core/IJavaProject;
           39   47    14        classpath  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           40   47    15          entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           41   47    16                j  I
           43   45    17                e  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           49   51    12                e  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           69   76    10           result  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
           70   75    11                i  I
      Exception table:
        from    to  target  type
          30    54      54  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      entry            
      project          
      excludeTestCode  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1642
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            aload 0 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathProvider.computeUnresolvedClasspath:(Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolveRuntimeClasspath(org.eclipse.jdt.launching.IRuntimeClasspathEntry[], org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: ([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        start local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1656
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularConfiguration:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Z
            ifeq 25
         1: .line 1657
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            aload 0 /* entries */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathProvider.resolveClasspath:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 2 /* entries1 */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries1
         2: .line 1658
            new java.util.ArrayList
            dup
            aload 2 /* entries1 */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* entries2 */
        start local 3 // java.util.ArrayList entries2
         3: .line 1659
            aload 2 /* entries1 */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 23
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.debug.core.ILaunchConfiguration org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.ArrayList top int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* entry */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         5: .line 1660
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 1
                    1: 6
              default: 21
          }
         6: .line 1663
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.debug.core.ILaunchConfiguration org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.ArrayList org.eclipse.jdt.launching.IRuntimeClasspathEntry int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack:
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaProject:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 8 /* project */
        start local 8 // org.eclipse.jdt.core.IJavaProject project
         7: .line 1664
            aload 8 /* project */
            ifnonnull 10
         8: .line 1665
            aload 3 /* entries2 */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1666
            goto 22
        10: .line 1668
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 8 /* project */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.jdt.core.IJavaProject.findPackageFragmentRoot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 9 /* root */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
        11: .line 1669
            aload 9 /* root */
            ifnonnull 14
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            ldc "jrt-fs.jar"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 14
        12: .line 1670
            aload 3 /* entries2 */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1671
            goto 22
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
        14: aload 9 /* root */
            ifnull 22
            aload 9 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getRawClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            ldc "JRE_CONTAINER"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 22
        15: .line 1672
            aload 3 /* entries2 */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 8 // org.eclipse.jdt.core.IJavaProject project
        16: .line 1675
            goto 22
        17: .line 1676
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.debug.core.ILaunchConfiguration org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.ArrayList org.eclipse.jdt.launching.IRuntimeClasspathEntry int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        18: .line 1678
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            ldc "jrt-fs.jar"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 22
        19: .line 1679
            aload 3 /* entries2 */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 1682
            goto 22
        21: .line 1684
      StackMap locals:
      StackMap stack:
            aload 3 /* entries2 */
            aload 4 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        22: .line 1659
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.debug.core.ILaunchConfiguration org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.ArrayList top int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        23: iload 5
            iload 6
            if_icmplt 4
        24: .line 1688
            aload 3 /* entries2 */
            aload 3 /* entries2 */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.launching.IRuntimeClasspathEntry
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
            areturn
        end local 3 // java.util.ArrayList entries2
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries1
        25: .line 1690
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.debug.core.ILaunchConfiguration
      StackMap stack:
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getClasspathProvider:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathProvider;
            aload 0 /* entries */
            aload 1 /* configuration */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathProvider.resolveClasspath:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0        entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   26     1  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            2   25     2       entries1  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            3   25     3       entries2  Ljava/util/ArrayList<Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;>;
            5   22     4          entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            7   16     8        project  Lorg/eclipse/jdt/core/IJavaProject;
           11   16     9           root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
      Exception table:
        from    to  target  type
           6    16      17  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      entries        
      configuration  

  public static org.eclipse.jdt.core.IJavaProject getJavaProject(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1704
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* projectName */
        start local 1 // java.lang.String projectName
         1: .line 1705
            aload 1 /* projectName */
            ifnull 2
            aload 1 /* projectName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 3
         2: .line 1706
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            areturn
         3: .line 1708
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaModel:()Lorg/eclipse/jdt/core/IJavaModel;
            aload 1 /* projectName */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 2 /* javaProject */
        start local 2 // org.eclipse.jdt.core.IJavaProject javaProject
         4: .line 1709
            aload 2 /* javaProject */
            ifnull 6
            aload 2 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.exists:()Z
            ifeq 6
            aload 2 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifne 6
         5: .line 1710
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_28:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* configuration */
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* projectName */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            bipush 124
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;ILjava/lang/Throwable;)V
         6: .line 1712
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 2 /* javaProject */
            ifnull 7
            aload 2 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifne 8
         7: .line 1713
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Launch_configuration__0__references_non_existing_project__1___1:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* configuration */
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* projectName */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            bipush 107
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;ILjava/lang/Throwable;)V
         8: .line 1715
      StackMap locals:
      StackMap stack:
            aload 2 /* javaProject */
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaProject javaProject
        end local 1 // java.lang.String projectName
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1    9     1    projectName  Ljava/lang/String;
            4    9     2    javaProject  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  private static org.eclipse.jdt.core.IJavaModel getJavaModel();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaModel;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1723
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IWorkspaceRoot;)Lorg/eclipse/jdt/core/IJavaModel;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.jdt.launching.IVMInstall computeVMInstall(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1747
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* jreAttr */
        start local 1 // java.lang.String jreAttr
         1: .line 1748
            aload 1 /* jreAttr */
            ifnonnull 11
         2: .line 1750
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* type */
        start local 2 // java.lang.String type
         3: .line 1751
            aload 2 /* type */
            ifnonnull 9
         4: .line 1752
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaProject:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* proj */
        start local 3 // org.eclipse.jdt.core.IJavaProject proj
         5: .line 1753
            aload 3 /* proj */
            ifnull 19
         6: .line 1754
            aload 3 /* proj */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstall:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 4 /* vm */
        start local 4 // org.eclipse.jdt.launching.IVMInstall vm
         7: .line 1755
            aload 4 /* vm */
            ifnull 19
         8: .line 1756
            aload 4 /* vm */
            areturn
        end local 4 // org.eclipse.jdt.launching.IVMInstall vm
        end local 3 // org.eclipse.jdt.core.IJavaProject proj
         9: .line 1761
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        10: .line 1762
            aload 2 /* type */
            aload 3 /* name */
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveVM:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 3 // java.lang.String name
        end local 2 // java.lang.String type
        11: .line 1765
      StackMap locals:
      StackMap stack:
            aload 1 /* jreAttr */
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* jrePath */
        start local 2 // org.eclipse.core.runtime.IPath jrePath
        12: .line 1766
            aload 2 /* jrePath */
            invokestatic org.eclipse.jdt.core.JavaCore.newContainerEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry entry
        13: .line 1767
            aload 2 /* jrePath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
        14: .line 1768
            aload 4 /* resolver */
            ifnull 16
        15: .line 1769
            aload 4 /* resolver */
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.resolveVMInstall:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        16: .line 1771
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2
      StackMap stack:
            aload 2 /* jrePath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 4 /* resolver */
        17: .line 1772
            aload 4 /* resolver */
            ifnull 19
        18: .line 1773
            aload 4 /* resolver */
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.resolveVMInstall:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
        end local 3 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 2 // org.eclipse.core.runtime.IPath jrePath
        19: .line 1777
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMInstall:()Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 1 // java.lang.String jreAttr
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   20     1        jreAttr  Ljava/lang/String;
            3   11     2           type  Ljava/lang/String;
            5    9     3           proj  Lorg/eclipse/jdt/core/IJavaProject;
            7    9     4             vm  Lorg/eclipse/jdt/launching/IVMInstall;
           10   11     3           name  Ljava/lang/String;
           12   19     2        jrePath  Lorg/eclipse/core/runtime/IPath;
           13   19     3          entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           14   19     4       resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  private static org.eclipse.jdt.launching.IVMInstall resolveVM(java.lang.String, java.lang.String, org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.String name
        start local 2 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 1790
            aload 0 /* type */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 3 /* vt */
        start local 3 // org.eclipse.jdt.launching.IVMInstallType vt
         1: .line 1791
            aload 3 /* vt */
            ifnonnull 3
         2: .line 1793
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Specified_VM_install_type_does_not_exist___0__2:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* type */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
         3: .line 1795
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType
      StackMap stack:
            aconst_null
            astore 4 /* vm */
        start local 4 // org.eclipse.jdt.launching.IVMInstall vm
         4: .line 1797
            aload 1 /* name */
            ifnonnull 7
         5: .line 1800
            new org.eclipse.core.runtime.Status
            dup
            iconst_2
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            bipush 103
            ldc "VM not fully specified in launch configuration {0} - missing VM name. Reverting to default VM."
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* configuration */
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getName:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
         6: .line 1801
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMInstall:()Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
         7: .line 1803
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            aload 3 /* vt */
            aload 1 /* name */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.findVMInstallByName:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 4 /* vm */
         8: .line 1804
            aload 4 /* vm */
            ifnonnull 11
         9: .line 1806
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_Specified_VM_install_not_found__type__0___name__1__2:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* vt */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* name */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        10: .line 1807
            goto 12
        11: .line 1808
      StackMap locals:
      StackMap stack:
            aload 4 /* vm */
            areturn
        12: .line 1811
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.launching.IVMInstall vm
        end local 3 // org.eclipse.jdt.launching.IVMInstallType vt
        end local 2 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 1 // java.lang.String name
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           type  Ljava/lang/String;
            0   13     1           name  Ljava/lang/String;
            0   13     2  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   13     3             vt  Lorg/eclipse/jdt/launching/IVMInstallType;
            4   13     4             vm  Lorg/eclipse/jdt/launching/IVMInstall;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      type           
      name           
      configuration  

  private static void abort(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable exception
         0: .line 1823
            aload 0 /* message */
            sipush 150
            aload 1 /* exception */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;ILjava/lang/Throwable;)V
         1: .line 1824
            return
        end local 1 // java.lang.Throwable exception
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0    message  Ljava/lang/String;
            0    2     1  exception  Ljava/lang/Throwable;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      message    
      exception  

  private static void abort(java.lang.String, int, java.lang.Throwable);
    descriptor: (Ljava/lang/String;ILjava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // java.lang.String message
        start local 1 // int code
        start local 2 // java.lang.Throwable exception
         0: .line 1838
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            iload 1 /* code */
            aload 0 /* message */
            aload 2 /* exception */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 2 // java.lang.Throwable exception
        end local 1 // int code
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    message  Ljava/lang/String;
            0    1     1       code  I
            0    1     2  exception  Ljava/lang/Throwable;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      message    
      code       
      exception  

  public static java.lang.String[] computeDefaultRuntimeClassPath(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject jproject
         0: .line 1850
            aload 0 /* jproject */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath:(Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 1 /* unresolved */
        start local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] unresolved
         1: .line 1853
            new java.util.ArrayList
            dup
            aload 1 /* unresolved */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* resolved */
        start local 2 // java.util.List resolved
         2: .line 1854
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 15
         4: .line 1855
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int
      StackMap stack:
            aload 1 /* unresolved */
            iload 3 /* i */
            aaload
            astore 4 /* entry */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         5: .line 1856
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathProperty:()I
            iconst_3
            if_icmpne 14
         6: .line 1857
            aload 4 /* entry */
            aload 0 /* jproject */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveRuntimeClasspathEntry:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 5 /* entries */
        start local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         7: .line 1858
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 13
         9: .line 1859
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
      StackMap stack:
            aload 5 /* entries */
            iload 6 /* j */
            aaload
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            astore 7 /* location */
        start local 7 // java.lang.String location
        10: .line 1860
            aload 7 /* location */
            ifnull 12
        11: .line 1861
            aload 2 /* resolved */
            aload 7 /* location */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String location
        12: .line 1858
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* j */
            aload 5 /* entries */
            arraylength
            if_icmplt 9
        end local 6 // int j
        end local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        14: .line 1854
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* unresolved */
            arraylength
            if_icmplt 4
        end local 3 // int i
        16: .line 1866
            aload 2 /* resolved */
            aload 2 /* resolved */
            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 2 // java.util.List resolved
        end local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] unresolved
        end local 0 // org.eclipse.jdt.core.IJavaProject jproject
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0    jproject  Lorg/eclipse/jdt/core/IJavaProject;
            1   17     1  unresolved  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            2   17     2    resolved  Ljava/util/List<Ljava/lang/String;>;
            3   16     3           i  I
            5   14     4       entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            7   14     5     entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            8   14     6           j  I
           10   12     7    location  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      jproject  

  public static void saveVMConfiguration();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 1881
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
            ifnonnull 2
         1: .line 1883
            return
         2: .line 1885
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMsAsXML:()Ljava/lang/String;
            astore 0 /* xml */
        start local 0 // java.lang.String xml
         3: .line 1886
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.launching"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            getstatic org.eclipse.jdt.launching.JavaRuntime.PREF_VM_XML:Ljava/lang/String;
            aload 0 /* xml */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1887
            invokestatic org.eclipse.jdt.launching.JavaRuntime.savePreferences:()V
         5: .line 1888
            return
        end local 0 // java.lang.String xml
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    6     0   xml  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  private static java.lang.String getVMsAsXML();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=0
         0: .line 1896
            new org.eclipse.jdt.internal.launching.VMDefinitionsContainer
            dup
            invokespecial org.eclipse.jdt.internal.launching.VMDefinitionsContainer.<init>:()V
            astore 0 /* container */
        start local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer container
         1: .line 1897
            aload 0 /* container */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMId:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.setDefaultVMInstallCompositeID:(Ljava/lang/String;)V
         2: .line 1898
            aload 0 /* container */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMConnectorId:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.setDefaultVMInstallConnectorTypeID:(Ljava/lang/String;)V
         3: .line 1899
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes:()[Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 1 /* vmTypes */
        start local 1 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
         4: .line 1900
            aconst_null
            astore 2 /* vms */
        start local 2 // org.eclipse.jdt.launching.IVMInstall[] vms
         5: .line 1901
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 14
         7: .line 1902
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.jdt.launching.IVMInstallType[] org.eclipse.jdt.launching.IVMInstall[] int
      StackMap stack:
            aload 1 /* vmTypes */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getVMInstalls:()[Lorg/eclipse/jdt/launching/IVMInstall;
            astore 2 /* vms */
         8: .line 1903
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         9: goto 12
        10: .line 1904
      StackMap locals: int
      StackMap stack:
            aload 0 /* container */
            aload 2 /* vms */
            iload 4 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.addVM:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        11: .line 1903
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* j */
            aload 2 /* vms */
            arraylength
            if_icmplt 10
        end local 4 // int j
        13: .line 1901
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 1 /* vmTypes */
            arraylength
            if_icmplt 7
        end local 3 // int i
        15: .line 1907
            aload 0 /* container */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getAsXML:()Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.launching.IVMInstall[] vms
        end local 1 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
        end local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer container
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1   16     0  container  Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;
            4   16     1    vmTypes  [Lorg/eclipse/jdt/launching/IVMInstallType;
            5   16     2        vms  [Lorg/eclipse/jdt/launching/IVMInstall;
            6   15     3          i  I
            9   13     4          j  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  private static boolean addPersistedVMs(org.eclipse.jdt.internal.launching.VMDefinitionsContainer);
    descriptor: (Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
         0: .line 1923
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.launching"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            getstatic org.eclipse.jdt.launching.JavaRuntime.PREF_VM_XML:Ljava/lang/String;
            ldc ""
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* vmXMLString */
        start local 1 // java.lang.String vmXMLString
         1: .line 1926
            aload 1 /* vmXMLString */
            invokevirtual java.lang.String.length:()I
            ifle 8
         2: .line 1928
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* vmXMLString */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 2 /* inputStream */
        start local 2 // java.io.ByteArrayInputStream inputStream
         3: .line 1929
            aload 2 /* inputStream */
            aload 0 /* vmDefs */
            invokestatic org.eclipse.jdt.internal.launching.VMDefinitionsContainer.parseXMLIntoContainer:(Ljava/io/InputStream;Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)V
         4: .line 1930
            iconst_0
            ireturn
        end local 2 // java.io.ByteArrayInputStream inputStream
         5: .line 1931
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer java.lang.String
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         6: .line 1932
            aload 2 /* ioe */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException ioe
         7: .line 1934
            goto 14
         8: .line 1936
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.getStateLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* stateLocation */
        start local 2 // org.eclipse.core.runtime.IPath stateLocation
         9: .line 1937
            aload 2 /* stateLocation */
            ldc "vmConfiguration.xml"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* stateFile */
        start local 3 // org.eclipse.core.runtime.IPath stateFile
        10: .line 1938
            new java.io.File
            dup
            aload 3 /* stateFile */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        start local 4 // java.io.File file
        11: .line 1940
            aload 4 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 14
        12: .line 1943
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 4 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 5 /* fileInputStream */
        start local 5 // java.io.InputStream fileInputStream
        13: .line 1944
            aload 5 /* fileInputStream */
            aload 0 /* vmDefs */
            invokestatic org.eclipse.jdt.internal.launching.VMDefinitionsContainer.parseXMLIntoContainer:(Ljava/io/InputStream;Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)V
        end local 5 // java.io.InputStream fileInputStream
        end local 4 // java.io.File file
        end local 3 // org.eclipse.core.runtime.IPath stateFile
        end local 2 // org.eclipse.core.runtime.IPath stateLocation
        14: .line 1947
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String vmXMLString
        end local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0           vmDefs  Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;
            1   15     1      vmXMLString  Ljava/lang/String;
            3    5     2      inputStream  Ljava/io/ByteArrayInputStream;
            6    7     2              ioe  Ljava/io/IOException;
            9   14     2    stateLocation  Lorg/eclipse/core/runtime/IPath;
           10   14     3        stateFile  Lorg/eclipse/core/runtime/IPath;
           11   14     4             file  Ljava/io/File;
           13   14     5  fileInputStream  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      vmDefs  

  private static void addVMExtensions(org.eclipse.jdt.internal.launching.VMDefinitionsContainer);
    descriptor: (Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=29, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
         0: .line 1956
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.launching"
            ldc "vmInstalls"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 1 /* extensionPoint */
        start local 1 // org.eclipse.core.runtime.IExtensionPoint extensionPoint
         1: .line 1957
            aload 1 /* extensionPoint */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 2 /* configs */
        start local 2 // org.eclipse.core.runtime.IConfigurationElement[] configs
         2: .line 1958
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 133
         4: .line 1959
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            aload 2 /* configs */
            iload 3 /* i */
            aaload
            astore 4 /* element */
        start local 4 // org.eclipse.core.runtime.IConfigurationElement element
         5: .line 1961
            ldc "vmInstall"
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 124
         6: .line 1962
            aload 4 /* element */
            ldc "vmInstallType"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* vmType */
        start local 5 // java.lang.String vmType
         7: .line 1963
            aload 5 /* vmType */
            ifnonnull 13
         8: .line 1964
            ldc "Missing required vmInstallType attribute for vmInstall contributed by {0}"
         9: .line 1965
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        10: .line 1964
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        11: .line 1965
            aconst_null
        12: .line 1964
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        13: .line 1967
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement java.lang.String
      StackMap stack:
            aload 4 /* element */
            ldc "id"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* id */
        start local 6 // java.lang.String id
        14: .line 1968
            aload 6 /* id */
            ifnonnull 20
        15: .line 1969
            ldc "Missing required id attribute for vmInstall contributed by {0}"
        16: .line 1970
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        17: .line 1969
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        18: .line 1970
            aconst_null
        19: .line 1969
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        20: .line 1972
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* vmType */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 7 /* installType */
        start local 7 // org.eclipse.jdt.launching.IVMInstallType installType
        21: .line 1973
            aload 7 /* installType */
            ifnonnull 27
        22: .line 1974
            ldc "vmInstall {0} contributed by {1} references undefined VM install type {2}"
        23: .line 1975
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* id */
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 5 /* vmType */
            aastore
        24: .line 1974
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        25: .line 1975
            aconst_null
        26: .line 1974
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        27: .line 1977
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType
      StackMap stack:
            aload 7 /* installType */
            aload 6 /* id */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.findVMInstall:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            astore 8 /* install */
        start local 8 // org.eclipse.jdt.launching.IVMInstall install
        28: .line 1978
            aload 8 /* install */
            ifnonnull 122
        29: .line 1980
            aload 4 /* element */
            ldc "name"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        30: .line 1981
            aload 9 /* name */
            ifnonnull 36
        31: .line 1982
            ldc "vmInstall {0} contributed by {1} missing required attribute name"
        32: .line 1983
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* id */
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        33: .line 1982
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        34: .line 1983
            aconst_null
        35: .line 1982
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        36: .line 1985
      StackMap locals: org.eclipse.jdt.launching.IVMInstall java.lang.String
      StackMap stack:
            aload 4 /* element */
            ldc "home"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* home */
        start local 10 // java.lang.String home
        37: .line 1986
            aload 10 /* home */
            ifnonnull 43
        38: .line 1987
            ldc "vmInstall {0} contributed by {1} missing required attribute home"
        39: .line 1988
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* id */
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        40: .line 1987
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        41: .line 1988
            aconst_null
        42: .line 1987
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        43: .line 1990
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* element */
            ldc "javadocURL"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* javadoc */
        start local 11 // java.lang.String javadoc
        44: .line 1991
            aload 4 /* element */
            ldc "vmArgs"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* vmArgs */
        start local 12 // java.lang.String vmArgs
        45: .line 1992
            aconst_null
            astore 13 /* standin */
        start local 13 // org.eclipse.jdt.launching.VMStandin standin
        46: .line 1993
            aload 10 /* home */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.substitute:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* home */
        47: .line 1994
            new java.io.File
            dup
            aload 10 /* home */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 14 /* homeDir */
        start local 14 // java.io.File homeDir
        48: .line 1995
            aload 14 /* homeDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 53
        49: .line 1998
            aload 14 /* homeDir */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 10 /* home */
        50: .line 1999
            new java.io.File
            dup
            aload 10 /* home */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 14 /* homeDir */
        51: .line 2000
            goto 53
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.core.runtime.IConfigurationElement java.lang.String java.lang.String org.eclipse.jdt.launching.IVMInstallType org.eclipse.jdt.launching.IVMInstall java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jdt.launching.VMStandin java.io.File
      StackMap stack: java.io.IOException
        52: pop
        53: .line 2003
      StackMap locals:
      StackMap stack:
            ldc "org.eclipse.jdt.launching.EEVMType"
            aload 7 /* installType */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 56
        54: .line 2004
            aload 14 /* homeDir */
            aload 9 /* name */
            aload 6 /* id */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.createVMFromDefinitionFile:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/launching/VMStandin;
            astore 13 /* standin */
        55: .line 2005
            goto 120
        56: .line 2006
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.launching.VMStandin
            dup
            aload 7 /* installType */
            aload 6 /* id */
            invokespecial org.eclipse.jdt.launching.VMStandin.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/lang/String;)V
            astore 13 /* standin */
        57: .line 2007
            aload 13 /* standin */
            aload 9 /* name */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setName:(Ljava/lang/String;)V
        58: .line 2008
            aload 7 /* installType */
            aload 14 /* homeDir */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.validateInstallLocation:(Ljava/io/File;)Lorg/eclipse/core/runtime/IStatus;
            astore 15 /* status */
        start local 15 // org.eclipse.core.runtime.IStatus status
        59: .line 2009
            aload 15 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.isOK:()Z
            ifne 65
        60: .line 2010
            ldc "Illegal install location {0} for vmInstall {1} contributed by {2}: {3}"
        61: .line 2011
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            aload 10 /* home */
            aastore
            dup
            iconst_1
            aload 6 /* id */
            aastore
            dup
            iconst_2
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 15 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.getMessage:()Ljava/lang/String;
            aastore
        62: .line 2010
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        63: .line 2011
            aconst_null
        64: .line 2010
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        65: .line 2013
      StackMap locals: org.eclipse.core.runtime.IStatus
      StackMap stack:
            aload 13 /* standin */
            aload 14 /* homeDir */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setInstallLocation:(Ljava/io/File;)V
        66: .line 2014
            aload 11 /* javadoc */
            ifnull 75
        67: .line 2016
            aload 13 /* standin */
            new java.net.URL
            dup
            aload 11 /* javadoc */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual org.eclipse.jdt.launching.VMStandin.setJavadocLocation:(Ljava/net/URL;)V
        68: .line 2017
            goto 75
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
        69: astore 16 /* e */
        start local 16 // java.net.MalformedURLException e
        70: .line 2018
            ldc "Illegal javadocURL attribute for vmInstall {0} contributed by {1}"
        71: .line 2019
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* id */
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        72: .line 2018
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        73: .line 2019
            aload 16 /* e */
        74: .line 2018
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 16 // java.net.MalformedURLException e
        75: .line 2023
      StackMap locals:
      StackMap stack:
            aload 12 /* vmArgs */
            ifnonnull 79
        76: .line 2024
            aload 7 /* installType */
            instanceof org.eclipse.jdt.launching.AbstractVMInstallType
            ifeq 79
        77: .line 2025
            aload 7 /* installType */
            checkcast org.eclipse.jdt.launching.AbstractVMInstallType
            astore 16 /* type */
        start local 16 // org.eclipse.jdt.launching.AbstractVMInstallType type
        78: .line 2026
            aload 16 /* type */
            aload 14 /* homeDir */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultVMArguments:(Ljava/io/File;)Ljava/lang/String;
            astore 12 /* vmArgs */
        end local 16 // org.eclipse.jdt.launching.AbstractVMInstallType type
        79: .line 2029
      StackMap locals:
      StackMap stack:
            aload 12 /* vmArgs */
            ifnull 81
        80: .line 2030
            aload 13 /* standin */
            aload 12 /* vmArgs */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setVMArgs:(Ljava/lang/String;)V
        81: .line 2032
      StackMap locals:
      StackMap stack:
            aload 4 /* element */
            ldc "library"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getChildren:(Ljava/lang/String;)[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 16 /* libraries */
        start local 16 // org.eclipse.core.runtime.IConfigurationElement[] libraries
        82: .line 2033
            aconst_null
            astore 17 /* locations */
        start local 17 // org.eclipse.jdt.launching.LibraryLocation[] locations
        83: .line 2034
            aload 16 /* libraries */
            arraylength
            ifle 119
        84: .line 2035
            aload 16 /* libraries */
            arraylength
            anewarray org.eclipse.jdt.launching.LibraryLocation
            astore 17 /* locations */
        85: .line 2036
            iconst_0
            istore 18 /* j */
        start local 18 // int j
        86: goto 118
        87: .line 2037
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement[] org.eclipse.jdt.launching.LibraryLocation[] int
      StackMap stack:
            aload 16 /* libraries */
            iload 18 /* j */
            aaload
            astore 19 /* library */
        start local 19 // org.eclipse.core.runtime.IConfigurationElement library
        88: .line 2038
            aload 19 /* library */
            ldc "path"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 20 /* libPathStr */
        start local 20 // java.lang.String libPathStr
        89: .line 2039
            aload 20 /* libPathStr */
            ifnonnull 95
        90: .line 2040
            ldc "library for vmInstall {0} contributed by {1} missing required attribute libPath"
        91: .line 2041
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* id */
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
        92: .line 2040
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        93: .line 2041
            aconst_null
        94: .line 2040
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        95: .line 2043
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement java.lang.String
      StackMap stack:
            aload 19 /* library */
            ldc "sourcePath"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 21 /* sourcePathStr */
        start local 21 // java.lang.String sourcePathStr
        96: .line 2044
            aload 19 /* library */
            ldc "packageRootPath"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 22 /* packageRootStr */
        start local 22 // java.lang.String packageRootStr
        97: .line 2045
            aload 19 /* library */
            ldc "javadocURL"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 23 /* javadocOverride */
        start local 23 // java.lang.String javadocOverride
        98: .line 2046
            aconst_null
            astore 24 /* url */
        start local 24 // java.net.URL url
        99: .line 2047
            aload 23 /* javadocOverride */
            ifnull 108
       100: .line 2049
            new java.net.URL
            dup
            aload 23 /* javadocOverride */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 24 /* url */
       101: .line 2050
            goto 108
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.core.runtime.IConfigurationElement java.lang.String java.lang.String org.eclipse.jdt.launching.IVMInstallType org.eclipse.jdt.launching.IVMInstall java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jdt.launching.VMStandin java.io.File org.eclipse.core.runtime.IStatus org.eclipse.core.runtime.IConfigurationElement[] org.eclipse.jdt.launching.LibraryLocation[] int org.eclipse.core.runtime.IConfigurationElement java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL
      StackMap stack: java.net.MalformedURLException
       102: astore 25 /* e */
        start local 25 // java.net.MalformedURLException e
       103: .line 2051
            ldc "Illegal javadocURL attribute specified for library {0} for vmInstall {1} contributed by {2}"
       104: .line 2052
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            aload 20 /* libPathStr */
            aastore
            dup
            iconst_1
            aload 6 /* id */
            aastore
            dup
            iconst_2
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
       105: .line 2051
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       106: .line 2052
            aload 25 /* e */
       107: .line 2051
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 25 // java.net.MalformedURLException e
       108: .line 2055
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 10 /* home */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 25 /* homePath */
        start local 25 // org.eclipse.core.runtime.IPath homePath
       109: .line 2056
            aload 25 /* homePath */
            aload 20 /* libPathStr */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.substitute:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 26 /* libPath */
        start local 26 // org.eclipse.core.runtime.IPath libPath
       110: .line 2057
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            astore 27 /* sourcePath */
        start local 27 // org.eclipse.core.runtime.IPath sourcePath
       111: .line 2058
            aload 21 /* sourcePathStr */
            ifnull 113
       112: .line 2059
            aload 25 /* homePath */
            aload 21 /* sourcePathStr */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.substitute:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 27 /* sourcePath */
       113: .line 2061
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath
      StackMap stack:
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            astore 28 /* packageRootPath */
        start local 28 // org.eclipse.core.runtime.IPath packageRootPath
       114: .line 2062
            aload 22 /* packageRootStr */
            ifnull 116
       115: .line 2063
            new org.eclipse.core.runtime.Path
            dup
            aload 22 /* packageRootStr */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.substitute:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 28 /* packageRootPath */
       116: .line 2065
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 17 /* locations */
            iload 18 /* j */
            new org.eclipse.jdt.launching.LibraryLocation
            dup
            aload 26 /* libPath */
            aload 27 /* sourcePath */
            aload 28 /* packageRootPath */
            aload 24 /* url */
            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
            aastore
        end local 28 // org.eclipse.core.runtime.IPath packageRootPath
        end local 27 // org.eclipse.core.runtime.IPath sourcePath
        end local 26 // org.eclipse.core.runtime.IPath libPath
        end local 25 // org.eclipse.core.runtime.IPath homePath
        end local 24 // java.net.URL url
        end local 23 // java.lang.String javadocOverride
        end local 22 // java.lang.String packageRootStr
        end local 21 // java.lang.String sourcePathStr
        end local 20 // java.lang.String libPathStr
        end local 19 // org.eclipse.core.runtime.IConfigurationElement library
       117: .line 2036
            iinc 18 /* j */ 1
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.core.runtime.IConfigurationElement java.lang.String java.lang.String org.eclipse.jdt.launching.IVMInstallType org.eclipse.jdt.launching.IVMInstall java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jdt.launching.VMStandin java.io.File org.eclipse.core.runtime.IStatus org.eclipse.core.runtime.IConfigurationElement[] org.eclipse.jdt.launching.LibraryLocation[] int
      StackMap stack:
       118: iload 18 /* j */
            aload 16 /* libraries */
            arraylength
            if_icmplt 87
        end local 18 // int j
       119: .line 2068
      StackMap locals:
      StackMap stack:
            aload 13 /* standin */
            aload 17 /* locations */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setLibraryLocations:([Lorg/eclipse/jdt/launching/LibraryLocation;)V
        end local 17 // org.eclipse.jdt.launching.LibraryLocation[] locations
        end local 16 // org.eclipse.core.runtime.IConfigurationElement[] libraries
        end local 15 // org.eclipse.core.runtime.IStatus status
       120: .line 2071
      StackMap locals:
      StackMap stack:
            aload 0 /* vmDefs */
            aload 13 /* standin */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.removeVM:(Lorg/eclipse/jdt/launching/IVMInstall;)V
       121: .line 2072
            aload 0 /* vmDefs */
            aload 13 /* standin */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.addVM:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        end local 14 // java.io.File homeDir
        end local 13 // org.eclipse.jdt.launching.VMStandin standin
        end local 12 // java.lang.String vmArgs
        end local 11 // java.lang.String javadoc
        end local 10 // java.lang.String home
        end local 9 // java.lang.String name
       122: .line 2074
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.core.runtime.IConfigurationElement java.lang.String java.lang.String org.eclipse.jdt.launching.IVMInstallType org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgContributedVMs:Ljava/util/Set;
            aload 6 /* id */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.eclipse.jdt.launching.IVMInstall install
        end local 7 // org.eclipse.jdt.launching.IVMInstallType installType
        end local 6 // java.lang.String id
        end local 5 // java.lang.String vmType
       123: .line 2075
            goto 132
       124: .line 2076
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.core.runtime.IConfigurationElement
      StackMap stack:
            ldc "Illegal element {0} in vmInstalls extension contributed by {1}"
       125: .line 2077
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* element */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getContributor:()Lorg/eclipse/core/runtime/IContributor;
            invokeinterface org.eclipse.core.runtime.IContributor.getName:()Ljava/lang/String;
            aastore
       126: .line 2076
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       127: .line 2077
            aconst_null
       128: .line 2076
            invokestatic org.eclipse.jdt.launching.JavaRuntime.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
       129: .line 2079
            goto 132
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
       130: astore 5 /* e */
        start local 5 // org.eclipse.core.runtime.CoreException e
       131: .line 2080
            aload 5 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 5 // org.eclipse.core.runtime.CoreException e
        end local 4 // org.eclipse.core.runtime.IConfigurationElement element
       132: .line 1958
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
       133: iload 3 /* i */
            aload 2 /* configs */
            arraylength
            if_icmplt 4
        end local 3 // int i
       134: .line 2083
            return
        end local 2 // org.eclipse.core.runtime.IConfigurationElement[] configs
        end local 1 // org.eclipse.core.runtime.IExtensionPoint extensionPoint
        end local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  135     0           vmDefs  Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;
            1  135     1   extensionPoint  Lorg/eclipse/core/runtime/IExtensionPoint;
            2  135     2          configs  [Lorg/eclipse/core/runtime/IConfigurationElement;
            3  134     3                i  I
            5  132     4          element  Lorg/eclipse/core/runtime/IConfigurationElement;
            7  123     5           vmType  Ljava/lang/String;
           14  123     6               id  Ljava/lang/String;
           21  123     7      installType  Lorg/eclipse/jdt/launching/IVMInstallType;
           28  123     8          install  Lorg/eclipse/jdt/launching/IVMInstall;
           30  122     9             name  Ljava/lang/String;
           37  122    10             home  Ljava/lang/String;
           44  122    11          javadoc  Ljava/lang/String;
           45  122    12           vmArgs  Ljava/lang/String;
           46  122    13          standin  Lorg/eclipse/jdt/launching/VMStandin;
           48  122    14          homeDir  Ljava/io/File;
           59  120    15           status  Lorg/eclipse/core/runtime/IStatus;
           70   75    16                e  Ljava/net/MalformedURLException;
           78   79    16             type  Lorg/eclipse/jdt/launching/AbstractVMInstallType;
           82  120    16        libraries  [Lorg/eclipse/core/runtime/IConfigurationElement;
           83  120    17        locations  [Lorg/eclipse/jdt/launching/LibraryLocation;
           86  119    18                j  I
           88  117    19          library  Lorg/eclipse/core/runtime/IConfigurationElement;
           89  117    20       libPathStr  Ljava/lang/String;
           96  117    21    sourcePathStr  Ljava/lang/String;
           97  117    22   packageRootStr  Ljava/lang/String;
           98  117    23  javadocOverride  Ljava/lang/String;
           99  117    24              url  Ljava/net/URL;
          103  108    25                e  Ljava/net/MalformedURLException;
          109  117    25         homePath  Lorg/eclipse/core/runtime/IPath;
          110  117    26          libPath  Lorg/eclipse/core/runtime/IPath;
          111  117    27       sourcePath  Lorg/eclipse/core/runtime/IPath;
          114  117    28  packageRootPath  Lorg/eclipse/core/runtime/IPath;
          131  132     5                e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          49    51      52  Class java.io.IOException
          67    68      69  Class java.net.MalformedURLException
         100   101     102  Class java.net.MalformedURLException
           5   129     130  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
        Name  Flags
      vmDefs  

  private static java.lang.String substitute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String expression
         0: .line 2094
            invokestatic org.eclipse.core.variables.VariablesPlugin.getDefault:()Lorg/eclipse/core/variables/VariablesPlugin;
            invokevirtual org.eclipse.core.variables.VariablesPlugin.getStringVariableManager:()Lorg/eclipse/core/variables/IStringVariableManager;
            aload 0 /* expression */
            invokeinterface org.eclipse.core.variables.IStringVariableManager.performStringSubstitution:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
            Name  Flags
      expression  

  public static boolean isContributedVMInstall(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String id
         0: .line 2106
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes:()[Lorg/eclipse/jdt/launching/IVMInstallType;
            pop
         1: .line 2107
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgContributedVMs:Ljava/util/Set;
            aload 0 /* id */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public static org.eclipse.jdt.launching.LibraryLocation[] getLibraryLocations(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)[Lorg/eclipse/jdt/launching/LibraryLocation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=12, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 2124
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getLibraryLocations:()[Lorg/eclipse/jdt/launching/LibraryLocation;
            astore 7 /* locations */
        start local 7 // org.eclipse.jdt.launching.LibraryLocation[] locations
         1: .line 2125
            aload 7 /* locations */
            ifnonnull 33
         2: .line 2126
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getJavadocLocation:()Ljava/net/URL;
            astore 8 /* defJavaDocLocation */
        start local 8 // java.net.URL defJavaDocLocation
         3: .line 2127
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getInstallLocation:()Ljava/io/File;
            astore 9 /* installLocation */
        start local 9 // java.io.File installLocation
         4: .line 2128
            aload 9 /* installLocation */
            ifnonnull 6
         5: .line 2129
            iconst_0
            anewarray org.eclipse.jdt.launching.LibraryLocation
            areturn
         6: .line 2131
      StackMap locals: org.eclipse.jdt.launching.IVMInstall top top top top top top org.eclipse.jdt.launching.LibraryLocation[] java.net.URL java.io.File
      StackMap stack:
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMInstallType:()Lorg/eclipse/jdt/launching/IVMInstallType;
            aload 9 /* installLocation */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
            astore 10 /* dflts */
        start local 10 // org.eclipse.jdt.launching.LibraryLocation[] dflts
         7: .line 2132
            aload 10 /* dflts */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 1 /* libraryPaths */
        start local 1 // org.eclipse.core.runtime.IPath[] libraryPaths
         8: .line 2133
            aload 10 /* dflts */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 2 /* sourcePaths */
        start local 2 // org.eclipse.core.runtime.IPath[] sourcePaths
         9: .line 2134
            aload 10 /* dflts */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 3 /* sourceRootPaths */
        start local 3 // org.eclipse.core.runtime.IPath[] sourceRootPaths
        10: .line 2135
            aload 10 /* dflts */
            arraylength
            anewarray java.net.URL
            astore 5 /* javadocLocations */
        start local 5 // java.net.URL[] javadocLocations
        11: .line 2136
            aload 10 /* dflts */
            arraylength
            anewarray java.net.URL
            astore 6 /* indexes */
        start local 6 // java.net.URL[] indexes
        12: .line 2137
            aload 10 /* dflts */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 4 /* annotationPaths */
        start local 4 // org.eclipse.core.runtime.IPath[] annotationPaths
        13: .line 2138
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        14: goto 31
        15: .line 2139
      StackMap locals: org.eclipse.jdt.launching.IVMInstall org.eclipse.core.runtime.IPath[] 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.LibraryLocation[] java.net.URL java.io.File org.eclipse.jdt.launching.LibraryLocation[] int
      StackMap stack:
            aload 1 /* libraryPaths */
            iload 11 /* i */
            aload 10 /* dflts */
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibraryPath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        16: .line 2140
            aload 8 /* defJavaDocLocation */
            ifnonnull 19
        17: .line 2141
            aload 5 /* javadocLocations */
            iload 11 /* i */
            aload 10 /* dflts */
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getJavadocLocation:()Ljava/net/URL;
            aastore
        18: .line 2142
            goto 20
        19: .line 2143
      StackMap locals:
      StackMap stack:
            aload 5 /* javadocLocations */
            iload 11 /* i */
            aload 8 /* defJavaDocLocation */
            aastore
        20: .line 2145
      StackMap locals:
      StackMap stack:
            aload 6 /* indexes */
            iload 11 /* i */
            aload 10 /* dflts */
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getIndexLocation:()Ljava/net/URL;
            aastore
        21: .line 2146
            aload 1 /* libraryPaths */
            iload 11 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            ifne 23
        22: .line 2147
            aload 1 /* libraryPaths */
            iload 11 /* i */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            aastore
        23: .line 2150
      StackMap locals:
      StackMap stack:
            aload 4 /* annotationPaths */
            iload 11 /* i */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            aastore
        24: .line 2152
            aload 2 /* sourcePaths */
            iload 11 /* i */
            aload 10 /* dflts */
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibrarySourcePath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        25: .line 2153
            aload 2 /* sourcePaths */
            iload 11 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            ifeq 28
        26: .line 2154
            aload 3 /* sourceRootPaths */
            iload 11 /* i */
            aload 10 /* dflts */
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getPackageRootPath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        27: .line 2155
            goto 30
        28: .line 2156
      StackMap locals:
      StackMap stack:
            aload 2 /* sourcePaths */
            iload 11 /* i */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            aastore
        29: .line 2157
            aload 3 /* sourceRootPaths */
            iload 11 /* i */
            getstatic org.eclipse.core.runtime.Path.EMPTY:Lorg/eclipse/core/runtime/Path;
            aastore
        30: .line 2138
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 11 /* i */
            aload 10 /* dflts */
            arraylength
            if_icmplt 15
        end local 11 // int i
        end local 10 // org.eclipse.jdt.launching.LibraryLocation[] dflts
        end local 9 // java.io.File installLocation
        end local 8 // java.net.URL defJavaDocLocation
        32: .line 2160
            goto 49
        end local 6 // java.net.URL[] indexes
        end local 5 // java.net.URL[] javadocLocations
        end local 4 // org.eclipse.core.runtime.IPath[] annotationPaths
        end local 3 // org.eclipse.core.runtime.IPath[] sourceRootPaths
        end local 2 // org.eclipse.core.runtime.IPath[] sourcePaths
        end local 1 // org.eclipse.core.runtime.IPath[] libraryPaths
        33: .line 2161
      StackMap locals: org.eclipse.jdt.launching.IVMInstall top top top top top top org.eclipse.jdt.launching.LibraryLocation[]
      StackMap stack:
            aload 7 /* locations */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 1 /* libraryPaths */
        start local 1 // org.eclipse.core.runtime.IPath[] libraryPaths
        34: .line 2162
            aload 7 /* locations */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 2 /* sourcePaths */
        start local 2 // org.eclipse.core.runtime.IPath[] sourcePaths
        35: .line 2163
            aload 7 /* locations */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 3 /* sourceRootPaths */
        start local 3 // org.eclipse.core.runtime.IPath[] sourceRootPaths
        36: .line 2164
            aload 7 /* locations */
            arraylength
            anewarray java.net.URL
            astore 5 /* javadocLocations */
        start local 5 // java.net.URL[] javadocLocations
        37: .line 2165
            aload 7 /* locations */
            arraylength
            anewarray java.net.URL
            astore 6 /* indexes */
        start local 6 // java.net.URL[] indexes
        38: .line 2166
            aload 7 /* locations */
            arraylength
            anewarray org.eclipse.core.runtime.IPath
            astore 4 /* annotationPaths */
        start local 4 // org.eclipse.core.runtime.IPath[] annotationPaths
        39: .line 2167
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        40: goto 48
        41: .line 2168
      StackMap locals: org.eclipse.jdt.launching.IVMInstall org.eclipse.core.runtime.IPath[] 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.LibraryLocation[] int
      StackMap stack:
            aload 1 /* libraryPaths */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibraryPath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        42: .line 2169
            aload 2 /* sourcePaths */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibrarySourcePath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        43: .line 2170
            aload 3 /* sourceRootPaths */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getPackageRootPath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        44: .line 2171
            aload 5 /* javadocLocations */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getJavadocLocation:()Ljava/net/URL;
            aastore
        45: .line 2172
            aload 4 /* annotationPaths */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getExternalAnnotationsPath:()Lorg/eclipse/core/runtime/IPath;
            aastore
        46: .line 2173
            aload 6 /* indexes */
            iload 8 /* i */
            aload 7 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getIndexLocation:()Ljava/net/URL;
            aastore
        47: .line 2167
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 8 /* i */
            aload 7 /* locations */
            arraylength
            if_icmplt 41
        end local 8 // int i
        49: .line 2176
      StackMap locals:
      StackMap stack:
            aload 2 /* sourcePaths */
            arraylength
            anewarray org.eclipse.jdt.launching.LibraryLocation
            astore 7 /* locations */
        50: .line 2177
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        51: goto 54
        52: .line 2178
      StackMap locals: int
      StackMap stack:
            aload 7 /* locations */
            iload 8 /* i */
            new org.eclipse.jdt.launching.LibraryLocation
            dup
            aload 1 /* libraryPaths */
            iload 8 /* i */
            aaload
            aload 2 /* sourcePaths */
            iload 8 /* i */
            aaload
            aload 3 /* sourceRootPaths */
            iload 8 /* i */
            aaload
            aload 5 /* javadocLocations */
            iload 8 /* i */
            aaload
            aload 6 /* indexes */
            iload 8 /* i */
            aaload
            aload 4 /* annotationPaths */
            iload 8 /* i */
            aaload
            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;Lorg/eclipse/core/runtime/IPath;)V
            aastore
        53: .line 2177
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 8 /* i */
            aload 2 /* sourcePaths */
            arraylength
            if_icmplt 52
        end local 8 // int i
        55: .line 2180
            aload 7 /* locations */
            areturn
        end local 7 // org.eclipse.jdt.launching.LibraryLocation[] locations
        end local 6 // java.net.URL[] indexes
        end local 5 // java.net.URL[] javadocLocations
        end local 4 // org.eclipse.core.runtime.IPath[] annotationPaths
        end local 3 // org.eclipse.core.runtime.IPath[] sourceRootPaths
        end local 2 // org.eclipse.core.runtime.IPath[] sourcePaths
        end local 1 // org.eclipse.core.runtime.IPath[] libraryPaths
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   56     0                  vm  Lorg/eclipse/jdt/launching/IVMInstall;
            8   33     1        libraryPaths  [Lorg/eclipse/core/runtime/IPath;
           34   56     1        libraryPaths  [Lorg/eclipse/core/runtime/IPath;
            9   33     2         sourcePaths  [Lorg/eclipse/core/runtime/IPath;
           35   56     2         sourcePaths  [Lorg/eclipse/core/runtime/IPath;
           10   33     3     sourceRootPaths  [Lorg/eclipse/core/runtime/IPath;
           36   56     3     sourceRootPaths  [Lorg/eclipse/core/runtime/IPath;
           13   33     4     annotationPaths  [Lorg/eclipse/core/runtime/IPath;
           39   56     4     annotationPaths  [Lorg/eclipse/core/runtime/IPath;
           11   33     5    javadocLocations  [Ljava/net/URL;
           37   56     5    javadocLocations  [Ljava/net/URL;
           12   33     6             indexes  [Ljava/net/URL;
           38   56     6             indexes  [Ljava/net/URL;
            1   56     7           locations  [Lorg/eclipse/jdt/launching/LibraryLocation;
            3   32     8  defJavaDocLocation  Ljava/net/URL;
            4   32     9     installLocation  Ljava/io/File;
            7   32    10               dflts  [Lorg/eclipse/jdt/launching/LibraryLocation;
           14   32    11                   i  I
           40   49     8                   i  I
           51   55     8                   i  I
    MethodParameters:
      Name  Flags
      vm    

  private static org.eclipse.jdt.launching.VMStandin detectEclipseRuntime();
    descriptor: ()Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=0
         0: .line 2191
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes:()[Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 0 /* vmTypes */
        start local 0 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
         1: .line 2193
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 19
         3: .line 2194
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int
      StackMap stack:
            aload 0 /* vmTypes */
            iload 1 /* i */
            aaload
            instanceof org.eclipse.jdt.internal.launching.EEVMType
            ifeq 18
         4: .line 2195
            ldc "ee.filename"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* eeFileName */
        start local 2 // java.lang.String eeFileName
         5: .line 2196
            aload 2 /* eeFileName */
            ifnull 18
         6: .line 2197
            new java.io.File
            dup
            aload 2 /* eeFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* vmFile */
        start local 3 // java.io.File vmFile
         7: .line 2198
            aload 3 /* vmFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 9
         8: .line 2199
            new java.io.File
            dup
            aload 3 /* vmFile */
            ldc "default.ee"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* vmFile */
         9: .line 2201
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 3 /* vmFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 18
        10: .line 2203
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* unique */
        start local 4 // long unique
        11: .line 2204
            goto 13
        12: .line 2205
      StackMap locals: long
      StackMap stack:
            lload 4 /* unique */
            lconst_1
            ladd
            lstore 4 /* unique */
        13: .line 2204
      StackMap locals:
      StackMap stack:
            aload 0 /* vmTypes */
            iload 1 /* i */
            aaload
            lload 4 /* unique */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.findVMInstall:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            ifnonnull 12
        14: .line 2209
            lload 4 /* unique */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            astore 6 /* vmID */
        start local 6 // java.lang.String vmID
        15: .line 2211
            aload 3 /* vmFile */
            ldc ""
            aload 6 /* vmID */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.createVMFromDefinitionFile:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/launching/VMStandin;
        16: areturn
        17: .line 2212
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int java.lang.String java.io.File long java.lang.String
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        end local 6 // java.lang.String vmID
        end local 4 // long unique
        end local 3 // java.io.File vmFile
        end local 2 // java.lang.String eeFileName
        18: .line 2193
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 1 /* i */
            aload 0 /* vmTypes */
            arraylength
            if_icmplt 3
        end local 1 // int i
        20: .line 2221
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        21: goto 47
        22: .line 2222
      StackMap locals:
      StackMap stack:
            aload 0 /* vmTypes */
            iload 1 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.detectInstallLocation:()Ljava/io/File;
            astore 2 /* detectedLocation */
        start local 2 // java.io.File detectedLocation
        23: .line 2223
            aload 2 /* detectedLocation */
            ifnull 46
        24: .line 2226
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* unique */
        start local 3 // long unique
        25: .line 2227
            aload 0 /* vmTypes */
            iload 1 /* i */
            aaload
            astore 5 /* vmType */
        start local 5 // org.eclipse.jdt.launching.IVMInstallType vmType
        26: .line 2228
            goto 28
        27: .line 2229
      StackMap locals: java.io.File long org.eclipse.jdt.launching.IVMInstallType
      StackMap stack:
            lload 3 /* unique */
            lconst_1
            ladd
            lstore 3 /* unique */
        28: .line 2228
      StackMap locals:
      StackMap stack:
            aload 5 /* vmType */
            lload 3 /* unique */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.findVMInstall:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstall;
            ifnonnull 27
        29: .line 2233
            lload 3 /* unique */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            astore 6 /* vmID */
        start local 6 // java.lang.String vmID
        30: .line 2234
            new org.eclipse.jdt.launching.VMStandin
            dup
            aload 5 /* vmType */
            aload 6 /* vmID */
            invokespecial org.eclipse.jdt.launching.VMStandin.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/lang/String;)V
            astore 7 /* detectedVMStandin */
        start local 7 // org.eclipse.jdt.launching.VMStandin detectedVMStandin
        31: .line 2237
            new java.io.File
            dup
            aload 2 /* detectedLocation */
            ldc "plugins"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 8 /* pluginDir */
        start local 8 // java.io.File pluginDir
        32: .line 2238
            new java.io.File
            dup
            aload 2 /* detectedLocation */
            ldc "features"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 9 /* featuresDir */
        start local 9 // java.io.File featuresDir
        33: .line 2239
            aload 8 /* pluginDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 36
            aload 9 /* featuresDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 36
        34: .line 2240
            aload 5 /* vmType */
            aload 2 /* detectedLocation */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isJREVersionAbove8:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/io/File;)Z
            ifeq 36
        35: .line 2241
            new java.io.File
            dup
            aload 2 /* detectedLocation */
            ldc "jre"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* detectedLocation */
        36: .line 2244
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int java.io.File long org.eclipse.jdt.launching.IVMInstallType java.lang.String org.eclipse.jdt.launching.VMStandin java.io.File java.io.File
      StackMap stack:
            aload 7 /* detectedVMStandin */
            aload 2 /* detectedLocation */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setInstallLocation:(Ljava/io/File;)V
        37: .line 2245
            aload 7 /* detectedVMStandin */
            aload 7 /* detectedVMStandin */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.generateDetectedVMName:(Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setName:(Ljava/lang/String;)V
        38: .line 2246
            aload 5 /* vmType */
            instanceof org.eclipse.jdt.launching.AbstractVMInstallType
            ifeq 45
        39: .line 2247
            aload 5 /* vmType */
            checkcast org.eclipse.jdt.launching.AbstractVMInstallType
            astore 10 /* abs */
        start local 10 // org.eclipse.jdt.launching.AbstractVMInstallType abs
        40: .line 2248
            aload 10 /* abs */
            aload 2 /* detectedLocation */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultJavadocLocation:(Ljava/io/File;)Ljava/net/URL;
            astore 11 /* url */
        start local 11 // java.net.URL url
        41: .line 2249
            aload 7 /* detectedVMStandin */
            aload 11 /* url */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setJavadocLocation:(Ljava/net/URL;)V
        42: .line 2250
            aload 10 /* abs */
            aload 2 /* detectedLocation */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultVMArguments:(Ljava/io/File;)Ljava/lang/String;
            astore 12 /* arguments */
        start local 12 // java.lang.String arguments
        43: .line 2251
            aload 12 /* arguments */
            ifnull 45
        44: .line 2252
            aload 7 /* detectedVMStandin */
            aload 12 /* arguments */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setVMArgs:(Ljava/lang/String;)V
        end local 12 // java.lang.String arguments
        end local 11 // java.net.URL url
        end local 10 // org.eclipse.jdt.launching.AbstractVMInstallType abs
        45: .line 2255
      StackMap locals:
      StackMap stack:
            aload 7 /* detectedVMStandin */
            areturn
        end local 9 // java.io.File featuresDir
        end local 8 // java.io.File pluginDir
        end local 7 // org.eclipse.jdt.launching.VMStandin detectedVMStandin
        end local 6 // java.lang.String vmID
        end local 5 // org.eclipse.jdt.launching.IVMInstallType vmType
        end local 3 // long unique
        end local 2 // java.io.File detectedLocation
        46: .line 2221
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 1 /* i */
            aload 0 /* vmTypes */
            arraylength
            if_icmplt 22
        end local 1 // int i
        48: .line 2258
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.launching.IVMInstallType[] vmTypes
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1   49     0            vmTypes  [Lorg/eclipse/jdt/launching/IVMInstallType;
            2   20     1                  i  I
            5   18     2         eeFileName  Ljava/lang/String;
            7   18     3             vmFile  Ljava/io/File;
           11   18     4             unique  J
           15   18     6               vmID  Ljava/lang/String;
           21   48     1                  i  I
           23   46     2   detectedLocation  Ljava/io/File;
           25   46     3             unique  J
           26   46     5             vmType  Lorg/eclipse/jdt/launching/IVMInstallType;
           30   46     6               vmID  Ljava/lang/String;
           31   46     7  detectedVMStandin  Lorg/eclipse/jdt/launching/VMStandin;
           32   46     8          pluginDir  Ljava/io/File;
           33   46     9        featuresDir  Ljava/io/File;
           40   45    10                abs  Lorg/eclipse/jdt/launching/AbstractVMInstallType;
           41   45    11                url  Ljava/net/URL;
           43   45    12          arguments  Ljava/lang/String;
      Exception table:
        from    to  target  type
          15    16      17  Class org.eclipse.core.runtime.CoreException

  private static boolean isJREVersionAbove8(org.eclipse.jdt.launching.IVMInstallType, java.io.File);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.launching.IVMInstallType vmType
        start local 1 // java.io.File installLocation
         0: .line 2262
            aload 0 /* vmType */
            aload 1 /* installLocation */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
            astore 2 /* locations */
        start local 2 // org.eclipse.jdt.launching.LibraryLocation[] locations
         1: .line 2263
            iconst_1
            istore 3 /* exist */
        start local 3 // boolean exist
         2: .line 2264
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 2265
      StackMap locals: org.eclipse.jdt.launching.LibraryLocation[] int int
      StackMap stack:
            iload 3 /* exist */
            ifeq 5
            new java.io.File
            dup
            aload 2 /* locations */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibraryPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* exist */
         7: .line 2264
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 2 /* locations */
            arraylength
            if_icmplt 4
        end local 4 // int i
         9: .line 2267
            iload 3 /* exist */
            ifeq 11
        10: .line 2268
            iconst_0
            ireturn
        11: .line 2270
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* exist */
        12: .line 2271
            aload 0 /* vmType */
            new java.io.File
            dup
            aload 1 /* installLocation */
            ldc "jre"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
            astore 4 /* newLocations */
        start local 4 // org.eclipse.jdt.launching.LibraryLocation[] newLocations
        13: .line 2272
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 19
        15: .line 2273
      StackMap locals: org.eclipse.jdt.launching.LibraryLocation[] int
      StackMap stack:
            iload 3 /* exist */
            ifeq 16
            new java.io.File
            dup
            aload 4 /* newLocations */
            iload 5 /* i */
            aaload
            invokevirtual org.eclipse.jdt.launching.LibraryLocation.getSystemLibraryPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 3 /* exist */
        18: .line 2272
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 4 /* newLocations */
            arraylength
            if_icmplt 15
        end local 5 // int i
        20: .line 2275
            iload 3 /* exist */
            ireturn
        end local 4 // org.eclipse.jdt.launching.LibraryLocation[] newLocations
        end local 3 // boolean exist
        end local 2 // org.eclipse.jdt.launching.LibraryLocation[] locations
        end local 1 // java.io.File installLocation
        end local 0 // org.eclipse.jdt.launching.IVMInstallType vmType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0           vmType  Lorg/eclipse/jdt/launching/IVMInstallType;
            0   21     1  installLocation  Ljava/io/File;
            1   21     2        locations  [Lorg/eclipse/jdt/launching/LibraryLocation;
            2   21     3            exist  Z
            3    9     4                i  I
           13   21     4     newLocations  [Lorg/eclipse/jdt/launching/LibraryLocation;
           14   20     5                i  I
    MethodParameters:
                 Name  Flags
      vmType           
      installLocation  

  private static boolean equals(java.lang.String, java.util.Map<?, ?>, org.osgi.service.prefs.Preferences);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String optionName
        start local 1 // java.util.Map options
        start local 2 // org.osgi.service.prefs.Preferences prefStore
         0: .line 2296
            new java.lang.String
            dup
            invokespecial java.lang.String.<init>:()V
            astore 3 /* dummy */
        start local 3 // java.lang.String dummy
         1: .line 2297
            aload 2 /* prefStore */
            aload 0 /* optionName */
            aload 3 /* dummy */
            invokeinterface org.osgi.service.prefs.Preferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* prefValue */
        start local 4 // java.lang.String prefValue
         2: .line 2298
            aload 4 /* prefValue */
            ifnull 7
            aload 4 /* prefValue */
            aload 3 /* dummy */
            if_acmpeq 7
         3: .line 2299
            aload 1 /* options */
            aload 0 /* optionName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 2300
            aload 4 /* prefValue */
            aload 1 /* options */
            aload 0 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 6
         5: .line 2299
            iconst_1
            ireturn
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 2302
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            aload 0 /* optionName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 4 // java.lang.String prefValue
        end local 3 // java.lang.String dummy
        end local 2 // org.osgi.service.prefs.Preferences prefStore
        end local 1 // java.util.Map options
        end local 0 // java.lang.String optionName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  optionName  Ljava/lang/String;
            0   10     1     options  Ljava/util/Map<**>;
            0   10     2   prefStore  Lorg/osgi/service/prefs/Preferences;
            1   10     3       dummy  Ljava/lang/String;
            2   10     4   prefValue  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/Map<**>;Lorg/osgi/service/prefs/Preferences;)Z
    MethodParameters:
            Name  Flags
      optionName  
      options     
      prefStore   

  private static boolean equals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object o1
        start local 1 // java.lang.Object o2
         0: .line 2313
            aload 0 /* o1 */
            ifnonnull 3
         1: .line 2314
            aload 1 /* o2 */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 2316
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            aload 1 /* o2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object o2
        end local 0 // java.lang.Object o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    o1  Ljava/lang/Object;
            0    4     1    o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  private static java.lang.String generateDetectedVMName(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 2325
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getInstallLocation:()Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 2326
            aload 1 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* name */
         2: .line 2327
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 2328
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_25:Ljava/lang/String;
            astore 1 /* name */
         4: .line 2330
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    vm  Lorg/eclipse/jdt/launching/IVMInstall;
            1    5     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      vm    

  public static org.eclipse.jdt.core.IClasspathEntry getJREVariableEntry();
    descriptor: ()Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 2341
            new org.eclipse.core.runtime.Path
            dup
            ldc "JRE_LIB"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
         1: .line 2342
            new org.eclipse.core.runtime.Path
            dup
            ldc "JRE_SRC"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
         2: .line 2343
            new org.eclipse.core.runtime.Path
            dup
            ldc "JRE_SRCROOT"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
         3: .line 2340
            invokestatic org.eclipse.jdt.core.JavaCore.newVariableEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.jdt.core.IClasspathEntry getDefaultJREContainerEntry();
    descriptor: ()Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2355
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultJREContainerPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.core.JavaCore.newContainerEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.core.runtime.IPath newDefaultJREContainerPath();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 2366
            new org.eclipse.core.runtime.Path
            dup
            getstatic org.eclipse.jdt.launching.JavaRuntime.JRE_CONTAINER:Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.core.runtime.IPath newJREContainerPath(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 2378
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMInstallType:()Lorg/eclipse/jdt/launching/IVMInstallType;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getId:()Ljava/lang/String;
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newJREContainerPath:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    vm  Lorg/eclipse/jdt/launching/IVMInstall;
    MethodParameters:
      Name  Flags
      vm    

  public static org.eclipse.core.runtime.IPath newJREContainerPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String typeId
        start local 1 // java.lang.String name
         0: .line 2391
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultJREContainerPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* path */
        start local 2 // org.eclipse.core.runtime.IPath path
         1: .line 2392
            aload 2 /* path */
            aload 0 /* typeId */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* path */
         2: .line 2393
            aload 2 /* path */
            aload 1 /* name */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* path */
         3: .line 2394
            aload 2 /* path */
            areturn
        end local 2 // org.eclipse.core.runtime.IPath path
        end local 1 // java.lang.String name
        end local 0 // java.lang.String typeId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  typeId  Ljava/lang/String;
            0    4     1    name  Ljava/lang/String;
            1    4     2    path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
        Name  Flags
      typeId  
      name    

  public static org.eclipse.core.runtime.IPath newJREContainerPath(org.eclipse.jdt.launching.environments.IExecutionEnvironment);
    descriptor: (Lorg/eclipse/jdt/launching/environments/IExecutionEnvironment;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.launching.environments.IExecutionEnvironment environment
         0: .line 2406
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultJREContainerPath:()Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
        start local 1 // org.eclipse.core.runtime.IPath path
         1: .line 2407
            aload 1 /* path */
            ldc "org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
         2: .line 2408
            aload 1 /* path */
            aload 0 /* environment */
            invokeinterface org.eclipse.jdt.launching.environments.IExecutionEnvironment.getId:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.encodeEnvironmentId:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
         3: .line 2409
            aload 1 /* path */
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.launching.environments.IExecutionEnvironment environment
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  environment  Lorg/eclipse/jdt/launching/environments/IExecutionEnvironment;
            1    4     1         path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
             Name  Flags
      environment  

  public static org.eclipse.jdt.launching.IVMInstall getVMInstall(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IVMInstall;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath jreContainerPath
         0: .line 2422
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IVMInstall;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath jreContainerPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  jreContainerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                  Name  Flags
      jreContainerPath  

  public static java.lang.String getVMInstallTypeId(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath jreContainerPath
         0: .line 2434
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.isExecutionEnvironment:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 2
         1: .line 2435
            aconst_null
            areturn
         2: .line 2437
      StackMap locals:
      StackMap stack:
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.getVMTypeId:(Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath jreContainerPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  jreContainerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                  Name  Flags
      jreContainerPath  

  public static java.lang.String getVMInstallName(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath jreContainerPath
         0: .line 2449
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.isExecutionEnvironment:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 2
         1: .line 2450
            aconst_null
            areturn
         2: .line 2452
      StackMap locals:
      StackMap stack:
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.getVMName:(Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath jreContainerPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  jreContainerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                  Name  Flags
      jreContainerPath  

  public static java.lang.String getExecutionEnvironmentId(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath jreContainerPath
         0: .line 2464
            aload 0 /* jreContainerPath */
            invokestatic org.eclipse.jdt.internal.launching.JREContainerInitializer.getExecutionEnvironmentId:(Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.runtime.IPath jreContainerPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  jreContainerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                  Name  Flags
      jreContainerPath  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry computeJREEntry(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 2491
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* jreAttr */
        start local 1 // java.lang.String jreAttr
         1: .line 2492
            aconst_null
            astore 2 /* containerPath */
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         2: .line 2493
            aload 1 /* jreAttr */
            ifnonnull 16
         3: .line 2495
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* type */
        start local 3 // java.lang.String type
         4: .line 2496
            aload 3 /* type */
            ifnonnull 12
         5: .line 2498
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaProject:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 4 /* proj */
        start local 4 // org.eclipse.jdt.core.IJavaProject proj
         6: .line 2499
            aload 4 /* proj */
            ifnonnull 9
         7: .line 2500
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultJREContainerPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
         8: .line 2501
            goto 17
         9: .line 2502
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.String org.eclipse.core.runtime.IPath java.lang.String org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularConfiguration:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Z
            ifeq 11
        10: .line 2503
            aload 4 /* proj */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeModularJREEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        11: .line 2505
      StackMap locals:
      StackMap stack:
            aload 4 /* proj */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeJREEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 4 // org.eclipse.jdt.core.IJavaProject proj
        12: .line 2509
      StackMap locals:
      StackMap stack:
            aload 0 /* configuration */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.debug.core.ILaunchConfiguration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        13: .line 2510
            aload 4 /* name */
            ifnull 17
        14: .line 2511
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultJREContainerPath:()Lorg/eclipse/core/runtime/IPath;
            aload 3 /* type */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            aload 4 /* name */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        end local 4 // java.lang.String name
        end local 3 // java.lang.String type
        15: .line 2514
            goto 17
        16: .line 2515
      StackMap locals:
      StackMap stack:
            aload 1 /* jreAttr */
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* containerPath */
        17: .line 2517
      StackMap locals:
      StackMap stack:
            aload 2 /* containerPath */
            ifnull 21
        18: .line 2518
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularConfiguration:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Z
            ifeq 20
        19: .line 2519
            aload 2 /* containerPath */
            iconst_4
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        20: .line 2521
      StackMap locals:
      StackMap stack:
            aload 2 /* containerPath */
            iconst_1
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        21: .line 2523
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // java.lang.String jreAttr
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   22     1        jreAttr  Ljava/lang/String;
            2   22     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            4   15     3           type  Ljava/lang/String;
            6   12     4           proj  Lorg/eclipse/jdt/core/IJavaProject;
           13   15     4           name  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry computeJREEntry(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 2538
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* rawClasspath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         1: .line 2539
            aconst_null
            astore 2 /* resolver */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         2: .line 2540
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 20
         4: .line 2541
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 int
      StackMap stack:
            aload 1 /* rawClasspath */
            iload 3 /* i */
            aaload
            astore 4 /* entry */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 2542
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 4 - 5
                    4: 6
                    5: 10
              default: 19
          }
         6: .line 2544
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
         7: .line 2545
            aload 2 /* resolver */
            ifnull 19
         8: .line 2546
            aload 2 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 19
         9: .line 2547
            aload 4 /* entry */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        10: .line 2552
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
        11: .line 2553
            aload 2 /* resolver */
            ifnull 19
        12: .line 2554
            aload 2 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 19
        13: .line 2555
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 5 /* container */
        start local 5 // org.eclipse.jdt.core.IClasspathContainer container
        14: .line 2556
            aload 5 /* container */
            ifnull 19
        15: .line 2557
            aload 5 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getKind:()I
            tableswitch { // 1 - 3
                    1: 16
                    2: 18
                    3: 17
              default: 19
          }
        16: .line 2559
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            goto 19
        17: .line 2561
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_1
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        18: .line 2563
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_2
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 5 // org.eclipse.jdt.core.IClasspathContainer container
        end local 4 // org.eclipse.jdt.core.IClasspathEntry entry
        19: .line 2540
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 1 /* rawClasspath */
            arraylength
            if_icmplt 4
        end local 3 // int i
        21: .line 2572
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0       project  Lorg/eclipse/jdt/core/IJavaProject;
            1   22     1  rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   22     2      resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            3   21     3             i  I
            5   19     4         entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           14   19     5     container  Lorg/eclipse/jdt/core/IClasspathContainer;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.launching.IRuntimeClasspathEntry computeModularJREEntry(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 2587
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* rawClasspath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         1: .line 2588
            aconst_null
            astore 2 /* resolver */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         2: .line 2589
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 26
         4: .line 2590
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 int
      StackMap stack:
            aload 1 /* rawClasspath */
            iload 3 /* i */
            aaload
            astore 4 /* entry */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 2591
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 4 - 5
                    4: 6
                    5: 12
              default: 25
          }
         6: .line 2593
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
         7: .line 2594
            aload 2 /* resolver */
            ifnull 25
         8: .line 2595
            aload 2 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 25
         9: .line 2596
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularProject:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifeq 11
        10: .line 2597
            aload 4 /* entry */
            iconst_4
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        11: .line 2599
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            iconst_5
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeClasspathEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        12: .line 2604
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
        13: .line 2605
            aload 2 /* resolver */
            ifnull 25
        14: .line 2606
            aload 2 /* resolver */
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 25
        15: .line 2607
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 5 /* container */
        start local 5 // org.eclipse.jdt.core.IClasspathContainer container
        16: .line 2608
            aload 5 /* container */
            ifnull 25
        17: .line 2609
            aload 5 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getKind:()I
            tableswitch { // 1 - 3
                    1: 18
                    2: 22
                    3: 19
              default: 25
          }
        18: .line 2611
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            goto 25
        19: .line 2613
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularProject:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifeq 21
        20: .line 2614
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_4
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        21: .line 2616
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_5
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        22: .line 2618
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isModularProject:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifeq 24
        23: .line 2619
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_4
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        24: .line 2621
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_5
            invokestatic org.eclipse.jdt.launching.JavaRuntime.newRuntimeContainerClasspathEntry:(Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            areturn
        end local 5 // org.eclipse.jdt.core.IClasspathContainer container
        end local 4 // org.eclipse.jdt.core.IClasspathEntry entry
        25: .line 2589
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 3 /* i */
            aload 1 /* rawClasspath */
            arraylength
            if_icmplt 4
        end local 3 // int i
        27: .line 2630
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0       project  Lorg/eclipse/jdt/core/IJavaProject;
            1   28     1  rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   28     2      resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            3   27     3             i  I
            5   25     4         entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           16   25     5     container  Lorg/eclipse/jdt/core/IClasspathContainer;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static boolean isVMInstallReference(org.eclipse.jdt.launching.IRuntimeClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 2641
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* classpathEntry */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         1: .line 2642
            aload 1 /* classpathEntry */
            ifnull 9
         2: .line 2643
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 4 - 5
                    4: 3
                    5: 6
              default: 9
          }
         3: .line 2645
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         4: .line 2646
            aload 2 /* resolver */
            ifnull 9
         5: .line 2647
            aload 2 /* resolver */
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ireturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         6: .line 2651
      StackMap locals:
      StackMap stack:
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolver:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            astore 2 /* resolver */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         7: .line 2652
            aload 2 /* resolver */
            ifnull 9
         8: .line 2653
            aload 2 /* resolver */
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2.isVMInstallReference:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ireturn
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 resolver
         9: .line 2658
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0           entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1   10     1  classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            4    6     2        resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
            7    9     2        resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
    MethodParameters:
       Name  Flags
      entry  

  public static org.eclipse.jdt.launching.IVMConnector getVMConnector(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMConnector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String id
         0: .line 2670
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            aload 0 /* id */
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.getVMConnector:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMConnector;
            areturn
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public static org.eclipse.jdt.launching.IVMConnector[] getVMConnectors();
    descriptor: ()[Lorg/eclipse/jdt/launching/IVMConnector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2680
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.getVMConnectors:()[Lorg/eclipse/jdt/launching/IVMConnector;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.core.runtime.Preferences getPreferences();
    descriptor: ()Lorg/eclipse/core/runtime/Preferences;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2691
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.getPluginPreferences:()Lorg/eclipse/core/runtime/Preferences;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void savePreferences();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 2700
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.launching"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 0 /* prefs */
        start local 0 // org.eclipse.core.runtime.preferences.IEclipsePreferences prefs
         1: .line 2702
            aload 0 /* prefs */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         2: .line 2703
            goto 5
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         3: astore 1 /* e */
        start local 1 // org.osgi.service.prefs.BackingStoreException e
         4: .line 2704
            aload 1 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 1 // org.osgi.service.prefs.BackingStoreException e
         5: .line 2706
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.runtime.preferences.IEclipsePreferences prefs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    6     0  prefs  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            4    5     1      e  Lorg/osgi/service/prefs/BackingStoreException;
      Exception table:
        from    to  target  type
           1     2       3  Class org.osgi.service.prefs.BackingStoreException

  public static void addVariableResolver(org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        start local 1 // java.lang.String variableName
         0: .line 2716
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolvers:()Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 2717
            aload 2 /* map */
            aload 1 /* variableName */
            aload 0 /* resolver */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2718
            return
        end local 2 // java.util.Map map
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0      resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
            0    3     1  variableName  Ljava/lang/String;
            1    3     2           map  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;>;
    MethodParameters:
              Name  Flags
      resolver      
      variableName  

  public static void addContainerResolver(org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        start local 1 // java.lang.String containerIdentifier
         0: .line 2728
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolvers:()Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 2729
            aload 2 /* map */
            aload 1 /* containerIdentifier */
            aload 0 /* resolver */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2730
            return
        end local 2 // java.util.Map map
        end local 1 // java.lang.String containerIdentifier
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0             resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
            0    3     1  containerIdentifier  Ljava/lang/String;
            1    3     2                  map  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;>;
    MethodParameters:
                     Name  Flags
      resolver             
      containerIdentifier  

  private static java.util.Map<java.lang.String, org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver> getVariableResolvers();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2737
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVariableResolvers:Ljava/util/Map;
            ifnonnull 2
         1: .line 2738
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeResolvers:()V
         2: .line 2740
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVariableResolvers:Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;>;

  private static java.util.Map<java.lang.String, org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver> getContainerResolvers();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2748
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgContainerResolvers:Ljava/util/Map;
            ifnonnull 2
         1: .line 2749
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeResolvers:()V
         2: .line 2751
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgContainerResolvers:Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;>;

  private static java.util.Map<java.lang.String, org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver> getEntryResolvers();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2759
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgRuntimeClasspathEntryResolvers:Ljava/util/Map;
            ifnonnull 2
         1: .line 2760
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeResolvers:()V
         2: .line 2762
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgRuntimeClasspathEntryResolvers:Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver;>;

  private static void initializeResolvers();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=0
         0: .line 2769
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.launching"
            ldc "runtimeClasspathEntryResolvers"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 0 /* point */
        start local 0 // org.eclipse.core.runtime.IExtensionPoint point
         1: .line 2770
            aload 0 /* point */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 1 /* extensions */
        start local 1 // org.eclipse.core.runtime.IConfigurationElement[] extensions
         2: .line 2771
            new java.util.HashMap
            dup
            aload 1 /* extensions */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgVariableResolvers:Ljava/util/Map;
         3: .line 2772
            new java.util.HashMap
            dup
            aload 1 /* extensions */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgContainerResolvers:Ljava/util/Map;
         4: .line 2773
            new java.util.HashMap
            dup
            aload 1 /* extensions */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgRuntimeClasspathEntryResolvers:Ljava/util/Map;
         5: .line 2774
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 18
         7: .line 2775
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            new org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver
            dup
            aload 1 /* extensions */
            iload 2 /* i */
            aaload
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver.<init>:(Lorg/eclipse/core/runtime/IConfigurationElement;)V
            astore 3 /* res */
        start local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver res
         8: .line 2776
            aload 3 /* res */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver.getVariableName:()Ljava/lang/String;
            astore 4 /* variable */
        start local 4 // java.lang.String variable
         9: .line 2777
            aload 3 /* res */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver.getContainerId:()Ljava/lang/String;
            astore 5 /* container */
        start local 5 // java.lang.String container
        10: .line 2778
            aload 3 /* res */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver.getRuntimeClasspathEntryId:()Ljava/lang/String;
            astore 6 /* entryId */
        start local 6 // java.lang.String entryId
        11: .line 2779
            aload 4 /* variable */
            ifnull 13
        12: .line 2780
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVariableResolvers:Ljava/util/Map;
            aload 4 /* variable */
            aload 3 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2782
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 5 /* container */
            ifnull 15
        14: .line 2783
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgContainerResolvers:Ljava/util/Map;
            aload 5 /* container */
            aload 3 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2785
      StackMap locals:
      StackMap stack:
            aload 6 /* entryId */
            ifnull 17
        16: .line 2786
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgRuntimeClasspathEntryResolvers:Ljava/util/Map;
            aload 6 /* entryId */
            aload 3 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String entryId
        end local 5 // java.lang.String container
        end local 4 // java.lang.String variable
        end local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver res
        17: .line 2774
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 2 /* i */
            aload 1 /* extensions */
            arraylength
            if_icmplt 7
        end local 2 // int i
        19: .line 2789
            return
        end local 1 // org.eclipse.core.runtime.IConfigurationElement[] extensions
        end local 0 // org.eclipse.core.runtime.IExtensionPoint point
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   20     0       point  Lorg/eclipse/core/runtime/IExtensionPoint;
            2   20     1  extensions  [Lorg/eclipse/core/runtime/IConfigurationElement;
            6   19     2           i  I
            8   17     3         res  Lorg/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver;
            9   17     4    variable  Ljava/lang/String;
           10   17     5   container  Ljava/lang/String;
           11   17     6     entryId  Ljava/lang/String;

  private static java.util.Map<java.lang.String, org.eclipse.jdt.internal.launching.RuntimeClasspathProvider> getClasspathProviders();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2796
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgPathProviders:Ljava/util/Map;
            ifnonnull 2
         1: .line 2797
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeProviders:()V
         2: .line 2799
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgPathProviders:Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/internal/launching/RuntimeClasspathProvider;>;

  private static void initializeProviders();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 2806
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.launching"
            ldc "classpathProviders"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 0 /* point */
        start local 0 // org.eclipse.core.runtime.IExtensionPoint point
         1: .line 2807
            aload 0 /* point */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 1 /* extensions */
        start local 1 // org.eclipse.core.runtime.IConfigurationElement[] extensions
         2: .line 2808
            new java.util.HashMap
            dup
            aload 1 /* extensions */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgPathProviders:Ljava/util/Map;
         3: .line 2809
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 2810
      StackMap locals: org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            new org.eclipse.jdt.internal.launching.RuntimeClasspathProvider
            dup
            aload 1 /* extensions */
            iload 2 /* i */
            aaload
            invokespecial org.eclipse.jdt.internal.launching.RuntimeClasspathProvider.<init>:(Lorg/eclipse/core/runtime/IConfigurationElement;)V
            astore 3 /* res */
        start local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathProvider res
         6: .line 2811
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgPathProviders:Ljava/util/Map;
            aload 3 /* res */
            invokevirtual org.eclipse.jdt.internal.launching.RuntimeClasspathProvider.getIdentifier:()Ljava/lang/String;
            aload 3 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // org.eclipse.jdt.internal.launching.RuntimeClasspathProvider res
         7: .line 2809
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* extensions */
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 2813
            return
        end local 1 // org.eclipse.core.runtime.IConfigurationElement[] extensions
        end local 0 // org.eclipse.core.runtime.IExtensionPoint point
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   10     0       point  Lorg/eclipse/core/runtime/IExtensionPoint;
            2   10     1  extensions  [Lorg/eclipse/core/runtime/IConfigurationElement;
            4    9     2           i  I
            6    7     3         res  Lorg/eclipse/jdt/internal/launching/RuntimeClasspathProvider;

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 getVariableResolver(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String variableName
         0: .line 2824
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVariableResolvers:()Ljava/util/Map;
            aload 0 /* variableName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2
            areturn
        end local 0 // java.lang.String variableName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  variableName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      variableName  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2 getContainerResolver(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver2;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String containerId
         0: .line 2836
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getContainerResolvers:()Ljava/util/Map;
            aload 0 /* containerId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver2
            areturn
        end local 0 // java.lang.String containerId
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  containerId  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      containerId  

  private static org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver getContributedResolver(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String typeId
         0: .line 2847
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getEntryResolvers:()Ljava/util/Map;
            aload 0 /* typeId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
            astore 1 /* resolver */
        start local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
         1: .line 2848
            aload 1 /* resolver */
            ifnonnull 3
         2: .line 2849
            new org.eclipse.jdt.internal.launching.DefaultEntryResolver
            dup
            invokespecial org.eclipse.jdt.internal.launching.DefaultEntryResolver.<init>:()V
            areturn
         3: .line 2851
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver
      StackMap stack:
            aload 1 /* resolver */
            areturn
        end local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver resolver
        end local 0 // java.lang.String typeId
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0    typeId  Ljava/lang/String;
            1    4     1  resolver  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntryResolver;
    MethodParameters:
        Name  Flags
      typeId  

  public static void addVMInstallChangedListener(org.eclipse.jdt.launching.IVMInstallChangedListener);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstallChangedListener;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         0: .line 2862
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 0 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.add:(Ljava/lang/Object;)V
         1: .line 2863
            return
        end local 0 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
          Name  Flags
      listener  

  public static void removeVMInstallChangedListener(org.eclipse.jdt.launching.IVMInstallChangedListener);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstallChangedListener;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         0: .line 2873
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 0 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.remove:(Ljava/lang/Object;)V
         1: .line 2874
            return
        end local 0 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
          Name  Flags
      listener  

  private static void notifyDefaultVMChanged(org.eclipse.jdt.launching.IVMInstall, org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/jdt/launching/IVMInstall;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.launching.IVMInstall previous
        start local 1 // org.eclipse.jdt.launching.IVMInstall current
         0: .line 2882
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.eclipse.jdt.launching.IVMInstall org.eclipse.jdt.launching.IVMInstall top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstallChangedListener
            astore 2 /* listener */
        start local 2 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         2: .line 2883
            aload 2 /* listener */
            aload 0 /* previous */
            aload 1 /* current */
            invokeinterface org.eclipse.jdt.launching.IVMInstallChangedListener.defaultVMInstallChanged:(Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/jdt/launching/IVMInstall;)V
        end local 2 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         3: .line 2882
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 2885
            return
        end local 1 // org.eclipse.jdt.launching.IVMInstall current
        end local 0 // org.eclipse.jdt.launching.IVMInstall previous
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  previous  Lorg/eclipse/jdt/launching/IVMInstall;
            0    5     1   current  Lorg/eclipse/jdt/launching/IVMInstall;
            2    3     2  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
          Name  Flags
      previous  
      current   

  public static void fireVMChanged(org.eclipse.jdt.launching.PropertyChangeEvent);
    descriptor: (Lorg/eclipse/jdt/launching/PropertyChangeEvent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.launching.PropertyChangeEvent event
         0: .line 2894
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.eclipse.jdt.launching.PropertyChangeEvent top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstallChangedListener
            astore 1 /* listener */
        start local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         2: .line 2895
            aload 1 /* listener */
            aload 0 /* event */
            invokeinterface org.eclipse.jdt.launching.IVMInstallChangedListener.vmChanged:(Lorg/eclipse/jdt/launching/PropertyChangeEvent;)V
        end local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         3: .line 2894
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 2897
            return
        end local 0 // org.eclipse.jdt.launching.PropertyChangeEvent event
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0     event  Lorg/eclipse/jdt/launching/PropertyChangeEvent;
            2    3     1  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
       Name  Flags
      event  

  public static void fireVMAdded(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 2906
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgInitializingVMs:Z
            ifne 5
         1: .line 2907
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.eclipse.jdt.launching.IVMInstall top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstallChangedListener
            astore 1 /* listener */
        start local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         3: .line 2908
            aload 1 /* listener */
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstallChangedListener.vmAdded:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        end local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         4: .line 2907
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 2911
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        vm  Lorg/eclipse/jdt/launching/IVMInstall;
            3    4     1  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
      Name  Flags
      vm    

  public static void fireVMRemoved(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 2920
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.eclipse.jdt.launching.IVMInstall top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstallChangedListener
            astore 1 /* listener */
        start local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         2: .line 2921
            aload 1 /* listener */
            aload 0 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstallChangedListener.vmRemoved:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        end local 1 // org.eclipse.jdt.launching.IVMInstallChangedListener listener
         3: .line 2920
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 2923
            return
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0        vm  Lorg/eclipse/jdt/launching/IVMInstall;
            2    3     1  listener  Lorg/eclipse/jdt/launching/IVMInstallChangedListener;
    MethodParameters:
      Name  Flags
      vm    

  public static java.lang.String getProjectOutputDirectory(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration config
         0: .line 2937
            aload 0 /* config */
            ifnull 12
         1: .line 2938
            aload 0 /* config */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getJavaProject:(Lorg/eclipse/debug/core/ILaunchConfiguration;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* javaProject */
        start local 1 // org.eclipse.jdt.core.IJavaProject javaProject
         2: .line 2939
            aload 1 /* javaProject */
            ifnull 12
         3: .line 2940
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 2 /* root */
        start local 2 // org.eclipse.core.resources.IWorkspaceRoot root
         4: .line 2941
            aload 1 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* outputLocation */
        start local 3 // org.eclipse.core.runtime.IPath outputLocation
         5: .line 2942
            aload 2 /* root */
            aload 3 /* outputLocation */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 4 /* resource */
        start local 4 // org.eclipse.core.resources.IResource resource
         6: .line 2943
            aload 4 /* resource */
            ifnull 12
         7: .line 2944
            aload 4 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 5 /* path */
        start local 5 // org.eclipse.core.runtime.IPath path
         8: .line 2945
            aload 5 /* path */
            ifnull 12
         9: .line 2946
            aload 5 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.makeRelative:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
        10: areturn
        end local 5 // org.eclipse.core.runtime.IPath path
        end local 4 // org.eclipse.core.resources.IResource resource
        end local 3 // org.eclipse.core.runtime.IPath outputLocation
        end local 2 // org.eclipse.core.resources.IWorkspaceRoot root
        end local 1 // org.eclipse.jdt.core.IJavaProject javaProject
        11: .line 2951
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        12: .line 2953
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration config
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0          config  Lorg/eclipse/debug/core/ILaunchConfiguration;
            2   11     1     javaProject  Lorg/eclipse/jdt/core/IJavaProject;
            4   11     2            root  Lorg/eclipse/core/resources/IWorkspaceRoot;
            5   11     3  outputLocation  Lorg/eclipse/core/runtime/IPath;
            6   11     4        resource  Lorg/eclipse/core/resources/IResource;
            8   11     5            path  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           0    10      11  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
        Name  Flags
      config  

  public static org.eclipse.debug.core.sourcelookup.ISourceContainer[] getSourceContainers(org.eclipse.jdt.launching.IRuntimeClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)[Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         0: .line 2968
            aload 0 /* entries */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.translate:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)[Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
            areturn
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    MethodParameters:
         Name  Flags
      entries  

  public static java.lang.String[] computeJavaLibraryPath(org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Z)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean requiredProjects
         0: .line 2987
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* visited */
        start local 2 // java.util.Set visited
         1: .line 2988
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* entries */
        start local 3 // java.util.List entries
         2: .line 2989
            aload 0 /* project */
            iload 1 /* requiredProjects */
            aload 2 /* visited */
            aload 3 /* entries */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.gatherJavaLibraryPathEntries:(Lorg/eclipse/jdt/core/IJavaProject;ZLjava/util/Set;Ljava/util/List;)V
         3: .line 2990
            new java.util.ArrayList
            dup
            aload 3 /* entries */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* resolved */
        start local 4 // java.util.List resolved
         4: .line 2991
            aload 3 /* entries */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* iterator */
        start local 5 // java.util.Iterator iterator
         5: .line 2992
            invokestatic org.eclipse.core.variables.VariablesPlugin.getDefault:()Lorg/eclipse/core/variables/VariablesPlugin;
            invokevirtual org.eclipse.core.variables.VariablesPlugin.getStringVariableManager:()Lorg/eclipse/core/variables/IStringVariableManager;
            astore 6 /* manager */
        start local 6 // org.eclipse.core.variables.IStringVariableManager manager
         6: .line 2993
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 7 /* root */
        start local 7 // org.eclipse.core.resources.IWorkspaceRoot root
         7: .line 2994
            goto 20
         8: .line 2995
      StackMap locals: org.eclipse.jdt.core.IJavaProject int java.util.Set java.util.List java.util.List java.util.Iterator org.eclipse.core.variables.IStringVariableManager org.eclipse.core.resources.IWorkspaceRoot
      StackMap stack:
            aload 5 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* entry */
        start local 8 // java.lang.String entry
         9: .line 2996
            aload 6 /* manager */
            aload 8 /* entry */
            invokeinterface org.eclipse.core.variables.IStringVariableManager.performStringSubstitution:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* resolvedEntry */
        start local 9 // java.lang.String resolvedEntry
        10: .line 2997
            new org.eclipse.core.runtime.Path
            dup
            aload 9 /* resolvedEntry */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 10 /* path */
        start local 10 // org.eclipse.core.runtime.IPath path
        11: .line 2998
            aload 10 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 15
        12: .line 2999
            aload 10 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 11 /* file */
        start local 11 // java.io.File file
        13: .line 3000
            aload 4 /* resolved */
            aload 11 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.io.File file
        14: .line 3001
            goto 20
        15: .line 3002
      StackMap locals: java.lang.String java.lang.String org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 7 /* root */
            aload 10 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 11 /* resource */
        start local 11 // org.eclipse.core.resources.IResource resource
        16: .line 3003
            aload 11 /* resource */
            ifnull 20
        17: .line 3004
            aload 11 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 12 /* location */
        start local 12 // org.eclipse.core.runtime.IPath location
        18: .line 3005
            aload 12 /* location */
            ifnull 20
        19: .line 3006
            aload 4 /* resolved */
            aload 12 /* location */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.eclipse.core.runtime.IPath location
        end local 11 // org.eclipse.core.resources.IResource resource
        end local 10 // org.eclipse.core.runtime.IPath path
        end local 9 // java.lang.String resolvedEntry
        end local 8 // java.lang.String entry
        20: .line 2994
      StackMap locals:
      StackMap stack:
            aload 5 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        21: .line 3011
            aload 4 /* resolved */
            aload 4 /* resolved */
            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 7 // org.eclipse.core.resources.IWorkspaceRoot root
        end local 6 // org.eclipse.core.variables.IStringVariableManager manager
        end local 5 // java.util.Iterator iterator
        end local 4 // java.util.List resolved
        end local 3 // java.util.List entries
        end local 2 // java.util.Set visited
        end local 1 // boolean requiredProjects
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   22     1  requiredProjects  Z
            1   22     2           visited  Ljava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;
            2   22     3           entries  Ljava/util/List<Ljava/lang/String;>;
            4   22     4          resolved  Ljava/util/List<Ljava/lang/String;>;
            5   22     5          iterator  Ljava/util/Iterator<Ljava/lang/String;>;
            6   22     6           manager  Lorg/eclipse/core/variables/IStringVariableManager;
            7   22     7              root  Lorg/eclipse/core/resources/IWorkspaceRoot;
            9   20     8             entry  Ljava/lang/String;
           10   20     9     resolvedEntry  Ljava/lang/String;
           11   20    10              path  Lorg/eclipse/core/runtime/IPath;
           13   14    11              file  Ljava/io/File;
           16   20    11          resource  Lorg/eclipse/core/resources/IResource;
           18   20    12          location  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                  Name  Flags
      project           
      requiredProjects  

  private static void gatherJavaLibraryPathEntries(org.eclipse.jdt.core.IJavaProject, boolean, java.util.Set<org.eclipse.jdt.core.IJavaProject>, java.util.List<java.lang.String>);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;ZLjava/util/Set;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean requiredProjects
        start local 2 // java.util.Set visited
        start local 3 // java.util.List entries
         0: .line 3026
            aload 2 /* visited */
            aload 0 /* project */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 3027
            return
         2: .line 3029
      StackMap locals:
      StackMap stack:
            aload 2 /* visited */
            aload 0 /* project */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 3030
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 4 /* rawClasspath */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         4: .line 3031
            aload 0 /* project */
            iload 1 /* requiredProjects */
            aload 4 /* rawClasspath */
            aload 3 /* entries */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries:(Lorg/eclipse/jdt/core/IJavaProject;Z[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/List;)[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* required */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] required
         5: .line 3032
            aload 5 /* required */
            ifnull 21
         6: .line 3033
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 6 /* root */
        start local 6 // org.eclipse.core.resources.IWorkspaceRoot root
         7: .line 3034
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 20
         9: .line 3035
      StackMap locals: org.eclipse.jdt.core.IJavaProject int java.util.Set java.util.List org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot int
      StackMap stack:
            aload 5 /* required */
            iload 7 /* i */
            aaload
            astore 8 /* entry */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        10: .line 3036
            aload 8 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            astore 9 /* projectName */
        start local 9 // java.lang.String projectName
        11: .line 3037
            aload 6 /* root */
            aload 9 /* projectName */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            astore 10 /* p */
        start local 10 // org.eclipse.core.resources.IProject p
        12: .line 3038
            aload 10 /* p */
            invokeinterface org.eclipse.core.resources.IProject.exists:()Z
            ifeq 19
        13: .line 3039
            aload 10 /* p */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 11 /* requiredProject */
        start local 11 // org.eclipse.jdt.core.IJavaProject requiredProject
        14: .line 3040
            aload 11 /* requiredProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.isOpen:()Z
            ifeq 17
        15: .line 3041
            aload 11 /* requiredProject */
            iload 1 /* requiredProjects */
            aload 2 /* visited */
            aload 3 /* entries */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.gatherJavaLibraryPathEntries:(Lorg/eclipse/jdt/core/IJavaProject;ZLjava/util/Set;Ljava/util/List;)V
        16: .line 3042
            goto 19
        17: .line 3043
      StackMap locals: org.eclipse.jdt.core.IJavaProject int java.util.Set java.util.List org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot int org.eclipse.jdt.core.IClasspathEntry java.lang.String org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 8 /* entry */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.isOptional:(Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifne 19
        18: .line 3044
            aload 11 /* requiredProject */
            iload 1 /* requiredProjects */
            aload 2 /* visited */
            aload 3 /* entries */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.gatherJavaLibraryPathEntries:(Lorg/eclipse/jdt/core/IJavaProject;ZLjava/util/Set;Ljava/util/List;)V
        end local 11 // org.eclipse.jdt.core.IJavaProject requiredProject
        end local 10 // org.eclipse.core.resources.IProject p
        end local 9 // java.lang.String projectName
        end local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        19: .line 3034
      StackMap locals: org.eclipse.jdt.core.IJavaProject int java.util.Set java.util.List org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            aload 5 /* required */
            arraylength
            if_icmplt 9
        end local 7 // int i
        end local 6 // org.eclipse.core.resources.IWorkspaceRoot root
        21: .line 3049
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] required
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 3 // java.util.List entries
        end local 2 // java.util.Set visited
        end local 1 // boolean requiredProjects
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   22     1  requiredProjects  Z
            0   22     2           visited  Ljava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;
            0   22     3           entries  Ljava/util/List<Ljava/lang/String;>;
            4   22     4      rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   22     5          required  [Lorg/eclipse/jdt/core/IClasspathEntry;
            7   21     6              root  Lorg/eclipse/core/resources/IWorkspaceRoot;
            8   21     7                 i  I
           10   19     8             entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           11   19     9       projectName  Ljava/lang/String;
           12   19    10                 p  Lorg/eclipse/core/resources/IProject;
           14   19    11   requiredProject  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    Signature: (Lorg/eclipse/jdt/core/IJavaProject;ZLjava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                  Name  Flags
      project           
      requiredProjects  
      visited           
      entries           

  private static org.eclipse.jdt.core.IClasspathEntry[] processJavaLibraryPathEntries(org.eclipse.jdt.core.IJavaProject, boolean, org.eclipse.jdt.core.IClasspathEntry[], java.util.List<java.lang.String>);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Z[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/List;)[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean collectRequired
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpathEntries
        start local 3 // java.util.List entries
         0: .line 3065
            aconst_null
            astore 4 /* req */
        start local 4 // java.util.List req
         1: .line 3066
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 34
         3: .line 3067
      StackMap locals: java.util.List int
      StackMap stack:
            aload 2 /* classpathEntries */
            iload 5 /* i */
            aaload
            astore 6 /* entry */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry entry
         4: .line 3068
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 7 /* extraAttributes */
        start local 7 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         5: .line 3069
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         6: goto 15
         7: .line 3070
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathAttribute[] int
      StackMap stack:
            aload 7 /* extraAttributes */
            iload 8 /* j */
            aaload
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getLibraryPaths:(Lorg/eclipse/jdt/core/IClasspathAttribute;)[Ljava/lang/String;
            astore 9 /* paths */
        start local 9 // java.lang.String[] paths
         8: .line 3071
            aload 9 /* paths */
            ifnull 14
         9: .line 3072
            iconst_0
            istore 10 /* k */
        start local 10 // int k
        10: goto 13
        11: .line 3073
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 3 /* entries */
            aload 9 /* paths */
            iload 10 /* k */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 3072
            iinc 10 /* k */ 1
      StackMap locals:
      StackMap stack:
        13: iload 10 /* k */
            aload 9 /* paths */
            arraylength
            if_icmplt 11
        end local 10 // int k
        end local 9 // java.lang.String[] paths
        14: .line 3069
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* j */
            aload 7 /* extraAttributes */
            arraylength
            if_icmplt 7
        end local 8 // int j
        16: .line 3077
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_5
            if_icmpne 29
        17: .line 3078
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 8 /* container */
        start local 8 // org.eclipse.jdt.core.IClasspathContainer container
        18: .line 3079
            aload 8 /* container */
            ifnull 33
        19: .line 3080
            aload 0 /* project */
            iload 1 /* collectRequired */
            aload 8 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 3 /* entries */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.processJavaLibraryPathEntries:(Lorg/eclipse/jdt/core/IJavaProject;Z[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/List;)[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 9 /* requiredProjects */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry[] requiredProjects
        20: .line 3081
            aload 9 /* requiredProjects */
            ifnull 33
        21: .line 3082
            aload 4 /* req */
            ifnonnull 23
        22: .line 3083
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* req */
        23: .line 3085
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IClasspathEntry[] java.util.List java.util.List int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathAttribute[] org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        24: goto 27
        25: .line 3086
      StackMap locals: int
      StackMap stack:
            aload 4 /* req */
            aload 9 /* requiredProjects */
            iload 10 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 3085
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 10 /* j */
            aload 9 /* requiredProjects */
            arraylength
            if_icmplt 25
        end local 10 // int j
        end local 9 // org.eclipse.jdt.core.IClasspathEntry[] requiredProjects
        end local 8 // org.eclipse.jdt.core.IClasspathContainer container
        28: .line 3090
            goto 33
      StackMap locals:
      StackMap stack:
        29: iload 1 /* collectRequired */
            ifeq 33
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 33
        30: .line 3091
            aload 4 /* req */
            ifnonnull 32
        31: .line 3092
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* req */
        32: .line 3094
      StackMap locals:
      StackMap stack:
            aload 4 /* req */
            aload 6 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 6 // org.eclipse.jdt.core.IClasspathEntry entry
        33: .line 3066
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 5 /* i */
            aload 2 /* classpathEntries */
            arraylength
            if_icmplt 3
        end local 5 // int i
        35: .line 3097
            aload 4 /* req */
            ifnull 37
        36: .line 3098
            aload 4 /* req */
            aload 4 /* req */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.core.IClasspathEntry
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry[]
            areturn
        37: .line 3100
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.List req
        end local 3 // java.util.List entries
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpathEntries
        end local 1 // boolean collectRequired
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   38     1   collectRequired  Z
            0   38     2  classpathEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   38     3           entries  Ljava/util/List<Ljava/lang/String;>;
            1   38     4               req  Ljava/util/List<Lorg/eclipse/jdt/core/IClasspathEntry;>;
            2   35     5                 i  I
            4   33     6             entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            5   33     7   extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            6   16     8                 j  I
            8   14     9             paths  [Ljava/lang/String;
           10   14    10                 k  I
           18   28     8         container  Lorg/eclipse/jdt/core/IClasspathContainer;
           20   28     9  requiredProjects  [Lorg/eclipse/jdt/core/IClasspathEntry;
           24   28    10                 j  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    Signature: (Lorg/eclipse/jdt/core/IJavaProject;Z[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/List<Ljava/lang/String;>;)[Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
                  Name  Flags
      project           
      collectRequired   
      classpathEntries  
      entries           

  public static org.eclipse.jdt.core.IClasspathAttribute newLibraryPathsAttribute(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lorg/eclipse/jdt/core/IClasspathAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String[] paths
         0: .line 3122
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* value */
        start local 1 // java.lang.StringBuilder value
         1: .line 3123
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 3124
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* value */
            aload 0 /* paths */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 3125
            iload 2 /* i */
            aload 0 /* paths */
            arraylength
            iconst_1
            isub
            if_icmpge 6
         5: .line 3126
            aload 1 /* value */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 3123
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* paths */
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 3129
            getstatic org.eclipse.jdt.launching.JavaRuntime.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY:Ljava/lang/String;
            aload 1 /* value */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.newClasspathAttribute:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/core/IClasspathAttribute;
            areturn
        end local 1 // java.lang.StringBuilder value
        end local 0 // java.lang.String[] paths
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  paths  [Ljava/lang/String;
            1    9     1  value  Ljava/lang/StringBuilder;
            2    8     2      i  I
    MethodParameters:
       Name  Flags
      paths  

  public static java.lang.String[] getLibraryPaths(org.eclipse.jdt.core.IClasspathAttribute);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathAttribute;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.IClasspathAttribute attribute
         0: .line 3154
            getstatic org.eclipse.jdt.launching.JavaRuntime.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY:Ljava/lang/String;
            aload 0 /* attribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 3155
            aload 0 /* attribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            astore 1 /* value */
        start local 1 // java.lang.String value
         2: .line 3156
            aload 1 /* value */
            ldc "\\|"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String value
         3: .line 3158
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.core.IClasspathAttribute attribute
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  attribute  Lorg/eclipse/jdt/core/IClasspathAttribute;
            2    3     1      value  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      attribute  

  public static org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager getExecutionEnvironmentsManager();
    descriptor: ()Lorg/eclipse/jdt/launching/environments/IExecutionEnvironmentsManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3168
            invokestatic org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.getDefault:()Lorg/eclipse/jdt/internal/launching/environments/EnvironmentsManager;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void initializeVMs();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=0
         0: .line 3178
            aconst_null
            astore 0 /* vmDefs */
        start local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
         1: .line 3179
            iconst_0
            istore 1 /* setPref */
        start local 1 // boolean setPref
         2: .line 3180
            iconst_0
            istore 2 /* updateCompliance */
        start local 2 // boolean updateCompliance
         3: .line 3181
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         4: .line 3182
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgVMTypes:Ljava/util/HashSet;
            ifnonnull 74
         5: .line 3184
            iconst_1
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgInitializingVMs:Z
         6: .line 3186
            invokestatic org.eclipse.jdt.launching.JavaRuntime.initializeVMTypeExtensions:()V
         7: .line 3188
            new org.eclipse.jdt.internal.launching.VMDefinitionsContainer
            dup
            invokespecial org.eclipse.jdt.internal.launching.VMDefinitionsContainer.<init>:()V
            astore 0 /* vmDefs */
         8: .line 3190
            aload 0 /* vmDefs */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.addPersistedVMs:(Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)Z
            istore 1 /* setPref */
         9: .line 3191
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getStatus:()Lorg/eclipse/core/runtime/IStatus;
            astore 4 /* status */
        start local 4 // org.eclipse.core.runtime.IStatus status
        10: .line 3192
            aload 4 /* status */
            ifnull 24
        11: .line 3193
            aload 4 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.isMultiStatus:()Z
            ifeq 22
        12: .line 3194
            aload 4 /* status */
            checkcast org.eclipse.core.runtime.MultiStatus
            astore 5 /* multi */
        start local 5 // org.eclipse.core.runtime.MultiStatus multi
        13: .line 3195
            aload 5 /* multi */
            invokevirtual org.eclipse.core.runtime.MultiStatus.getChildren:()[Lorg/eclipse/core/runtime/IStatus;
            astore 6 /* children */
        start local 6 // org.eclipse.core.runtime.IStatus[] children
        14: .line 3196
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 20
        16: .line 3197
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer int int java.lang.Object org.eclipse.core.runtime.IStatus org.eclipse.core.runtime.MultiStatus org.eclipse.core.runtime.IStatus[] int
      StackMap stack:
            aload 6 /* children */
            iload 7 /* i */
            aaload
            astore 8 /* child */
        start local 8 // org.eclipse.core.runtime.IStatus child
        17: .line 3198
            aload 8 /* child */
            invokeinterface org.eclipse.core.runtime.IStatus.isOK:()Z
            ifne 19
        18: .line 3199
            aload 8 /* child */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
        end local 8 // org.eclipse.core.runtime.IStatus child
        19: .line 3196
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            aload 6 /* children */
            arraylength
            if_icmplt 16
        end local 7 // int i
        end local 6 // org.eclipse.core.runtime.IStatus[] children
        end local 5 // org.eclipse.core.runtime.MultiStatus multi
        21: .line 3202
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 4 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.isOK:()Z
            ifne 24
        23: .line 3203
            aload 4 /* status */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
        24: .line 3208
      StackMap locals:
      StackMap stack:
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getValidVMList:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 41
        25: .line 3211
            new org.eclipse.jdt.internal.launching.VMListener
            dup
            invokespecial org.eclipse.jdt.internal.launching.VMListener.<init>:()V
            astore 5 /* listener */
        start local 5 // org.eclipse.jdt.internal.launching.VMListener listener
        26: .line 3212
            aload 5 /* listener */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.addVMInstallChangedListener:(Lorg/eclipse/jdt/launching/IVMInstallChangedListener;)V
        27: .line 3213
            iconst_1
            istore 1 /* setPref */
        28: .line 3214
            invokestatic org.eclipse.jdt.launching.JavaRuntime.detectEclipseRuntime:()Lorg/eclipse/jdt/launching/VMStandin;
            astore 6 /* runtime */
        start local 6 // org.eclipse.jdt.launching.VMStandin runtime
        29: .line 3215
            aload 5 /* listener */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.removeVMInstallChangedListener:(Lorg/eclipse/jdt/launching/IVMInstallChangedListener;)V
        30: .line 3216
            aload 5 /* listener */
            invokevirtual org.eclipse.jdt.internal.launching.VMListener.isChanged:()Z
            ifne 36
        31: .line 3217
            aload 6 /* runtime */
            ifnull 41
        32: .line 3218
            iconst_1
            istore 2 /* updateCompliance */
        33: .line 3219
            aload 0 /* vmDefs */
            aload 6 /* runtime */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.addVM:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        34: .line 3220
            aload 0 /* vmDefs */
            aload 6 /* runtime */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getCompositeIdFromVM:(Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.setDefaultVMInstallCompositeID:(Ljava/lang/String;)V
        35: .line 3222
            goto 41
        36: .line 3224
      StackMap locals: org.eclipse.jdt.internal.launching.VMListener org.eclipse.jdt.launching.VMStandin
      StackMap stack:
            aload 0 /* vmDefs */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.addPersistedVMs:(Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)Z
            pop
        37: .line 3225
            aload 0 /* vmDefs */
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.setDefaultVMInstallCompositeID:(Ljava/lang/String;)V
        38: .line 3226
            getstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
            ifnull 39
            iconst_1
            goto 40
      StackMap locals:
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: istore 2 /* updateCompliance */
        end local 6 // org.eclipse.jdt.launching.VMStandin runtime
        end local 5 // org.eclipse.jdt.internal.launching.VMListener listener
        41: .line 3230
      StackMap locals:
      StackMap stack:
            aload 0 /* vmDefs */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.addVMExtensions:(Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;)V
        42: .line 3232
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getDefaultVMInstallCompositeID:()Ljava/lang/String;
            astore 5 /* defId */
        start local 5 // java.lang.String defId
        43: .line 3233
            iconst_0
            istore 6 /* validDef */
        start local 6 // boolean validDef
        44: .line 3234
            aload 5 /* defId */
            ifnull 52
        45: .line 3235
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getValidVMList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
        46: .line 3236
            goto 51
        47: .line 3237
      StackMap locals: java.lang.String int java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstall
            astore 8 /* vm */
        start local 8 // org.eclipse.jdt.launching.IVMInstall vm
        48: .line 3238
            aload 8 /* vm */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getCompositeIdFromVM:(Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
            aload 5 /* defId */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 51
        49: .line 3239
            iconst_1
            istore 6 /* validDef */
        50: .line 3240
            goto 52
        end local 8 // org.eclipse.jdt.launching.IVMInstall vm
        51: .line 3236
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 7 // java.util.Iterator iterator
        52: .line 3244
      StackMap locals:
      StackMap stack:
            iload 6 /* validDef */
            ifne 58
        53: .line 3246
            iconst_1
            istore 1 /* setPref */
        54: .line 3247
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getValidVMList:()Ljava/util/List;
            astore 7 /* list */
        start local 7 // java.util.List list
        55: .line 3248
            aload 7 /* list */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 58
        56: .line 3249
            aload 7 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.IVMInstall
            astore 8 /* vm */
        start local 8 // org.eclipse.jdt.launching.IVMInstall vm
        57: .line 3250
            aload 0 /* vmDefs */
            aload 8 /* vm */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getCompositeIdFromVM:(Lorg/eclipse/jdt/launching/IVMInstall;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.setDefaultVMInstallCompositeID:(Ljava/lang/String;)V
        end local 8 // org.eclipse.jdt.launching.IVMInstall vm
        end local 7 // java.util.List list
        58: .line 3253
      StackMap locals:
      StackMap stack:
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getDefaultVMInstallCompositeID:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMId:Ljava/lang/String;
        59: .line 3254
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getDefaultVMInstallConnectorTypeID:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgDefaultVMConnectorId:Ljava/lang/String;
        60: .line 3257
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getValidVMList:()Ljava/util/List;
            astore 7 /* vmList */
        start local 7 // java.util.List vmList
        61: .line 3258
            aload 7 /* vmList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* vmListIterator */
        start local 8 // java.util.Iterator vmListIterator
        62: .line 3259
            goto 65
        63: .line 3260
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 8 /* vmListIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.VMStandin
            astore 9 /* vmStandin */
        start local 9 // org.eclipse.jdt.launching.VMStandin vmStandin
        64: .line 3261
            aload 9 /* vmStandin */
            invokevirtual org.eclipse.jdt.launching.VMStandin.convertToRealVM:()Lorg/eclipse/jdt/launching/IVMInstall;
            pop
        end local 9 // org.eclipse.jdt.launching.VMStandin vmStandin
        65: .line 3259
      StackMap locals:
      StackMap stack:
            aload 8 /* vmListIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        end local 8 // java.util.Iterator vmListIterator
        end local 7 // java.util.List vmList
        end local 6 // boolean validDef
        end local 5 // java.lang.String defId
        end local 4 // org.eclipse.core.runtime.IStatus status
        66: .line 3265
            goto 73
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer int int java.lang.Object
      StackMap stack: java.io.IOException
        67: astore 4 /* e */
        start local 4 // java.io.IOException e
        68: .line 3266
            aload 4 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException e
        69: .line 3268
            goto 73
      StackMap locals:
      StackMap stack: java.lang.Throwable
        70: astore 10
        71: .line 3269
            iconst_0
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgInitializingVMs:Z
        72: .line 3270
            aload 10
            athrow
        73: .line 3269
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic org.eclipse.jdt.launching.JavaRuntime.fgInitializingVMs:Z
        74: .line 3181
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        75: goto 78
      StackMap locals:
      StackMap stack: java.lang.Throwable
        76: aload 3
            monitorexit
        77: athrow
        78: .line 3273
      StackMap locals:
      StackMap stack:
            aload 0 /* vmDefs */
            ifnull 99
        79: .line 3275
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes:()[Lorg/eclipse/jdt/launching/IVMInstallType;
            astore 3 /* installTypes */
        start local 3 // org.eclipse.jdt.launching.IVMInstallType[] installTypes
        80: .line 3276
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        81: goto 90
        82: .line 3277
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType[] int
      StackMap stack:
            aload 3 /* installTypes */
            iload 4 /* i */
            aaload
            astore 5 /* type */
        start local 5 // org.eclipse.jdt.launching.IVMInstallType type
        83: .line 3278
            aload 5 /* type */
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getVMInstalls:()[Lorg/eclipse/jdt/launching/IVMInstall;
            astore 6 /* installs */
        start local 6 // org.eclipse.jdt.launching.IVMInstall[] installs
        84: .line 3279
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        85: goto 88
        86: .line 3280
      StackMap locals: org.eclipse.jdt.launching.IVMInstallType org.eclipse.jdt.launching.IVMInstall[] int
      StackMap stack:
            aload 6 /* installs */
            iload 7 /* j */
            aaload
            invokestatic org.eclipse.jdt.launching.JavaRuntime.fireVMAdded:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        87: .line 3279
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        88: iload 7 /* j */
            aload 6 /* installs */
            arraylength
            if_icmplt 86
        end local 7 // int j
        end local 6 // org.eclipse.jdt.launching.IVMInstall[] installs
        end local 5 // org.eclipse.jdt.launching.IVMInstallType type
        89: .line 3276
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        90: iload 4 /* i */
            aload 3 /* installTypes */
            arraylength
            if_icmplt 82
        end local 4 // int i
        91: .line 3285
            iload 1 /* setPref */
            ifeq 97
        92: .line 3287
            aload 0 /* vmDefs */
            invokevirtual org.eclipse.jdt.internal.launching.VMDefinitionsContainer.getAsXML:()Ljava/lang/String;
            astore 4 /* xml */
        start local 4 // java.lang.String xml
        93: .line 3288
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.launching"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            getstatic org.eclipse.jdt.launching.JavaRuntime.PREF_VM_XML:Ljava/lang/String;
            aload 4 /* xml */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String xml
        94: .line 3289
            goto 97
      StackMap locals: org.eclipse.jdt.internal.launching.VMDefinitionsContainer int int org.eclipse.jdt.launching.IVMInstallType[]
      StackMap stack: org.eclipse.core.runtime.CoreException
        95: astore 4 /* e */
        start local 4 // org.eclipse.core.runtime.CoreException e
        96: .line 3290
            aload 4 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 4 // org.eclipse.core.runtime.CoreException e
        97: .line 3294
      StackMap locals:
      StackMap stack:
            iload 2 /* updateCompliance */
            ifeq 99
        98: .line 3295
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultVMInstall:()Lorg/eclipse/jdt/launching/IVMInstall;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.updateCompliance:(Lorg/eclipse/jdt/launching/IVMInstall;)V
        end local 3 // org.eclipse.jdt.launching.IVMInstallType[] installTypes
        99: .line 3298
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean updateCompliance
        end local 1 // boolean setPref
        end local 0 // org.eclipse.jdt.internal.launching.VMDefinitionsContainer vmDefs
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            1  100     0            vmDefs  Lorg/eclipse/jdt/internal/launching/VMDefinitionsContainer;
            2  100     1           setPref  Z
            3  100     2  updateCompliance  Z
           10   66     4            status  Lorg/eclipse/core/runtime/IStatus;
           13   21     5             multi  Lorg/eclipse/core/runtime/MultiStatus;
           14   21     6          children  [Lorg/eclipse/core/runtime/IStatus;
           15   21     7                 i  I
           17   19     8             child  Lorg/eclipse/core/runtime/IStatus;
           26   41     5          listener  Lorg/eclipse/jdt/internal/launching/VMListener;
           29   41     6           runtime  Lorg/eclipse/jdt/launching/VMStandin;
           43   66     5             defId  Ljava/lang/String;
           44   66     6          validDef  Z
           46   52     7          iterator  Ljava/util/Iterator<Lorg/eclipse/jdt/launching/IVMInstall;>;
           48   51     8                vm  Lorg/eclipse/jdt/launching/IVMInstall;
           55   58     7              list  Ljava/util/List<Lorg/eclipse/jdt/launching/IVMInstall;>;
           57   58     8                vm  Lorg/eclipse/jdt/launching/IVMInstall;
           61   66     7            vmList  Ljava/util/List<Lorg/eclipse/jdt/launching/IVMInstall;>;
           62   66     8    vmListIterator  Ljava/util/Iterator<Lorg/eclipse/jdt/launching/IVMInstall;>;
           64   65     9         vmStandin  Lorg/eclipse/jdt/launching/VMStandin;
           68   69     4                 e  Ljava/io/IOException;
           80   99     3      installTypes  [Lorg/eclipse/jdt/launching/IVMInstallType;
           81   91     4                 i  I
           83   89     5              type  Lorg/eclipse/jdt/launching/IVMInstallType;
           84   89     6          installs  [Lorg/eclipse/jdt/launching/IVMInstall;
           85   89     7                 j  I
           93   94     4               xml  Ljava/lang/String;
           96   97     4                 e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           7    66      67  Class java.io.IOException
           5    70      70  any
           4    75      76  any
          76    77      76  any
          92    94      95  Class org.eclipse.core.runtime.CoreException

  private static void updateCompliance(org.eclipse.jdt.launching.IVMInstall);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.launching.IVMInstall vm
         0: .line 3306
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.isVMLogging:()Z
            ifeq 2
         1: .line 3307
            ldc "Compliance needs an update."
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/String;)V
         2: .line 3309
      StackMap locals:
      StackMap stack:
            aload 0 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall2
            ifeq 62
         3: .line 3310
            aload 0 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall2
            invokeinterface org.eclipse.jdt.launching.IVMInstall2.getJavaVersion:()Ljava/lang/String;
            astore 1 /* javaVersion */
        start local 1 // java.lang.String javaVersion
         4: .line 3311
            aload 1 /* javaVersion */
            ifnull 62
         5: .line 3312
            aconst_null
            astore 2 /* compliance */
        start local 2 // java.lang.String compliance
         6: .line 3313
            aload 1 /* javaVersion */
            ldc "1.5"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 3314
            ldc "1.5"
            astore 2 /* compliance */
         8: .line 3315
            goto 39
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         9: aload 1 /* javaVersion */
            ldc "1.6"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 3316
            ldc "1.6"
            astore 2 /* compliance */
        11: .line 3317
            goto 39
      StackMap locals:
      StackMap stack:
        12: aload 1 /* javaVersion */
            ldc "1.7"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 3318
            ldc "1.7"
            astore 2 /* compliance */
        14: .line 3319
            goto 39
      StackMap locals:
      StackMap stack:
        15: aload 1 /* javaVersion */
            ldc "1.8"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 3320
            ldc "1.8"
            astore 2 /* compliance */
        17: .line 3321
            goto 39
      StackMap locals:
      StackMap stack:
        18: aload 1 /* javaVersion */
            ldc "9"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        19: .line 3322
            aload 1 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            ldc "9"
            invokevirtual java.lang.String.length:()I
            if_icmpeq 20
            aload 1 /* javaVersion */
            ldc "9"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 22
        20: .line 3323
      StackMap locals:
      StackMap stack:
            ldc "9"
            astore 2 /* compliance */
        21: .line 3324
            goto 39
      StackMap locals:
      StackMap stack:
        22: aload 1 /* javaVersion */
            ldc "10"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 26
        23: .line 3325
            aload 1 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            ldc "10"
            invokevirtual java.lang.String.length:()I
            if_icmpeq 24
            aload 1 /* javaVersion */
            ldc "10"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 26
        24: .line 3326
      StackMap locals:
      StackMap stack:
            ldc "10"
            astore 2 /* compliance */
        25: .line 3327
            goto 39
      StackMap locals:
      StackMap stack:
        26: aload 1 /* javaVersion */
            ldc "11"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 3328
            aload 1 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            ldc "11"
            invokevirtual java.lang.String.length:()I
            if_icmpeq 28
            aload 1 /* javaVersion */
            ldc "11"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 30
        28: .line 3329
      StackMap locals:
      StackMap stack:
            ldc "11"
            astore 2 /* compliance */
        29: .line 3330
            goto 39
      StackMap locals:
      StackMap stack:
        30: aload 1 /* javaVersion */
            ldc "12"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 34
        31: .line 3331
            aload 1 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            ldc "12"
            invokevirtual java.lang.String.length:()I
            if_icmpeq 32
            aload 1 /* javaVersion */
            ldc "12"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 34
        32: .line 3332
      StackMap locals:
      StackMap stack:
            ldc "12"
            astore 2 /* compliance */
        33: .line 3333
            goto 39
      StackMap locals:
      StackMap stack:
        34: aload 1 /* javaVersion */
            ldc "13"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 38
        35: .line 3334
            aload 1 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            ldc "13"
            invokevirtual java.lang.String.length:()I
            if_icmpeq 36
            aload 1 /* javaVersion */
            ldc "13"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 38
        36: .line 3335
      StackMap locals:
      StackMap stack:
            ldc "13"
            astore 2 /* compliance */
        37: .line 3336
            goto 39
        38: .line 3337
      StackMap locals:
      StackMap stack:
            ldc "13"
            astore 2 /* compliance */
        39: .line 3340
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.core.JavaCore.getOptions:()Ljava/util/Hashtable;
            astore 3 /* options */
        start local 3 // java.util.Hashtable options
        40: .line 3342
            getstatic org.eclipse.core.runtime.preferences.BundleDefaultsScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 4 /* bundleDefaults */
        start local 4 // org.osgi.service.prefs.Preferences bundleDefaults
        41: .line 3345
            ldc "org.eclipse.jdt.core.compiler.compliance"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 47
        42: .line 3346
            ldc "org.eclipse.jdt.core.compiler.source"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 47
        43: .line 3347
            ldc "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 47
        44: .line 3348
            ldc "org.eclipse.jdt.core.compiler.problem.assertIdentifier"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 47
        45: .line 3349
            ldc "org.eclipse.jdt.core.compiler.problem.enumIdentifier"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 47
        46: .line 3344
            iconst_1
            goto 48
      StackMap locals: java.util.Hashtable org.osgi.service.prefs.Preferences
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 5 /* isDefault */
        start local 5 // boolean isDefault
        49: .line 3350
            aload 2 /* compliance */
            ldc "10"
            invokestatic org.eclipse.jdt.core.JavaCore.compareJavaVersions:(Ljava/lang/String;Ljava/lang/String;)I
            ifle 55
        50: .line 3351
            iload 5 /* isDefault */
            ifeq 53
            ldc "org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 53
        51: .line 3352
            ldc "org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures"
            aload 3 /* options */
            aload 4 /* bundleDefaults */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.equals:(Ljava/lang/String;Ljava/util/Map;Lorg/osgi/service/prefs/Preferences;)Z
            ifeq 53
        52: .line 3351
            iconst_1
            goto 54
      StackMap locals: int
      StackMap stack:
        53: iconst_0
      StackMap locals:
      StackMap stack: int
        54: istore 5 /* isDefault */
        55: .line 3356
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.isVMLogging:()Z
            ifeq 57
        56: .line 3357
            new java.lang.StringBuilder
            dup
            ldc "Compliance to be updated is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* compliance */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/String;)V
        57: .line 3359
      StackMap locals:
      StackMap stack:
            iload 5 /* isDefault */
            ifeq 62
        58: .line 3360
            aload 2 /* compliance */
            aload 3 /* options */
            invokestatic org.eclipse.jdt.core.JavaCore.setComplianceOptions:(Ljava/lang/String;Ljava/util/Map;)V
        59: .line 3361
            aload 3 /* options */
            invokestatic org.eclipse.jdt.core.JavaCore.setOptions:(Ljava/util/Hashtable;)V
        60: .line 3362
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.isVMLogging:()Z
            ifeq 62
        61: .line 3363
            ldc "Compliance Options are updated."
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/String;)V
        end local 5 // boolean isDefault
        end local 4 // org.osgi.service.prefs.Preferences bundleDefaults
        end local 3 // java.util.Hashtable options
        end local 2 // java.lang.String compliance
        end local 1 // java.lang.String javaVersion
        62: .line 3369
      StackMap locals: org.eclipse.jdt.launching.IVMInstall
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.launching.IVMInstall vm
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   63     0              vm  Lorg/eclipse/jdt/launching/IVMInstall;
            4   62     1     javaVersion  Ljava/lang/String;
            6   62     2      compliance  Ljava/lang/String;
           40   62     3         options  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
           41   62     4  bundleDefaults  Lorg/osgi/service/prefs/Preferences;
           49   62     5       isDefault  Z
    MethodParameters:
      Name  Flags
      vm    

  public static org.eclipse.jdt.launching.VMStandin createVMFromDefinitionFile(java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // java.io.File eeFile
        start local 1 // java.lang.String name
        start local 2 // java.lang.String id
         0: .line 3384
            new org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription
            dup
            aload 0 /* eeFile */
            invokespecial org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.<init>:(Ljava/io/File;)V
            astore 3 /* description */
        start local 3 // org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription description
         1: .line 3385
            aload 3 /* description */
            invokestatic org.eclipse.jdt.internal.launching.EEVMType.validateDefinitionFile:(Lorg/eclipse/jdt/launching/environments/ExecutionEnvironmentDescription;)Lorg/eclipse/core/runtime/IStatus;
            astore 4 /* status */
        start local 4 // org.eclipse.core.runtime.IStatus status
         2: .line 3386
            aload 4 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.isOK:()Z
            ifeq 31
         3: .line 3387
            new org.eclipse.jdt.launching.VMStandin
            dup
            ldc "org.eclipse.jdt.launching.EEVMType"
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
            aload 2 /* id */
            invokespecial org.eclipse.jdt.launching.VMStandin.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/lang/String;)V
            astore 5 /* standin */
        start local 5 // org.eclipse.jdt.launching.VMStandin standin
         4: .line 3388
            aload 1 /* name */
            ifnull 7
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifle 7
         5: .line 3389
            aload 5 /* standin */
            aload 1 /* name */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setName:(Ljava/lang/String;)V
         6: .line 3390
            goto 11
         7: .line 3391
      StackMap locals: org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription org.eclipse.core.runtime.IStatus org.eclipse.jdt.launching.VMStandin
      StackMap stack:
            aload 3 /* description */
            ldc "-Dee.name"
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
         8: .line 3392
            aload 1 /* name */
            ifnonnull 10
         9: .line 3393
            aload 0 /* eeFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 1 /* name */
        10: .line 3395
      StackMap locals:
      StackMap stack:
            aload 5 /* standin */
            aload 1 /* name */
            invokevirtual org.eclipse.jdt.launching.VMStandin.setName:(Ljava/lang/String;)V
        11: .line 3397
      StackMap locals:
      StackMap stack:
            aload 3 /* description */
            ldc "-Djava.home"
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* home */
        start local 6 // java.lang.String home
        12: .line 3398
            aload 5 /* standin */
            new java.io.File
            dup
            aload 6 /* home */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual org.eclipse.jdt.launching.VMStandin.setInstallLocation:(Ljava/io/File;)V
        13: .line 3399
            aload 5 /* standin */
            aload 3 /* description */
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getLibraryLocations:()[Lorg/eclipse/jdt/launching/LibraryLocation;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setLibraryLocations:([Lorg/eclipse/jdt/launching/LibraryLocation;)V
        14: .line 3400
            aload 5 /* standin */
            aload 3 /* description */
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getVMArguments:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setVMArgs:(Ljava/lang/String;)V
        15: .line 3401
            aload 5 /* standin */
            aload 3 /* description */
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperties:()Ljava/util/Map;
            invokestatic org.eclipse.jdt.internal.launching.EEVMType.getJavadocLocation:(Ljava/util/Map;)Ljava/net/URL;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setJavadocLocation:(Ljava/net/URL;)V
        16: .line 3402
            aload 5 /* standin */
            ldc "ATTR_EXECUTION_ENVIRONMENT_ID"
            aload 3 /* description */
            ldc "-Dee.class.library.level"
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 3403
            aload 3 /* description */
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getExecutable:()Ljava/io/File;
            astore 7 /* exe */
        start local 7 // java.io.File exe
        18: .line 3404
            aload 7 /* exe */
            ifnonnull 20
        19: .line 3405
            aload 3 /* description */
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getConsoleExecutable:()Ljava/io/File;
            astore 7 /* exe */
        20: .line 3407
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 7 /* exe */
            ifnull 27
        21: .line 3409
            aload 5 /* standin */
            ldc "ATTR_JAVA_EXE"
            aload 7 /* exe */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 3410
            goto 27
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 8 /* e */
        start local 8 // java.io.IOException e
        24: .line 3411
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
        25: .line 3412
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaRuntime_24:Ljava/lang/String;
            aload 8 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        26: .line 3411
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 8 // java.io.IOException e
        27: .line 3415
      StackMap locals:
      StackMap stack:
            aload 5 /* standin */
            ldc "ATTR_JAVA_VERSION"
            aload 3 /* description */
            ldc "-Dee.language.level"
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        28: .line 3416
            aload 5 /* standin */
            ldc "ATTR_DEFINITION_FILE"
            aload 0 /* eeFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 3417
            aload 5 /* standin */
            ldc "ATTR_DEBUG_ARGS"
            aload 3 /* description */
            ldc "-Dee.debug.args"
            invokevirtual org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.launching.VMStandin.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 3418
            aload 5 /* standin */
            areturn
        end local 7 // java.io.File exe
        end local 6 // java.lang.String home
        end local 5 // org.eclipse.jdt.launching.VMStandin standin
        31: .line 3420
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.CoreException
            dup
            aload 4 /* status */
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 4 // org.eclipse.core.runtime.IStatus status
        end local 3 // org.eclipse.jdt.launching.environments.ExecutionEnvironmentDescription description
        end local 2 // java.lang.String id
        end local 1 // java.lang.String name
        end local 0 // java.io.File eeFile
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0       eeFile  Ljava/io/File;
            0   32     1         name  Ljava/lang/String;
            0   32     2           id  Ljava/lang/String;
            1   32     3  description  Lorg/eclipse/jdt/launching/environments/ExecutionEnvironmentDescription;
            2   32     4       status  Lorg/eclipse/core/runtime/IStatus;
            4   31     5      standin  Lorg/eclipse/jdt/launching/VMStandin;
           12   31     6         home  Ljava/lang/String;
           18   31     7          exe  Ljava/io/File;
           24   27     8            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          21    22      23  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
        Name  Flags
      eeFile  
      name    
      id      

  public static java.lang.String getModuleCLIOptions(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=17, args_size=1
        start local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 3444
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* cliOptionString */
        start local 1 // java.lang.StringBuilder cliOptionString
         1: .line 3447
            aload 0 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath:(Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 2 /* entries */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         2: .line 3449
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 3 /* root */
        start local 3 // org.eclipse.core.resources.IWorkspaceRoot root
         3: .line 3450
            aload 2 /* entries */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 22
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot top int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* iRuntimeClasspathEntry */
        start local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry iRuntimeClasspathEntry
         5: .line 3451
            aload 4 /* iRuntimeClasspathEntry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 8 /* classpathEntry */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         6: .line 3452
            aload 8 /* classpathEntry */
            ifnull 21
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 21
         7: .line 3453
            aload 3 /* root */
            aload 8 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 9 /* res */
        start local 9 // org.eclipse.core.resources.IResource res
         8: .line 3454
            aload 9 /* res */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IJavaProject
            astore 10 /* jp */
        start local 10 // org.eclipse.jdt.core.IJavaProject jp
         9: .line 3455
            aload 10 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.isOpen:()Z
            ifeq 21
        10: .line 3456
            aload 10 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 11 /* rawClasspath */
        start local 11 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        11: .line 3457
            aload 11 /* rawClasspath */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 20
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.launching.IRuntimeClasspathEntry int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry[] top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
        12: aload 15
            iload 13
            aaload
            astore 12 /* iClasspathEntry */
        start local 12 // org.eclipse.jdt.core.IClasspathEntry iClasspathEntry
        13: .line 3458
            aload 12 /* iClasspathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_5
            if_icmpne 19
        14: .line 3459
            getstatic org.eclipse.jdt.launching.JavaRuntime.JRE_CONTAINER:Ljava/lang/String;
            aload 12 /* iClasspathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        15: .line 3460
            aload 10 /* jp */
            aload 12 /* iClasspathEntry */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getModuleCLIOptions:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/lang/String;
            astore 16 /* cliOptions */
        start local 16 // java.lang.String cliOptions
        16: .line 3461
            aload 1 /* cliOptionString */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 18
            aload 16 /* cliOptions */
            invokevirtual java.lang.String.length:()I
            ifle 18
        17: .line 3462
            aload 1 /* cliOptionString */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 3464
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.launching.IRuntimeClasspathEntry int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] java.lang.String
      StackMap stack:
            aload 1 /* cliOptionString */
            aload 16 /* cliOptions */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 16 // java.lang.String cliOptions
        end local 12 // org.eclipse.jdt.core.IClasspathEntry iClasspathEntry
        19: .line 3457
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.launching.IRuntimeClasspathEntry int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry[] top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        20: iload 13
            iload 14
            if_icmplt 12
        end local 11 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 10 // org.eclipse.jdt.core.IJavaProject jp
        end local 9 // org.eclipse.core.resources.IResource res
        end local 8 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        end local 4 // org.eclipse.jdt.launching.IRuntimeClasspathEntry iRuntimeClasspathEntry
        21: .line 3450
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder org.eclipse.jdt.launching.IRuntimeClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot top int int org.eclipse.jdt.launching.IRuntimeClasspathEntry[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        22: iload 5
            iload 6
            if_icmplt 4
        end local 3 // org.eclipse.core.resources.IWorkspaceRoot root
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        23: .line 3472
            goto 26
        24: .line 3473
      StackMap locals: org.eclipse.debug.core.ILaunchConfiguration java.lang.StringBuilder
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 2 /* e */
        start local 2 // org.eclipse.core.runtime.CoreException e
        25: .line 3474
            aload 2 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 2 // org.eclipse.core.runtime.CoreException e
        26: .line 3476
      StackMap locals:
      StackMap stack:
            aload 1 /* cliOptionString */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder cliOptionString
        end local 0 // org.eclipse.debug.core.ILaunchConfiguration configuration
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   27     0           configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1   27     1         cliOptionString  Ljava/lang/StringBuilder;
            2   23     2                 entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            3   23     3                    root  Lorg/eclipse/core/resources/IWorkspaceRoot;
            5   21     4  iRuntimeClasspathEntry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            6   21     8          classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            8   21     9                     res  Lorg/eclipse/core/resources/IResource;
            9   21    10                      jp  Lorg/eclipse/jdt/core/IJavaProject;
           11   21    11            rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           13   19    12         iClasspathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           16   19    16              cliOptions  Ljava/lang/String;
           25   26     2                       e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           1    23      24  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  private static java.lang.String getModuleCLIOptions(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=19, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.IClasspathEntry systemLibrary
         0: .line 3502
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 3503
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 26
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* classpathEntry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         3: .line 3504
            aload 3 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] top int int org.eclipse.jdt.core.IClasspathAttribute[]
      StackMap stack:
         4: aload 10
            iload 8
            aaload
            astore 7 /* classpathAttribute */
        start local 7 // org.eclipse.jdt.core.IClasspathAttribute classpathAttribute
         5: .line 3505
            aload 7 /* classpathAttribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getName:()Ljava/lang/String;
            astore 11 /* optName */
        start local 11 // java.lang.String optName
         6: .line 3506
            aload 11 /* optName */
            dup
            astore 12
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1230926317: 7
          -1091734723: 8
          -1089296015: 9
            425945973: 10
              default: 23
          }
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathAttribute int int org.eclipse.jdt.core.IClasspathAttribute[] java.lang.String java.lang.String
      StackMap stack:
         7: aload 12
            ldc "add-exports"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 23
      StackMap locals:
      StackMap stack:
         8: aload 12
            ldc "add-opens"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 23
      StackMap locals:
      StackMap stack:
         9: aload 12
            ldc "add-reads"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 23
      StackMap locals:
      StackMap stack:
        10: aload 12
            ldc "limit-modules"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 23
        11: .line 3510
      StackMap locals:
      StackMap stack:
            aload 7 /* classpathAttribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            astore 13 /* readModules */
        start local 13 // java.lang.String readModules
        12: .line 3511
            aload 13 /* readModules */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* equalsIdx */
        start local 14 // int equalsIdx
        13: .line 3512
            iload 14 /* equalsIdx */
            iconst_m1
            if_icmpeq 20
        14: .line 3513
            aload 13 /* readModules */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 18
            arraylength
            istore 17
            iconst_0
            istore 16
            goto 18
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathAttribute int int org.eclipse.jdt.core.IClasspathAttribute[] java.lang.String java.lang.String java.lang.String int top int int java.lang.String[]
      StackMap stack:
        15: aload 18
            iload 16
            aaload
            astore 15 /* readModule */
        start local 15 // java.lang.String readModule
        16: .line 3514
            aload 2 /* buf */
            ldc "--"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* optName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* readModule */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 15 // java.lang.String readModule
        17: .line 3513
            iinc 16 1
      StackMap locals:
      StackMap stack:
        18: iload 16
            iload 17
            if_icmplt 15
        19: .line 3516
            goto 23
        20: .line 3517
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathAttribute int int org.eclipse.jdt.core.IClasspathAttribute[] java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* buf */
            ldc "--"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* optName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* readModules */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 3519
            goto 23
        end local 14 // int equalsIdx
        end local 13 // java.lang.String readModules
        22: .line 3524
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* project */
            aload 1 /* systemLibrary */
            aload 7 /* classpathAttribute */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.addLimitModules:(Ljava/lang/StringBuilder;Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/lang/String;)V
        end local 11 // java.lang.String optName
        end local 7 // org.eclipse.jdt.core.IClasspathAttribute classpathAttribute
        23: .line 3504
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] top int int org.eclipse.jdt.core.IClasspathAttribute[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 4
        end local 3 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        25: .line 3503
            iinc 4 1
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.StringBuilder top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
        26: iload 4
            iload 5
            if_icmplt 2
        27: .line 3529
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // org.eclipse.jdt.core.IClasspathEntry systemLibrary
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0             project  Lorg/eclipse/jdt/core/IJavaProject;
            0   28     1       systemLibrary  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   28     2                 buf  Ljava/lang/StringBuilder;
            3   25     3      classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            5   23     7  classpathAttribute  Lorg/eclipse/jdt/core/IClasspathAttribute;
            6   23    11             optName  Ljava/lang/String;
           12   22    13         readModules  Ljava/lang/String;
           13   22    14           equalsIdx  I
           16   17    15          readModule  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      project        
      systemLibrary  

  private static void addLimitModules(java.lang.StringBuilder, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathEntry, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=4
        start local 0 // java.lang.StringBuilder buf
        start local 1 // org.eclipse.jdt.core.IJavaProject prj
        start local 2 // org.eclipse.jdt.core.IClasspathEntry systemLibrary
        start local 3 // java.lang.String value
         0: .line 3532
            aload 3 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* modules */
        start local 4 // java.lang.String[] modules
         1: .line 3533
            aload 1 /* prj */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals: java.lang.String[]
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isUnnamed */
        start local 5 // boolean isUnnamed
         4: .line 3534
            iload 5 /* isUnnamed */
            ifeq 23
         5: .line 3535
            new java.util.HashSet
            dup
            aload 4 /* modules */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* selected */
        start local 6 // java.util.Set selected
         6: .line 3536
            aload 1 /* prj */
            aload 2 /* systemLibrary */
            invokeinterface org.eclipse.jdt.core.IJavaProject.findUnfilteredPackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 7 /* allSystemRoots */
        start local 7 // java.util.List allSystemRoots
         7: .line 3537
            aload 7 /* allSystemRoots */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getDefaultModules:(Ljava/util/List;)Ljava/util/Set;
            astore 8 /* defaultModules */
        start local 8 // java.util.Set defaultModules
         8: .line 3538
            new java.util.HashSet
            dup
            aload 8 /* defaultModules */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 9 /* limit */
        start local 9 // java.util.Set limit
         9: .line 3541
            aload 7 /* allSystemRoots */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        10: .line 3542
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/eclipse/jdt/launching/JavaRuntime.lambda$0(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/core/IModuleDescription; (6)
                  (Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/core/IModuleDescription;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        11: .line 3543
            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
                  java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
                  (Lorg/eclipse/jdt/core/IModuleDescription;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        12: .line 3544
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/eclipse/jdt/core/IJavaElement.getElementName()Ljava/lang/String; (9 itf)
                  (Lorg/eclipse/jdt/core/IModuleDescription;)Ljava/lang/String;
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/eclipse/jdt/launching/JavaRuntime.lambda$3(Lorg/eclipse/jdt/core/IModuleDescription;)Lorg/eclipse/jdt/core/IModuleDescription; (6)
                  (Lorg/eclipse/jdt/core/IModuleDescription;)Lorg/eclipse/jdt/core/IModuleDescription;
            invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
        13: .line 3541
            astore 10 /* allModules */
        start local 10 // java.util.Map allModules
        14: .line 3545
            aload 6 /* selected */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aload 10 /* allModules */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.closure:(Ljava/util/Collection;Ljava/util/Set;Ljava/util/Map;)Ljava/util/Set;
            astore 11 /* selectedClosure */
        start local 11 // java.util.Set selectedClosure
        15: .line 3547
            aload 9 /* limit */
            aload 11 /* selectedClosure */
            invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
            ifeq 19
        16: .line 3548
            aload 9 /* limit */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 18
        17: .line 3549
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot hide all modules, at least java.base is required"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 3551
      StackMap locals: java.lang.StringBuilder org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.lang.String[] int java.util.Set java.util.List java.util.Set java.util.Set java.util.Map java.util.Set
      StackMap stack:
            aload 0 /* buf */
            ldc "--limit-modules "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* limit */
            aload 10 /* allModules */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.reduceNames:(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;
            invokestatic org.eclipse.jdt.launching.JavaRuntime.joinedSortedList:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 3554
      StackMap locals:
      StackMap stack:
            aload 11 /* selectedClosure */
            aload 8 /* defaultModules */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        20: .line 3555
            aload 11 /* selectedClosure */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 25
        21: .line 3556
            aload 0 /* buf */
            ldc "--add-modules "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* selectedClosure */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.joinedSortedList:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.util.Set selectedClosure
        end local 10 // java.util.Map allModules
        end local 9 // java.util.Set limit
        end local 8 // java.util.Set defaultModules
        end local 7 // java.util.List allSystemRoots
        end local 6 // java.util.Set selected
        22: .line 3558
            goto 25
        23: .line 3559
      StackMap locals: java.lang.StringBuilder org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.lang.String[] int
      StackMap stack:
            aload 4 /* modules */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        24: .line 3560
            aload 0 /* buf */
            ldc "--limit-modules "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            aload 4 /* modules */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 3562
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean isUnnamed
        end local 4 // java.lang.String[] modules
        end local 3 // java.lang.String value
        end local 2 // org.eclipse.jdt.core.IClasspathEntry systemLibrary
        end local 1 // org.eclipse.jdt.core.IJavaProject prj
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0              buf  Ljava/lang/StringBuilder;
            0   26     1              prj  Lorg/eclipse/jdt/core/IJavaProject;
            0   26     2    systemLibrary  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   26     3            value  Ljava/lang/String;
            1   26     4          modules  [Ljava/lang/String;
            4   26     5        isUnnamed  Z
            6   22     6         selected  Ljava/util/Set<Ljava/lang/String;>;
            7   22     7   allSystemRoots  Ljava/util/List<Lorg/eclipse/jdt/core/IPackageFragmentRoot;>;
            8   22     8   defaultModules  Ljava/util/Set<Ljava/lang/String;>;
            9   22     9            limit  Ljava/util/Set<Ljava/lang/String;>;
           14   22    10       allModules  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IModuleDescription;>;
           15   22    11  selectedClosure  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      buf            
      prj            
      systemLibrary  
      value          

  private static java.util.Set<java.lang.String> closure(java.util.Collection<java.lang.String>, java.util.Set<java.lang.String>, java.util.Map<java.lang.String, org.eclipse.jdt.core.IModuleDescription>);
    descriptor: (Ljava/util/Collection;Ljava/util/Set;Ljava/util/Map;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.Collection moduleNames
        start local 1 // java.util.Set collected
        start local 2 // java.util.Map allModules
         0: .line 3565
            aload 0 /* moduleNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: java.util.Collection java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 3566
            aload 1 /* collected */
            aload 3 /* name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 3567
            aload 2 /* allModules */
            aload 3 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IModuleDescription
            astore 5 /* module */
        start local 5 // org.eclipse.jdt.core.IModuleDescription module
         4: .line 3568
            aload 5 /* module */
            ifnull 9
         5: .line 3570
            aload 5 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getRequiredModuleNames:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* collected */
            aload 2 /* allModules */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.closure:(Ljava/util/Collection;Ljava/util/Set;Ljava/util/Map;)Ljava/util/Set;
            pop
         6: .line 3571
            goto 9
      StackMap locals: java.util.Collection java.util.Set java.util.Map java.lang.String java.util.Iterator org.eclipse.jdt.core.IModuleDescription
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         7: astore 6 /* e */
        start local 6 // org.eclipse.jdt.core.JavaModelException e
         8: .line 3572
            aload 6 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 6 // org.eclipse.jdt.core.JavaModelException e
        end local 5 // org.eclipse.jdt.core.IModuleDescription module
        end local 3 // java.lang.String name
         9: .line 3565
      StackMap locals: java.util.Collection java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 3577
            aload 1 /* collected */
            areturn
        end local 2 // java.util.Map allModules
        end local 1 // java.util.Set collected
        end local 0 // java.util.Collection moduleNames
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  moduleNames  Ljava/util/Collection<Ljava/lang/String;>;
            0   11     1    collected  Ljava/util/Set<Ljava/lang/String;>;
            0   11     2   allModules  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IModuleDescription;>;
            2    9     3         name  Ljava/lang/String;
            4    9     5       module  Lorg/eclipse/jdt/core/IModuleDescription;
            8    9     6            e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.eclipse.jdt.core.JavaModelException
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IModuleDescription;>;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      moduleNames  
      collected    
      allModules   

  private static java.util.Collection<java.lang.String> reduceNames(java.util.Collection<java.lang.String>, java.util.Collection<org.eclipse.jdt.core.IModuleDescription>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.util.Collection names
        start local 1 // java.util.Collection allModules
         0: .line 3582
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* moduleRequiredByModules */
        start local 2 // java.util.Map moduleRequiredByModules
         1: .line 3583
            aload 1 /* allModules */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: java.util.Collection java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IModuleDescription
            astore 3 /* module */
        start local 3 // org.eclipse.jdt.core.IModuleDescription module
         3: .line 3584
            aload 0 /* names */
            aload 3 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 3585
            goto 17
         5: .line 3588
      StackMap locals: java.util.Collection java.util.Collection java.util.Map org.eclipse.jdt.core.IModuleDescription java.util.Iterator
      StackMap stack:
            aload 3 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getRequiredModuleNames:()[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: java.util.Collection java.util.Collection java.util.Map org.eclipse.jdt.core.IModuleDescription java.util.Iterator top int int java.lang.String[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* required */
        start local 5 // java.lang.String required
         7: .line 3589
            aload 2 /* moduleRequiredByModules */
            aload 5 /* required */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* dominators */
        start local 9 // java.util.List dominators
         8: .line 3590
            aload 9 /* dominators */
            ifnonnull 10
         9: .line 3591
            aload 2 /* moduleRequiredByModules */
            aload 5 /* required */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            dup
            astore 9 /* dominators */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 3593
      StackMap locals: java.util.Collection java.util.Collection java.util.Map org.eclipse.jdt.core.IModuleDescription java.util.Iterator java.lang.String int int java.lang.String[] java.util.List
      StackMap stack:
            aload 9 /* dominators */
            aload 3 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.util.List dominators
        end local 5 // java.lang.String required
        11: .line 3588
            iinc 6 1
      StackMap locals: java.util.Collection java.util.Collection java.util.Map org.eclipse.jdt.core.IModuleDescription java.util.Iterator top int int java.lang.String[]
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 6
        13: .line 3595
            goto 17
      StackMap locals: java.util.Collection java.util.Collection java.util.Map org.eclipse.jdt.core.IModuleDescription java.util.Iterator
      StackMap stack: org.eclipse.core.runtime.CoreException
        14: astore 5 /* e */
        start local 5 // org.eclipse.core.runtime.CoreException e
        15: .line 3596
            aload 5 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        16: .line 3597
            aload 0 /* names */
            areturn
        end local 5 // org.eclipse.core.runtime.CoreException e
        end local 3 // org.eclipse.jdt.core.IModuleDescription module
        17: .line 3583
      StackMap locals: java.util.Collection java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        18: .line 3601
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* reduced */
        start local 3 // java.util.List reduced
        19: .line 3602
            aload 0 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 29
      StackMap locals: java.util.Collection java.util.Collection java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
        20: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
        21: .line 3603
            aload 2 /* moduleRequiredByModules */
            aload 4 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* dominators */
        start local 6 // java.util.List dominators
        22: .line 3604
            aload 6 /* dominators */
            ifnull 28
        23: .line 3605
            aload 6 /* dominators */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 27
      StackMap locals: java.util.Collection java.util.Collection java.util.Map java.util.List java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        24: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* dominator */
        start local 7 // java.lang.String dominator
        25: .line 3606
            aload 0 /* names */
            aload 7 /* dominator */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 3607
            goto 29
        end local 7 // java.lang.String dominator
        27: .line 3605
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        28: .line 3611
      StackMap locals: java.util.Collection java.util.Collection java.util.Map java.util.List java.lang.String java.util.Iterator java.util.List
      StackMap stack:
            aload 3 /* reduced */
            aload 4 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.List dominators
        end local 4 // java.lang.String name
        29: .line 3602
      StackMap locals: java.util.Collection java.util.Collection java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        30: .line 3613
            aload 3 /* reduced */
            areturn
        end local 3 // java.util.List reduced
        end local 2 // java.util.Map moduleRequiredByModules
        end local 1 // java.util.Collection allModules
        end local 0 // java.util.Collection names
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   31     0                    names  Ljava/util/Collection<Ljava/lang/String;>;
            0   31     1               allModules  Ljava/util/Collection<Lorg/eclipse/jdt/core/IModuleDescription;>;
            1   31     2  moduleRequiredByModules  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            3   17     3                   module  Lorg/eclipse/jdt/core/IModuleDescription;
            7   11     5                 required  Ljava/lang/String;
            8   11     9               dominators  Ljava/util/List<Ljava/lang/String;>;
           15   17     5                        e  Lorg/eclipse/core/runtime/CoreException;
           19   31     3                  reduced  Ljava/util/List<Ljava/lang/String;>;
           21   29     4                     name  Ljava/lang/String;
           22   29     6               dominators  Ljava/util/List<Ljava/lang/String;>;
           25   27     7                dominator  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5    13      14  Class org.eclipse.core.runtime.CoreException
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Lorg/eclipse/jdt/core/IModuleDescription;>;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      names       
      allModules  

  private static java.util.Set<java.lang.String> getDefaultModules(java.util.List<org.eclipse.jdt.core.IPackageFragmentRoot>);
    descriptor: (Ljava/util/List;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.util.List allSystemRoots
         0: .line 3617
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* moduleDescriptions */
        start local 1 // java.util.HashMap moduleDescriptions
         1: .line 3618
            aload 0 /* allSystemRoots */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.util.List java.util.HashMap top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 2 /* packageFragmentRoot */
        start local 2 // org.eclipse.jdt.core.IPackageFragmentRoot packageFragmentRoot
         3: .line 3619
            aload 2 /* packageFragmentRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 4 /* module */
        start local 4 // org.eclipse.jdt.core.IModuleDescription module
         4: .line 3620
            aload 4 /* module */
            ifnull 6
         5: .line 3621
            aload 1 /* moduleDescriptions */
            aload 4 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            aload 4 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getRequiredModuleNames:()[Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.eclipse.jdt.core.IModuleDescription module
        end local 2 // org.eclipse.jdt.core.IPackageFragmentRoot packageFragmentRoot
         6: .line 3618
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 3624
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.HashSet result
         8: .line 3625
            new java.util.HashSet
            dup
            aload 0 /* allSystemRoots */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.defaultRootModules:(Ljava/lang/Iterable;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 3 /* todo */
        start local 3 // java.util.HashSet todo
         9: .line 3626
            goto 19
        10: .line 3627
      StackMap locals: java.util.List java.util.HashMap java.util.HashSet java.util.HashSet
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* more */
        start local 4 // java.util.HashSet more
        11: .line 3628
            aload 3 /* todo */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: java.util.List java.util.HashMap java.util.HashSet java.util.HashSet java.util.HashSet top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* s */
        start local 5 // java.lang.String s
        13: .line 3629
            aload 2 /* result */
            aload 5 /* s */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifeq 17
        14: .line 3630
            aload 1 /* moduleDescriptions */
            aload 5 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 7 /* requiredModules */
        start local 7 // java.lang.String[] requiredModules
        15: .line 3631
            aload 7 /* requiredModules */
            ifnull 17
        16: .line 3632
            aload 4 /* more */
            aload 7 /* requiredModules */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String[] requiredModules
        end local 5 // java.lang.String s
        17: .line 3628
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 3636
            aload 4 /* more */
            astore 3 /* todo */
        end local 4 // java.util.HashSet more
        19: .line 3626
      StackMap locals: java.util.List java.util.HashMap java.util.HashSet java.util.HashSet
      StackMap stack:
            aload 3 /* todo */
            invokevirtual java.util.HashSet.isEmpty:()Z
            ifeq 10
        20: .line 3638
            aload 2 /* result */
            areturn
        end local 3 // java.util.HashSet todo
        end local 2 // java.util.HashSet result
        end local 1 // java.util.HashMap moduleDescriptions
        end local 0 // java.util.List allSystemRoots
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0       allSystemRoots  Ljava/util/List<Lorg/eclipse/jdt/core/IPackageFragmentRoot;>;
            1   21     1   moduleDescriptions  Ljava/util/HashMap<Ljava/lang/String;[Ljava/lang/String;>;
            3    6     2  packageFragmentRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            4    6     4               module  Lorg/eclipse/jdt/core/IModuleDescription;
            8   21     2               result  Ljava/util/HashSet<Ljava/lang/String;>;
            9   21     3                 todo  Ljava/util/HashSet<Ljava/lang/String;>;
           11   19     4                 more  Ljava/util/HashSet<Ljava/lang/String;>;
           13   17     5                    s  Ljava/lang/String;
           15   17     7      requiredModules  [Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Ljava/util/List<Lorg/eclipse/jdt/core/IPackageFragmentRoot;>;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      allSystemRoots  

  private static java.lang.String joinedSortedList(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Collection list
         0: .line 3642
            aload 0 /* list */
            aload 0 /* list */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* limitArray */
        start local 1 // java.lang.String[] limitArray
         1: .line 3643
            aload 1 /* limitArray */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
         2: .line 3644
            ldc ","
            aload 1 /* limitArray */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String[] limitArray
        end local 0 // java.util.Collection list
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        list  Ljava/util/Collection<Ljava/lang/String;>;
            1    3     1  limitArray  [Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      list  

  private static org.eclipse.jdt.core.IModuleDescription lambda$0(org.eclipse.jdt.core.IPackageFragmentRoot);
    descriptor: (Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IPackageFragmentRoot r
         0: .line 3542
            aload 0 /* r */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            areturn
        end local 0 // org.eclipse.jdt.core.IPackageFragmentRoot r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     r  Lorg/eclipse/jdt/core/IPackageFragmentRoot;

  private static org.eclipse.jdt.core.IModuleDescription lambda$3(org.eclipse.jdt.core.IModuleDescription);
    descriptor: (Lorg/eclipse/jdt/core/IModuleDescription;)Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IModuleDescription module
         0: .line 3544
            aload 0 /* module */
            areturn
        end local 0 // org.eclipse.jdt.core.IModuleDescription module
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  module  Lorg/eclipse/jdt/core/IModuleDescription;
}
SourceFile: "JavaRuntime.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles