public class com.sun.tools.example.debug.gui.SourceManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.example.debug.gui.SourceManager
super_class: java.lang.Object
{
private java.util.List<com.sun.tools.example.debug.gui.SourceModel> sourceList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/sun/tools/example/debug/gui/SourceModel;>;
private com.sun.tools.example.debug.gui.SearchPath sourcePath;
descriptor: Lcom/sun/tools/example/debug/gui/SearchPath;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<com.sun.tools.example.debug.gui.SourceListener> sourceListeners;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lcom/sun/tools/example/debug/gui/SourceListener;>;
private java.util.Map<com.sun.jdi.ReferenceType, com.sun.tools.example.debug.gui.SourceModel> classToSource;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/jdi/ReferenceType;Lcom/sun/tools/example/debug/gui/SourceModel;>;
private com.sun.tools.example.debug.gui.Environment env;
descriptor: Lcom/sun/tools/example/debug/gui/Environment;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.example.debug.gui.SourceManager$SMClassListener classListener;
descriptor: Lcom/sun/tools/example/debug/gui/SourceManager$SMClassListener;
flags: (0x0002) ACC_PRIVATE
public void <init>(com.sun.tools.example.debug.gui.Environment);
descriptor: (Lcom/sun/tools/example/debug/gui/Environment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new com.sun.tools.example.debug.gui.SearchPath
dup
ldc ""
invokespecial com.sun.tools.example.debug.gui.SearchPath.<init>:(Ljava/lang/String;)V
invokespecial com.sun.tools.example.debug.gui.SourceManager.<init>:(Lcom/sun/tools/example/debug/gui/Environment;Lcom/sun/tools/example/debug/gui/SearchPath;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 2 1 env Lcom/sun/tools/example/debug/gui/Environment;
MethodParameters:
Name Flags
env
public void <init>(com.sun.tools.example.debug.gui.Environment, com.sun.tools.example.debug.gui.SearchPath);
descriptor: (Lcom/sun/tools/example/debug/gui/Environment;Lcom/sun/tools/example/debug/gui/SearchPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.tools.example.debug.gui.SourceManager.sourceListeners:Ljava/util/ArrayList;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.example.debug.gui.SourceManager.classToSource:Ljava/util/Map;
3: aload 0
new com.sun.tools.example.debug.gui.SourceManager$SMClassListener
dup
aload 0
invokespecial com.sun.tools.example.debug.gui.SourceManager$SMClassListener.<init>:(Lcom/sun/tools/example/debug/gui/SourceManager;)V
putfield com.sun.tools.example.debug.gui.SourceManager.classListener:Lcom/sun/tools/example/debug/gui/SourceManager$SMClassListener;
4: aload 0
aload 1
putfield com.sun.tools.example.debug.gui.SourceManager.env:Lcom/sun/tools/example/debug/gui/Environment;
5: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.sun.tools.example.debug.gui.SourceManager.sourceList:Ljava/util/List;
6: aload 0
aload 2
putfield com.sun.tools.example.debug.gui.SourceManager.sourcePath:Lcom/sun/tools/example/debug/gui/SearchPath;
7: aload 1
invokevirtual com.sun.tools.example.debug.gui.Environment.getExecutionManager:()Lcom/sun/tools/example/debug/bdi/ExecutionManager;
aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.classListener:Lcom/sun/tools/example/debug/gui/SourceManager$SMClassListener;
invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.addJDIListener:(Lcom/sun/tools/example/debug/event/JDIListener;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 9 1 env Lcom/sun/tools/example/debug/gui/Environment;
0 9 2 sourcePath Lcom/sun/tools/example/debug/gui/SearchPath;
MethodParameters:
Name Flags
env
sourcePath
public void setSourcePath(com.sun.tools.example.debug.gui.SearchPath);
descriptor: (Lcom/sun/tools/example/debug/gui/SearchPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.example.debug.gui.SourceManager.sourcePath:Lcom/sun/tools/example/debug/gui/SearchPath;
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.sun.tools.example.debug.gui.SourceManager.sourceList:Ljava/util/List;
2: aload 0
invokevirtual com.sun.tools.example.debug.gui.SourceManager.notifySourcepathChanged:()V
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.example.debug.gui.SourceManager.classToSource:Ljava/util/Map;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 5 1 sp Lcom/sun/tools/example/debug/gui/SearchPath;
MethodParameters:
Name Flags
sp
public void addSourceListener(com.sun.tools.example.debug.gui.SourceListener);
descriptor: (Lcom/sun/tools/example/debug/gui/SourceListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourceListeners:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 2 1 l Lcom/sun/tools/example/debug/gui/SourceListener;
MethodParameters:
Name Flags
l
public void removeSourceListener(com.sun.tools.example.debug.gui.SourceListener);
descriptor: (Lcom/sun/tools/example/debug/gui/SourceListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourceListeners:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 2 1 l Lcom/sun/tools/example/debug/gui/SourceListener;
MethodParameters:
Name Flags
l
private void notifySourcepathChanged();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourceListeners:Ljava/util/ArrayList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: new com.sun.tools.example.debug.gui.SourcepathChangedEvent
dup
aload 0
invokespecial com.sun.tools.example.debug.gui.SourcepathChangedEvent.<init>:(Ljava/lang/Object;)V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.util.ArrayList com.sun.tools.example.debug.gui.SourcepathChangedEvent int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.example.debug.gui.SourceListener
aload 2
invokeinterface com.sun.tools.example.debug.gui.SourceListener.sourcepathChanged:(Lcom/sun/tools/example/debug/gui/SourcepathChangedEvent;)V
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 3 7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
1 8 1 l Ljava/util/ArrayList<Lcom/sun/tools/example/debug/gui/SourceListener;>;
2 8 2 evt Lcom/sun/tools/example/debug/gui/SourcepathChangedEvent;
3 7 3 i I
public com.sun.tools.example.debug.gui.SearchPath getSourcePath();
descriptor: ()Lcom/sun/tools/example/debug/gui/SearchPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourcePath:Lcom/sun/tools/example/debug/gui/SearchPath;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
public com.sun.tools.example.debug.gui.SourceModel sourceForLocation(com.sun.jdi.Location);
descriptor: (Lcom/sun/jdi/Location;)Lcom/sun/tools/example/debug/gui/SourceModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface com.sun.jdi.Location.declaringType:()Lcom/sun/jdi/ReferenceType;
invokevirtual com.sun.tools.example.debug.gui.SourceManager.sourceForClass:(Lcom/sun/jdi/ReferenceType;)Lcom/sun/tools/example/debug/gui/SourceModel;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 1 1 loc Lcom/sun/jdi/Location;
MethodParameters:
Name Flags
loc
public com.sun.tools.example.debug.gui.SourceModel sourceForClass(com.sun.jdi.ReferenceType);
descriptor: (Lcom/sun/jdi/ReferenceType;)Lcom/sun/tools/example/debug/gui/SourceModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.classToSource:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.example.debug.gui.SourceModel
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: com.sun.tools.example.debug.gui.SourceModel
StackMap stack:
aload 1
invokeinterface com.sun.jdi.ReferenceType.sourceName:()Ljava/lang/String;
astore 3
start local 3 4: aload 1
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 6: iload 5
iflt 7
aload 4
iconst_0
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 8
StackMap locals: java.lang.String java.lang.String int
StackMap stack:
7: ldc ""
StackMap locals:
StackMap stack: java.lang.String
8: astore 6
start local 6 9: new java.lang.StringBuilder
dup
aload 6
bipush 46
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 10: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourcePath:Lcom/sun/tools/example/debug/gui/SearchPath;
aload 7
invokevirtual com.sun.tools.example.debug.gui.SearchPath.resolve:(Ljava/lang/String;)Ljava/io/File;
astore 8
start local 8 11: aload 8
ifnull 16
12: aload 0
aload 8
invokevirtual com.sun.tools.example.debug.gui.SourceManager.sourceForFile:(Ljava/io/File;)Lcom/sun/tools/example/debug/gui/SourceModel;
astore 2
13: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.classToSource:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 2
15: areturn
16: StackMap locals: java.lang.String java.lang.String java.io.File
StackMap stack:
aconst_null
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 17: StackMap locals: com.sun.tools.example.debug.gui.SourceManager com.sun.jdi.ReferenceType com.sun.tools.example.debug.gui.SourceModel
StackMap stack: com.sun.jdi.AbsentInformationException
pop
18: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 19 1 refType Lcom/sun/jdi/ReferenceType;
1 19 2 sm Lcom/sun/tools/example/debug/gui/SourceModel;
4 17 3 filename Ljava/lang/String;
5 17 4 refName Ljava/lang/String;
6 17 5 iDot I
9 17 6 pkgName Ljava/lang/String;
10 17 7 full Ljava/lang/String;
11 17 8 path Ljava/io/File;
Exception table:
from to target type
3 15 17 Class com.sun.jdi.AbsentInformationException
MethodParameters:
Name Flags
refType
public com.sun.tools.example.debug.gui.SourceModel sourceForFile(java.io.File);
descriptor: (Ljava/io/File;)Lcom/sun/tools/example/debug/gui/SourceModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourceList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: goto 8
3: StackMap locals: java.util.Iterator com.sun.tools.example.debug.gui.SourceModel
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.gui.SourceModel
astore 4
start local 4 4: aload 4
invokevirtual com.sun.tools.example.debug.gui.SourceModel.fileName:()Ljava/io/File;
aload 1
invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 4
astore 3
6: aload 2
invokeinterface java.util.Iterator.remove:()V
7: goto 9
end local 4 8: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 11
aload 1
invokevirtual java.io.File.exists:()Z
ifeq 11
10: new com.sun.tools.example.debug.gui.SourceModel
dup
aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.env:Lcom/sun/tools/example/debug/gui/Environment;
aload 1
invokespecial com.sun.tools.example.debug.gui.SourceModel.<init>:(Lcom/sun/tools/example/debug/gui/Environment;Ljava/io/File;)V
astore 3
11: StackMap locals:
StackMap stack:
aload 3
ifnull 13
12: aload 0
getfield com.sun.tools.example.debug.gui.SourceManager.sourceList:Ljava/util/List;
iconst_0
aload 3
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/example/debug/gui/SourceManager;
0 14 1 path Ljava/io/File;
1 14 2 iter Ljava/util/Iterator<Lcom/sun/tools/example/debug/gui/SourceModel;>;
2 14 3 sm Lcom/sun/tools/example/debug/gui/SourceModel;
4 8 4 candidate Lcom/sun/tools/example/debug/gui/SourceModel;
MethodParameters:
Name Flags
path
}
SourceFile: "SourceManager.java"
NestMembers:
com.sun.tools.example.debug.gui.SourceManager$SMClassListener
InnerClasses:
private SMClassListener = com.sun.tools.example.debug.gui.SourceManager$SMClassListener of com.sun.tools.example.debug.gui.SourceManager