public class org.jf.util.ClassFileNameHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jf.util.ClassFileNameHandler
super_class: java.lang.Object
{
private static final int MAX_FILENAME_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int NUMERIC_SUFFIX_RESERVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private final int NO_VALUE;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: -1
private final int CASE_INSENSITIVE;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private final int CASE_SENSITIVE;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private int forcedCaseSensitivity;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.jf.util.ClassFileNameHandler$DirectoryEntry top;
descriptor: Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
flags: (0x0002) ACC_PRIVATE
private java.lang.String fileExtension;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean modifyWindowsReservedFilenames;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static java.util.regex.Pattern reservedFileNameRegex;
descriptor: Ljava/util/regex/Pattern;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/jf/util/ClassFileNameHandler;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jf.util.ClassFileNameHandler.$assertionsDisabled:Z
3: ldc "^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(\\..*)?$"
4: iconst_2
5: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.jf.util.ClassFileNameHandler.reservedFileNameRegex:Ljava/util/regex/Pattern;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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
iconst_m1
putfield org.jf.util.ClassFileNameHandler.NO_VALUE:I
2: aload 0
iconst_0
putfield org.jf.util.ClassFileNameHandler.CASE_INSENSITIVE:I
3: aload 0
iconst_1
putfield org.jf.util.ClassFileNameHandler.CASE_SENSITIVE:I
4: aload 0
iconst_m1
putfield org.jf.util.ClassFileNameHandler.forcedCaseSensitivity:I
5: aload 0
new org.jf.util.ClassFileNameHandler$DirectoryEntry
dup
aload 0
aload 1
invokespecial org.jf.util.ClassFileNameHandler$DirectoryEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Ljava/io/File;)V
putfield org.jf.util.ClassFileNameHandler.top:Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
6: aload 0
aload 2
putfield org.jf.util.ClassFileNameHandler.fileExtension:Ljava/lang/String;
7: aload 0
invokestatic org.jf.util.ClassFileNameHandler.isWindows:()Z
putfield org.jf.util.ClassFileNameHandler.modifyWindowsReservedFilenames:Z
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jf/util/ClassFileNameHandler;
0 9 1 path Ljava/io/File;
0 9 2 fileExtension Ljava/lang/String;
MethodParameters:
Name Flags
path
fileExtension
public void <init>(java.io.File, java.lang.String, boolean, boolean);
descriptor: (Ljava/io/File;Ljava/lang/String;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.jf.util.ClassFileNameHandler.NO_VALUE:I
2: aload 0
iconst_0
putfield org.jf.util.ClassFileNameHandler.CASE_INSENSITIVE:I
3: aload 0
iconst_1
putfield org.jf.util.ClassFileNameHandler.CASE_SENSITIVE:I
4: aload 0
iconst_m1
putfield org.jf.util.ClassFileNameHandler.forcedCaseSensitivity:I
5: aload 0
new org.jf.util.ClassFileNameHandler$DirectoryEntry
dup
aload 0
aload 1
invokespecial org.jf.util.ClassFileNameHandler$DirectoryEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Ljava/io/File;)V
putfield org.jf.util.ClassFileNameHandler.top:Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
6: aload 0
aload 2
putfield org.jf.util.ClassFileNameHandler.fileExtension:Ljava/lang/String;
7: aload 0
iload 3
ifeq 8
iconst_1
goto 9
StackMap locals: org.jf.util.ClassFileNameHandler java.io.File java.lang.String int int
StackMap stack: org.jf.util.ClassFileNameHandler
8: iconst_0
StackMap locals: org.jf.util.ClassFileNameHandler java.io.File java.lang.String int int
StackMap stack: org.jf.util.ClassFileNameHandler int
9: putfield org.jf.util.ClassFileNameHandler.forcedCaseSensitivity:I
10: aload 0
iload 4
putfield org.jf.util.ClassFileNameHandler.modifyWindowsReservedFilenames:Z
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jf/util/ClassFileNameHandler;
0 12 1 path Ljava/io/File;
0 12 2 fileExtension Ljava/lang/String;
0 12 3 caseSensitive Z
0 12 4 modifyWindowsReservedFilenames Z
MethodParameters:
Name Flags
path
fileExtension
caseSensitive
modifyWindowsReservedFilenames
private int getMaxFilenameLength();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 249
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jf/util/ClassFileNameHandler;
public java.io.File getUniqueFilenameForClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 1
aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpeq 2
1: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Not a valid dalvik class name"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 3: iconst_1
istore 3
start local 3 4: goto 8
5: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 7
6: iinc 2 1
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmplt 5
end local 3 9: iload 2
anewarray java.lang.String
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: iconst_1
istore 5
start local 5 12: iconst_1
istore 6
start local 6 13: goto 20
14: StackMap locals: org.jf.util.ClassFileNameHandler java.lang.String int java.lang.String[] int int int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 19
15: iload 6
iload 5
isub
ifne 17
16: new java.lang.RuntimeException
dup
ldc "Not a valid dalvik class name"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
aload 1
iload 5
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
18: iinc 6 1
iload 6
istore 5
19: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmplt 14
end local 6 21: iload 5
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmplt 23
22: new java.lang.RuntimeException
dup
ldc "Not a valid dalvik class name"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 3
iload 4
aload 1
iload 5
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
24: aload 0
aload 0
getfield org.jf.util.ClassFileNameHandler.top:Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
aload 3
iconst_0
invokevirtual org.jf.util.ClassFileNameHandler.addUniqueChild:(Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;[Ljava/lang/String;I)Ljava/io/File;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/jf/util/ClassFileNameHandler;
0 25 1 className Ljava/lang/String;
3 25 2 packageElementCount I
4 9 3 i I
10 25 3 packageElements [Ljava/lang/String;
11 25 4 elementIndex I
12 25 5 elementStart I
13 21 6 i I
MethodParameters:
Name Flags
className
private java.io.File addUniqueChild(org.jf.util.ClassFileNameHandler$DirectoryEntry, java.lang.String[], int);
descriptor: (Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;[Ljava/lang/String;I)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
aload 2
arraylength
iconst_1
isub
if_icmpne 6
1: new org.jf.util.ClassFileNameHandler$FileEntry
dup
aload 0
aload 1
new java.lang.StringBuilder
dup
aload 2
iload 3
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jf.util.ClassFileNameHandler.fileExtension:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.jf.util.ClassFileNameHandler$FileEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;Ljava/lang/String;)V
astore 4
start local 4 2: aload 1
aload 4
invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.addChild:(Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;)Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;
pop
3: aload 4
invokevirtual org.jf.util.ClassFileNameHandler$FileEntry.getPhysicalName:()Ljava/lang/String;
astore 5
start local 5 4: getstatic org.jf.util.ClassFileNameHandler.$assertionsDisabled:Z
ifne 5
aload 5
ifnonnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.jf.util.ClassFileNameHandler$FileEntry java.lang.String
StackMap stack:
new java.io.File
dup
aload 1
getfield org.jf.util.ClassFileNameHandler$DirectoryEntry.file:Ljava/io/File;
aload 5
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 5 end local 4 6: StackMap locals:
StackMap stack:
new org.jf.util.ClassFileNameHandler$DirectoryEntry
dup
aload 0
aload 1
aload 2
iload 3
aaload
invokespecial org.jf.util.ClassFileNameHandler$DirectoryEntry.<init>:(Lorg/jf/util/ClassFileNameHandler;Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;Ljava/lang/String;)V
astore 4
start local 4 7: aload 1
aload 4
invokevirtual org.jf.util.ClassFileNameHandler$DirectoryEntry.addChild:(Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;)Lorg/jf/util/ClassFileNameHandler$FileSystemEntry;
checkcast org.jf.util.ClassFileNameHandler$DirectoryEntry
astore 4
8: aload 0
aload 4
aload 2
iload 3
iconst_1
iadd
invokevirtual org.jf.util.ClassFileNameHandler.addUniqueChild:(Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;[Ljava/lang/String;I)Ljava/io/File;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jf/util/ClassFileNameHandler;
0 9 1 parent Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
0 9 2 packageElements [Ljava/lang/String;
0 9 3 packageElementIndex I
2 6 4 fileEntry Lorg/jf/util/ClassFileNameHandler$FileEntry;
4 6 5 physicalName Ljava/lang/String;
7 9 4 directoryEntry Lorg/jf/util/ClassFileNameHandler$DirectoryEntry;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER, location=[INNER_TYPE]
javax.annotation.Nonnull()
METHOD_FORMAL_PARAMETER, location=[ARRAY_ELEMENT]
javax.annotation.Nonnull()
METHOD_RETURN
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
javax.annotation.Nonnull()
1:
javax.annotation.Nonnull()
2:
MethodParameters:
Name Flags
parent
packageElements
packageElementIndex
private static int utf8Length(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.codePointAt:(I)I
istore 3
start local 3 4: iload 1
iload 3
invokestatic org.jf.util.ClassFileNameHandler.utf8Length:(I)I
iadd
istore 1
5: iload 2
iload 3
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2
end local 3 6: StackMap locals:
StackMap stack:
iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
7: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 str Ljava/lang/String;
1 8 1 utf8Length I
2 8 2 i I
4 6 3 c I
MethodParameters:
Name Flags
str
private static int utf8Length(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 128
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iload 0
sipush 2048
if_icmpge 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
iload 0
ldc 65536
if_icmpge 6
5: iconst_3
ireturn
6: StackMap locals:
StackMap stack:
iconst_4
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 codePoint I
MethodParameters:
Name Flags
codePoint
static java.lang.String shortenPathComponent(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: iinc 1 1
1: aload 0
ldc "UTF-32BE"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
astore 3
start local 3 2: aload 3
invokevirtual java.nio.IntBuffer.limit:()I
newarray 10
astore 2
start local 2 3: aload 3
aload 2
invokevirtual java.nio.IntBuffer.get:([I)Ljava/nio/IntBuffer;
pop
end local 3 4: goto 7
end local 2 StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
5: astore 3
start local 3 6: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 7: StackMap locals: int[]
StackMap stack:
aload 2
arraylength
iconst_2
idiv
istore 3
start local 3 8: iload 3
istore 4
start local 4 9: iload 3
iconst_1
iadd
istore 5
start local 5 10: aload 2
iload 3
iaload
invokestatic org.jf.util.ClassFileNameHandler.utf8Length:(I)I
istore 6
start local 6 11: aload 2
arraylength
iconst_2
irem
ifne 21
iload 6
iload 1
if_icmpge 21
12: iload 6
aload 2
iload 5
iaload
invokestatic org.jf.util.ClassFileNameHandler.utf8Length:(I)I
iadd
istore 6
13: iinc 5 1
14: goto 21
15: StackMap locals: java.lang.String int int[] int int int int
StackMap stack:
iload 4
ifle 18
16: iinc 4 -1
17: iload 6
aload 2
iload 4
iaload
invokestatic org.jf.util.ClassFileNameHandler.utf8Length:(I)I
iadd
istore 6
18: StackMap locals:
StackMap stack:
iload 6
iload 1
if_icmpge 21
iload 5
aload 2
arraylength
if_icmpge 21
19: iload 6
aload 2
iload 5
iaload
invokestatic org.jf.util.ClassFileNameHandler.utf8Length:(I)I
iadd
istore 6
20: iinc 5 1
21: StackMap locals:
StackMap stack:
iload 6
iload 1
if_icmpge 24
22: iload 4
ifgt 15
iload 5
aload 2
arraylength
23: if_icmplt 15
24: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 25: iconst_0
istore 8
start local 8 26: goto 29
27: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 7
aload 2
iload 8
iaload
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
28: iinc 8 1
StackMap locals:
StackMap stack:
29: iload 8
iload 4
if_icmplt 27
end local 8 30: aload 7
bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
31: iload 5
istore 8
start local 8 32: goto 35
33: StackMap locals:
StackMap stack:
aload 7
aload 2
iload 8
iaload
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
34: iinc 8 1
StackMap locals:
StackMap stack:
35: iload 8
aload 2
arraylength
if_icmplt 33
end local 8 36: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 pathComponent Ljava/lang/String;
0 37 1 bytesToRemove I
3 5 2 codePoints [I
7 37 2 codePoints [I
2 4 3 intBuffer Ljava/nio/IntBuffer;
6 7 3 ex Ljava/io/UnsupportedEncodingException;
8 37 3 midPoint I
9 37 4 firstEnd I
10 37 5 secondStart I
11 37 6 bytesRemoved I
25 37 7 sb Ljava/lang/StringBuilder;
26 30 8 i I
32 36 8 i I
Exception table:
from to target type
1 4 5 Class java.io.UnsupportedEncodingException
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nonnull()
METHOD_RETURN
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
javax.annotation.Nonnull()
1:
MethodParameters:
Name Flags
pathComponent
bytesToRemove
private static boolean isWindows();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean isReservedFileName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.jf.util.ClassFileNameHandler.reservedFileNameRegex:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
MethodParameters:
Name Flags
className
private static java.lang.String addSuffixBeforeExtension(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
iadd
iconst_1
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 2: iload 2
ifge 6
3: aload 3
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 3
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: goto 9
6: StackMap locals: int java.lang.StringBuilder
StackMap stack:
aload 3
aload 0
iconst_0
iload 2
invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
7: aload 3
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 3
aload 0
iload 2
aload 0
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 pathElement Ljava/lang/String;
0 10 1 suffix Ljava/lang/String;
1 10 2 extensionStart I
2 10 3 newName Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
pathElement
suffix
}
SourceFile: "ClassFileNameHandler.java"
NestMembers:
org.jf.util.ClassFileNameHandler$DirectoryEntry org.jf.util.ClassFileNameHandler$FileEntry org.jf.util.ClassFileNameHandler$FileSystemEntry
InnerClasses:
private DirectoryEntry = org.jf.util.ClassFileNameHandler$DirectoryEntry of org.jf.util.ClassFileNameHandler
private FileEntry = org.jf.util.ClassFileNameHandler$FileEntry of org.jf.util.ClassFileNameHandler
private abstract FileSystemEntry = org.jf.util.ClassFileNameHandler$FileSystemEntry of org.jf.util.ClassFileNameHandler