public class org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver implements org.eclipse.core.variables.IDynamicVariableResolver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
0: .line 42
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/launching/ProjectClasspathVariableResolver;
public java.lang.String resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String);
descriptor: (Lorg/eclipse/core/variables/IDynamicVariable;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=11, args_size=3
start local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
start local 1 // org.eclipse.core.variables.IDynamicVariable variable
start local 2 // java.lang.String argument
0: .line 46
aconst_null
astore 3 /* proj */
start local 3 // org.eclipse.core.resources.IProject proj
1: .line 47
aload 2 /* argument */
ifnonnull 7
2: .line 48
aload 0 /* this */
invokevirtual org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver.getSelectedResource:()Lorg/eclipse/core/resources/IResource;
astore 4 /* resource */
start local 4 // org.eclipse.core.resources.IResource resource
3: .line 49
aload 4 /* resource */
ifnull 5
aload 4 /* resource */
invokeinterface org.eclipse.core.resources.IResource.exists:()Z
ifeq 5
4: .line 50
aload 4 /* resource */
invokeinterface org.eclipse.core.resources.IResource.getProject:()Lorg/eclipse/core/resources/IProject;
astore 3 /* proj */
5: .line 52
StackMap locals: org.eclipse.core.resources.IProject org.eclipse.core.resources.IResource
StackMap stack:
aload 3 /* proj */
ifnonnull 8
6: .line 53
new org.eclipse.core.runtime.CoreException
dup
new org.eclipse.core.runtime.Status
dup
iconst_4
ldc "org.eclipse.jdt.launching"
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.ProjectClasspathVariableResolver_2:Ljava/lang/String;
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
end local 4 // org.eclipse.core.resources.IResource resource
7: .line 56
StackMap locals:
StackMap stack:
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 2 /* argument */
invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
astore 3 /* proj */
8: .line 58
StackMap locals:
StackMap stack:
aload 3 /* proj */
invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
astore 4 /* javaProject */
start local 4 // org.eclipse.jdt.core.IJavaProject javaProject
9: .line 59
aload 4 /* javaProject */
invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
ifeq 33
10: .line 60
aload 4 /* javaProject */
invokestatic org.eclipse.jdt.launching.JavaRuntime.newDefaultProjectClasspathEntry:(Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
checkcast org.eclipse.jdt.launching.IRuntimeClasspathEntry2
astore 5 /* defClassPath */
start local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry2 defClassPath
11: .line 61
aload 5 /* defClassPath */
iconst_0
invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry2.getRuntimeClasspathEntries:(Z)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
astore 6 /* entries */
start local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
12: .line 62
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7 /* collect */
start local 7 // java.util.List collect
13: .line 63
iconst_0
istore 8 /* i */
start local 8 // int i
14: goto 22
15: .line 64
StackMap locals: org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver org.eclipse.core.variables.IDynamicVariable java.lang.String org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.launching.IRuntimeClasspathEntry2 org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int
StackMap stack:
aload 6 /* entries */
iload 8 /* i */
aaload
aload 4 /* javaProject */
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;
astore 9 /* children */
start local 9 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] children
16: .line 65
iconst_0
istore 10 /* j */
start local 10 // int j
17: goto 20
18: .line 66
StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] int
StackMap stack:
aload 7 /* collect */
aload 9 /* children */
iload 10 /* j */
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: .line 65
iinc 10 /* j */ 1
StackMap locals:
StackMap stack:
20: iload 10 /* j */
aload 9 /* children */
arraylength
if_icmplt 18
end local 10 // int j
end local 9 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] children
21: .line 63
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 8 /* i */
aload 6 /* entries */
arraylength
if_icmplt 15
end local 8 // int i
23: .line 69
aload 7 /* collect */
aload 7 /* collect */
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[]
astore 6 /* entries */
24: .line 70
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8 /* buffer */
start local 8 // java.lang.StringBuilder buffer
25: .line 71
iconst_0
istore 9 /* i */
start local 9 // int i
26: goto 31
27: .line 72
StackMap locals: org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver org.eclipse.core.variables.IDynamicVariable java.lang.String org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.launching.IRuntimeClasspathEntry2 org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List java.lang.StringBuilder int
StackMap stack:
iload 9 /* i */
ifle 29
28: .line 73
aload 8 /* buffer */
getstatic java.io.File.pathSeparatorChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
29: .line 75
StackMap locals:
StackMap stack:
aload 8 /* buffer */
aload 6 /* entries */
iload 9 /* i */
aaload
invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: .line 71
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 9 /* i */
aload 6 /* entries */
arraylength
if_icmplt 27
end local 9 // int i
32: .line 77
aload 8 /* buffer */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 8 // java.lang.StringBuilder buffer
end local 7 // java.util.List collect
end local 6 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
end local 5 // org.eclipse.jdt.launching.IRuntimeClasspathEntry2 defClassPath
33: .line 79
StackMap locals: org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver org.eclipse.core.variables.IDynamicVariable java.lang.String org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject
StackMap stack:
new org.eclipse.core.runtime.CoreException
dup
new org.eclipse.core.runtime.Status
dup
iconst_4
ldc "org.eclipse.jdt.launching"
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.ProjectClasspathVariableResolver_1:Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2 /* argument */
aastore
invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
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
end local 4 // org.eclipse.jdt.core.IJavaProject javaProject
end local 3 // org.eclipse.core.resources.IProject proj
end local 2 // java.lang.String argument
end local 1 // org.eclipse.core.variables.IDynamicVariable variable
end local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/eclipse/jdt/internal/launching/ProjectClasspathVariableResolver;
0 34 1 variable Lorg/eclipse/core/variables/IDynamicVariable;
0 34 2 argument Ljava/lang/String;
1 34 3 proj Lorg/eclipse/core/resources/IProject;
3 7 4 resource Lorg/eclipse/core/resources/IResource;
9 34 4 javaProject Lorg/eclipse/jdt/core/IJavaProject;
11 33 5 defClassPath Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry2;
12 33 6 entries [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
13 33 7 collect Ljava/util/List<Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;>;
14 23 8 i I
16 21 9 children [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
17 21 10 j I
25 33 8 buffer Ljava/lang/StringBuilder;
26 32 9 i I
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
variable
argument
protected org.eclipse.core.resources.IResource getSelectedResource();
descriptor: ()Lorg/eclipse/core/resources/IResource;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=1
start local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
0: .line 92
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 1 /* manager */
start local 1 // org.eclipse.core.variables.IStringVariableManager manager
1: .line 94
aload 1 /* manager */
ldc "${selected_resource_path}"
invokeinterface org.eclipse.core.variables.IStringVariableManager.performStringSubstitution:(Ljava/lang/String;)Ljava/lang/String;
astore 2 /* pathString */
start local 2 // java.lang.String pathString
2: .line 95
invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
new org.eclipse.core.runtime.Path
dup
aload 2 /* pathString */
invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
3: areturn
end local 2 // java.lang.String pathString
4: .line 96
StackMap locals: org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver org.eclipse.core.variables.IStringVariableManager
StackMap stack: org.eclipse.core.runtime.CoreException
pop
5: .line 99
new org.eclipse.core.runtime.CoreException
dup
new org.eclipse.core.runtime.Status
dup
iconst_4
ldc "org.eclipse.jdt.launching"
getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.ProjectClasspathVariableResolver_3:Ljava/lang/String;
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
end local 1 // org.eclipse.core.variables.IStringVariableManager manager
end local 0 // org.eclipse.jdt.internal.launching.ProjectClasspathVariableResolver this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/launching/ProjectClasspathVariableResolver;
1 6 1 manager Lorg/eclipse/core/variables/IStringVariableManager;
2 4 2 pathString Ljava/lang/String;
Exception table:
from to target type
1 3 4 Class org.eclipse.core.runtime.CoreException
Exceptions:
throws org.eclipse.core.runtime.CoreException
}
SourceFile: "ProjectClasspathVariableResolver.java"