public class org.eclipse.jdt.internal.launching.MacInstalledJREs
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.launching.MacInstalledJREs
super_class: java.lang.Object
{
private static final java.lang.String JAVA_HOME_PLIST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/usr/libexec/java_home"
private static final java.lang.String PLIST_JVM_HOME_PATH;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JVMHomePath"
private static final java.lang.String PLIST_JVM_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JVMName"
private static final java.lang.String PLIST_JVM_VERSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JVMVersion"
private static final java.lang.String PLIST_JVM_BUNDLE_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "JVMBundleID"
public static final org.eclipse.jdt.launching.VMStandin[] NO_VMS;
descriptor: [Lorg/eclipse/jdt/launching/VMStandin;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray org.eclipse.jdt.launching.VMStandin
putstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/launching/MacInstalledJREs;
public static org.eclipse.jdt.launching.VMStandin[] getInstalledJREs(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=10, args_size=1
start local 0 0: aload 0
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/SubMonitor;
astore 1
start local 1 1: new java.io.File
dup
ldc "/usr/libexec/java_home"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
invokevirtual java.io.File.exists:()Z
ifne 4
3: new org.eclipse.core.runtime.CoreException
dup
new org.eclipse.core.runtime.Status
dup
iconst_2
invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
ldc "The java_home executable does not exist"
invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
athrow
4: StackMap locals: org.eclipse.core.runtime.SubMonitor java.io.File
StackMap stack:
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "/usr/libexec/java_home"
aastore
dup
iconst_1
ldc "-X"
aastore
astore 3
start local 3 5: aconst_null
astore 4
start local 4 6: aload 3
aconst_null
invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
astore 4
7: new org.eclipse.debug.core.Launch
dup
aconst_null
ldc "run"
aconst_null
invokespecial org.eclipse.debug.core.Launch.<init>:(Lorg/eclipse/debug/core/ILaunchConfiguration;Ljava/lang/String;Lorg/eclipse/debug/core/model/ISourceLocator;)V
aload 4
ldc "JRE Install Detection"
invokestatic org.eclipse.debug.core.DebugPlugin.newProcess:(Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;)Lorg/eclipse/debug/core/model/IProcess;
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 16
10: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process org.eclipse.debug.core.model.IProcess int
StackMap stack:
aload 5
invokeinterface org.eclipse.debug.core.model.IProcess.isTerminated:()Z
ifeq 12
11: goto 17
12: StackMap locals:
StackMap stack:
ldc 50
invokestatic java.lang.Thread.sleep:(J)V
13: goto 15
StackMap locals:
StackMap stack: java.lang.InterruptedException
14: pop
15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
sipush 600
if_icmplt 10
end local 6 17: StackMap locals:
StackMap stack:
aload 5
aload 0
invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.parseJREInfo:(Lorg/eclipse/debug/core/model/IProcess;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
astore 8
18: aload 4
ifnull 20
19: aload 4
invokevirtual java.lang.Process.destroy:()V
20: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process org.eclipse.debug.core.model.IProcess top top org.eclipse.jdt.launching.VMStandin[]
StackMap stack:
aload 1
invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
ifne 22
21: aload 1
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
22: StackMap locals:
StackMap stack:
aload 8
areturn
end local 5 23: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process
StackMap stack: java.lang.Throwable
astore 7
24: aload 4
ifnull 26
25: aload 4
invokevirtual java.lang.Process.destroy:()V
26: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process top top java.lang.Throwable
StackMap stack:
aload 7
athrow
end local 4 end local 3 end local 2 27: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: java.lang.Throwable
astore 9
28: aload 1
invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
ifne 30
29: aload 1
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
30: StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor top top top top top top top java.lang.Throwable
StackMap stack:
aload 9
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 31 1 smonitor Lorg/eclipse/core/runtime/SubMonitor;
2 27 2 java_home Ljava/io/File;
5 27 3 cmdLine [Ljava/lang/String;
6 27 4 p Ljava/lang/Process;
8 23 5 process Lorg/eclipse/debug/core/model/IProcess;
9 17 6 i I
Exception table:
from to target type
12 13 14 Class java.lang.InterruptedException
6 18 23 any
1 20 27 any
23 27 27 any
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
monitor
private static org.eclipse.jdt.launching.VMStandin[] parseJREInfo(org.eclipse.debug.core.model.IProcess, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/debug/core/model/IProcess;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.eclipse.debug.core.model.IProcess.getStreamsProxy:()Lorg/eclipse/debug/core/model/IStreamsProxy;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
ifnull 4
3: aload 2
invokeinterface org.eclipse.debug.core.model.IStreamsProxy.getOutputStreamMonitor:()Lorg/eclipse/debug/core/model/IStreamMonitor;
invokeinterface org.eclipse.debug.core.model.IStreamMonitor.getContents:()Ljava/lang/String;
astore 3
4: StackMap locals: org.eclipse.debug.core.model.IStreamsProxy java.lang.String
StackMap stack:
aload 3
ifnull 7
aload 3
invokevirtual java.lang.String.length:()I
ifle 7
5: new java.io.ByteArrayInputStream
dup
aload 3
invokevirtual java.lang.String.getBytes:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 4
start local 4 6: aload 4
aload 1
invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.parseJREInfo:(Ljava/io/InputStream;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
areturn
end local 4 7: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 process Lorg/eclipse/debug/core/model/IProcess;
0 8 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 8 2 streamsProxy Lorg/eclipse/debug/core/model/IStreamsProxy;
2 8 3 text Ljava/lang/String;
6 7 4 stream Ljava/io/ByteArrayInputStream;
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
process
monitor
public static org.eclipse.jdt.launching.VMStandin[] parseJREInfo(java.io.InputStream, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Ljava/io/InputStream;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=19, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.MacInstalledJREs_0:Ljava/lang/String;
bipush 10
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/String;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 2
start local 2 1: new org.eclipse.jdt.internal.launching.PListParser
dup
invokespecial org.eclipse.jdt.internal.launching.PListParser.<init>:()V
aload 0
invokevirtual org.eclipse.jdt.internal.launching.PListParser.parse:(Ljava/io/InputStream;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof java.lang.Object[]
ifeq 44
3: aload 3
checkcast java.lang.Object[]
astore 4
start local 4 4: aload 2
aload 4
arraylength
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 6: ldc "org.eclipse.jdt.internal.launching.macosx.MacOSXType"
invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
checkcast org.eclipse.jdt.launching.AbstractVMInstallType
astore 6
start local 6 7: aload 6
ifnull 35
8: iconst_0
istore 7
start local 7 9: goto 34
10: StackMap locals: java.io.InputStream org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.lang.Object java.lang.Object[] java.util.List org.eclipse.jdt.launching.AbstractVMInstallType int
StackMap stack:
aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
ifeq 14
11: aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray org.eclipse.jdt.launching.VMStandin
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.eclipse.jdt.launching.VMStandin[]
astore 18
12: aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
13: aload 18
areturn
14: StackMap locals:
StackMap stack:
aload 4
iload 7
aaload
astore 8
start local 8 15: aload 8
instanceof java.util.Map
ifeq 32
16: aload 8
checkcast java.util.Map
astore 9
start local 9 17: aload 9
ldc "JVMHomePath"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 18: aload 9
ldc "JVMName"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 11
start local 11 19: aload 9
ldc "JVMVersion"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 12
start local 12 20: aload 10
instanceof java.lang.String
ifeq 32
aload 11
instanceof java.lang.String
ifeq 32
aload 12
instanceof java.lang.String
ifeq 32
21: aload 2
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.MacInstalledJREs_1:Ljava/lang/String;
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 11
checkcast java.lang.String
aastore
dup
iconst_1
aload 12
checkcast java.lang.String
aastore
invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.eclipse.core.runtime.SubMonitor.setTaskName:(Ljava/lang/String;)V
22: aload 12
checkcast java.lang.String
astore 13
start local 13 23: new java.io.File
dup
aload 10
checkcast java.lang.String
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 14
start local 14 24: new java.lang.StringBuilder
dup
aload 11
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 15
start local 15 25: aload 15
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: new org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin
dup
aload 6
aload 14
aload 15
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 13
aload 9
aload 13
invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.computeId:(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
invokespecial org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 16
start local 16 27: aload 16
aload 6
aload 14
invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultJavadocLocation:(Ljava/io/File;)Ljava/net/URL;
invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setJavadocLocation:(Ljava/net/URL;)V
28: aload 16
aload 6
aload 14
invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setLibraryLocations:([Lorg/eclipse/jdt/launching/LibraryLocation;)V
29: aload 16
aload 6
aload 14
invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultVMArguments:(Ljava/io/File;)Ljava/lang/String;
invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setVMArgs:(Ljava/lang/String;)V
30: aload 5
aload 16
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 32
31: aload 5
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 32: StackMap locals: java.lang.Object
StackMap stack:
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.worked:(I)V
end local 8 33: iinc 7 1
StackMap locals:
StackMap stack:
34: iload 7
aload 4
arraylength
if_icmplt 10
end local 7 35: StackMap locals:
StackMap stack:
aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray org.eclipse.jdt.launching.VMStandin
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.eclipse.jdt.launching.VMStandin[]
astore 18
36: aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
37: aload 18
areturn
end local 6 end local 5 end local 4 end local 3 38: StackMap locals: java.io.InputStream org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: org.eclipse.core.runtime.CoreException
astore 3
start local 3 39: aload 3
invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
end local 3 40: aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
goto 45
41: StackMap locals:
StackMap stack: java.lang.Throwable
astore 17
42: aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
43: aload 17
athrow
44: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
45: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 stream Ljava/io/InputStream;
0 46 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 46 2 smonitor Lorg/eclipse/core/runtime/SubMonitor;
2 38 3 result Ljava/lang/Object;
4 38 4 maps [Ljava/lang/Object;
6 38 5 jres Ljava/util/List<Lorg/eclipse/jdt/launching/VMStandin;>;
7 38 6 mactype Lorg/eclipse/jdt/launching/AbstractVMInstallType;
9 35 7 i I
15 33 8 object Ljava/lang/Object;
17 32 9 map Ljava/util/Map<**>;
18 32 10 home Ljava/lang/Object;
19 32 11 name Ljava/lang/Object;
20 32 12 version Ljava/lang/Object;
23 32 13 ver Ljava/lang/String;
24 32 14 loc Ljava/io/File;
25 32 15 namebuff Ljava/lang/StringBuilder;
27 32 16 vm Lorg/eclipse/jdt/internal/launching/MacInstalledJREs$MacVMStandin;
39 40 3 ce Lorg/eclipse/core/runtime/CoreException;
Exception table:
from to target type
1 12 38 Class org.eclipse.core.runtime.CoreException
14 36 38 Class org.eclipse.core.runtime.CoreException
1 12 41 any
14 36 41 any
38 40 41 any
MethodParameters:
Name Flags
stream
monitor
static java.lang.String computeId(java.util.Map<?, ?>, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "JVMBundleID"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.String
ifeq 3
2: aload 2
checkcast java.lang.String
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 map Ljava/util/Map<**>;
0 4 1 version Ljava/lang/String;
1 4 2 o Ljava/lang/Object;
Signature: (Ljava/util/Map<**>;Ljava/lang/String;)Ljava/lang/String;
MethodParameters:
Name Flags
map
version
}
SourceFile: "MacInstalledJREs.java"
NestMembers:
org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin
InnerClasses:
public MacVMStandin = org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin of org.eclipse.jdt.internal.launching.MacInstalledJREs