class com.sun.tools.example.debug.tty.SourceMapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.tty.SourceMapper
super_class: java.lang.Object
{
private final java.lang.String[] dirs;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.tools.example.debug.tty.SourceMapper java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: aload 3
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
5: aload 3
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
6: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 0
aload 2
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/SourceMapper;
0 10 1 sourcepath Ljava/util/List<Ljava/lang/String;>;
2 10 2 dirList Ljava/util/List<Ljava/lang/String;>;
4 7 3 element Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
sourcepath
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.util.StringTokenizer
dup
aload 1
2: getstatic java.io.File.pathSeparator:Ljava/lang/String;
3: invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: goto 10
6: StackMap locals: com.sun.tools.example.debug.tty.SourceMapper java.lang.String java.util.StringTokenizer java.util.List
StackMap stack:
aload 2
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 7: aload 4
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 10
8: aload 4
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 10
9: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 10: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 6
11: aload 0
aload 3
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/example/debug/tty/SourceMapper;
0 13 1 sourcepath Ljava/lang/String;
4 13 2 st Ljava/util/StringTokenizer;
5 13 3 dirList Ljava/util/List<Ljava/lang/String;>;
7 10 4 s Ljava/lang/String;
MethodParameters:
Name Flags
sourcepath
java.lang.String getSourcePath();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
arraylength
iconst_1
if_icmpge 3
2: ldc ""
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuffer
dup
aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
iload 1
iinc 1 1
aaload
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: goto 8
5: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 2
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 2
aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
iload 1
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
arraylength
if_icmplt 5
9: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/example/debug/tty/SourceMapper;
1 10 1 i I
4 10 2 sp Ljava/lang/StringBuffer;
java.io.File sourceFile(com.sun.jdi.Location);
descriptor: (Lcom/sun/jdi/Location;)Ljava/io/File;
flags: (0x0000)
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.jdi.Location.sourceName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokeinterface com.sun.jdi.Location.declaringType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
astore 3
start local 3 2: aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 3: iload 4
iflt 4
aload 3
iconst_0
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 5
StackMap locals: java.lang.String java.lang.String int
StackMap stack:
4: ldc ""
StackMap locals:
StackMap stack: java.lang.String
5: astore 5
start local 5 6: new java.lang.StringBuilder
dup
aload 5
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 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 14
9: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
new java.io.File
dup
aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
iload 7
aaload
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 8
start local 8 10: aload 8
invokevirtual java.io.File.exists:()Z
ifeq 13
11: aload 8
12: areturn
end local 8 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
aload 0
getfield com.sun.tools.example.debug.tty.SourceMapper.dirs:[Ljava/lang/String;
arraylength
if_icmplt 9
end local 7 15: aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 16: StackMap locals: com.sun.tools.example.debug.tty.SourceMapper com.sun.jdi.Location
StackMap stack: com.sun.jdi.AbsentInformationException
pop
17: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/example/debug/tty/SourceMapper;
0 18 1 loc Lcom/sun/jdi/Location;
1 16 2 filename Ljava/lang/String;
2 16 3 refName Ljava/lang/String;
3 16 4 iDot I
6 16 5 pkgName Ljava/lang/String;
7 16 6 full Ljava/lang/String;
8 15 7 i I
10 13 8 path Ljava/io/File;
Exception table:
from to target type
0 12 16 Class com.sun.jdi.AbsentInformationException
13 15 16 Class com.sun.jdi.AbsentInformationException
MethodParameters:
Name Flags
loc
java.io.BufferedReader sourceReader(com.sun.jdi.Location);
descriptor: (Lcom/sun/jdi/Location;)Ljava/io/BufferedReader;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.example.debug.tty.SourceMapper.sourceFile:(Lcom/sun/jdi/Location;)Ljava/io/File;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.io.File
StackMap stack:
new java.io.BufferedReader
dup
new java.io.FileReader
dup
aload 2
invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
4: areturn
5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/tty/SourceMapper;
0 7 1 loc Lcom/sun/jdi/Location;
1 7 2 sourceFile Ljava/io/File;
Exception table:
from to target type
3 4 5 Class java.io.IOException
MethodParameters:
Name Flags
loc
}
SourceFile: "SourceMapper.java"