public class sun.invoke.util.BytecodeName
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.invoke.util.BytecodeName
super_class: java.lang.Object
{
static char ESCAPE_C;
descriptor: C
flags: (0x0008) ACC_STATIC
static char NULL_ESCAPE_C;
descriptor: C
flags: (0x0008) ACC_STATIC
static java.lang.String NULL_ESCAPE;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static final java.lang.String DANGEROUS_CHARS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "\\/.;:$[]<>"
static final java.lang.String REPLACEMENT_CHARS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "-|,?!%{}^_"
static final int DANGEROUS_CHAR_FIRST_INDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static char[] DANGEROUS_CHARS_A;
descriptor: [C
flags: (0x0008) ACC_STATIC
static char[] REPLACEMENT_CHARS_A;
descriptor: [C
flags: (0x0008) ACC_STATIC
static final java.lang.Character[] DANGEROUS_CHARS_CA;
descriptor: [Ljava/lang/Character;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long[] SPECIAL_BITMAP;
descriptor: [J
flags: (0x0018) ACC_STATIC, ACC_FINAL
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=7, locals=5, args_size=0
0: ldc Lsun/invoke/util/BytecodeName;
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 sun.invoke.util.BytecodeName.$assertionsDisabled:Z
3: bipush 92
putstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
4: bipush 61
putstatic sun.invoke.util.BytecodeName.NULL_ESCAPE_C:C
5: new java.lang.StringBuilder
dup
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.invoke.util.BytecodeName.NULL_ESCAPE_C:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic sun.invoke.util.BytecodeName.NULL_ESCAPE:Ljava/lang/String;
6: ldc "\\/.;:$[]<>"
invokevirtual java.lang.String.toCharArray:()[C
putstatic sun.invoke.util.BytecodeName.DANGEROUS_CHARS_A:[C
7: ldc "-|,?!%{}^_"
invokevirtual java.lang.String.toCharArray:()[C
putstatic sun.invoke.util.BytecodeName.REPLACEMENT_CHARS_A:[C
8: ldc "\\/.;:$[]<>"
invokevirtual java.lang.String.length:()I
anewarray java.lang.Character
astore 0
start local 0 9: iconst_0
istore 1
start local 1 10: goto 13
11: StackMap locals: java.lang.Character[] int
StackMap stack:
aload 0
iload 1
ldc "\\/.;:$[]<>"
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
12: iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
aload 0
arraylength
if_icmplt 11
end local 1 14: aload 0
putstatic sun.invoke.util.BytecodeName.DANGEROUS_CHARS_CA:[Ljava/lang/Character;
end local 0 15: iconst_2
newarray 11
putstatic sun.invoke.util.BytecodeName.SPECIAL_BITMAP:[J
16: ldc "\\/.;:$[]<>-|,?!%{}^_"
astore 0
start local 0 17: aload 0
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 21
StackMap locals: java.lang.String top int int char[]
StackMap stack:
18: aload 4
iload 2
caload
istore 1
start local 1 19: getstatic sun.invoke.util.BytecodeName.SPECIAL_BITMAP:[J
iload 1
bipush 6
iushr
dup2
laload
lconst_1
iload 1
lshl
lor
lastore
end local 1 20: iinc 2 1
StackMap locals:
StackMap stack:
21: iload 2
iload 3
if_icmplt 18
end local 0 22: return
LocalVariableTable:
Start End Slot Name Signature
9 15 0 dcca [Ljava/lang/Character;
10 14 1 i I
17 22 0 SPECIAL Ljava/lang/String;
19 20 1 c C
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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 Lsun/invoke/util/BytecodeName;
public static java.lang.String toBytecodeName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.invoke.util.BytecodeName.mangle:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: getstatic sun.invoke.util.BytecodeName.$assertionsDisabled:Z
ifne 2
aload 1
aload 0
if_acmpeq 2
aload 1
invokestatic sun.invoke.util.BytecodeName.looksMangled:(Ljava/lang/String;)Z
ifne 2
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.invoke.util.BytecodeName.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
invokestatic sun.invoke.util.BytecodeName.toSourceName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/lang/String;
1 4 1 bn Ljava/lang/String;
MethodParameters:
Name Flags
s
public static java.lang.String toSourceName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.invoke.util.BytecodeName.checkSafeBytecodeName:(Ljava/lang/String;)V
1: aload 0
astore 1
start local 1 2: aload 0
invokestatic sun.invoke.util.BytecodeName.looksMangled:(Ljava/lang/String;)Z
ifeq 5
3: aload 0
invokestatic sun.invoke.util.BytecodeName.demangle:(Ljava/lang/String;)Ljava/lang/String;
astore 1
4: getstatic sun.invoke.util.BytecodeName.$assertionsDisabled:Z
ifne 5
aload 0
aload 1
invokestatic sun.invoke.util.BytecodeName.mangle:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " => "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic sun.invoke.util.BytecodeName.mangle:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
2 6 1 sn Ljava/lang/String;
MethodParameters:
Name Flags
s
public static java.lang.Object[] parseBytecodeName(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: aconst_null
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 30
4: StackMap locals: int java.lang.Object[] int
StackMap stack:
iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 23
8: StackMap locals: int int int
StackMap stack:
iconst_m1
istore 7
start local 7 9: iload 6
iload 1
if_icmpge 12
10: ldc "\\/.;:$[]<>"
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.String.indexOf:(I)I
istore 7
11: iload 7
iconst_1
if_icmpge 12
goto 22
12: StackMap locals: int
StackMap stack:
iload 5
iload 6
if_icmpge 17
13: iload 3
ifeq 15
14: aload 2
iload 4
aload 0
iload 5
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic sun.invoke.util.BytecodeName.toSourceName:(Ljava/lang/String;)Ljava/lang/String;
aastore
15: StackMap locals:
StackMap stack:
iinc 4 1
16: iload 6
iconst_1
iadd
istore 5
17: StackMap locals:
StackMap stack:
iload 7
iconst_1
if_icmplt 22
18: iload 3
ifeq 20
19: aload 2
iload 4
getstatic sun.invoke.util.BytecodeName.DANGEROUS_CHARS_CA:[Ljava/lang/Character;
iload 7
aaload
aastore
20: StackMap locals:
StackMap stack:
iinc 4 1
21: iload 6
iconst_1
iadd
istore 5
end local 7 22: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
iload 1
if_icmple 8
end local 6 24: iload 3
ifeq 25
goto 31
25: StackMap locals:
StackMap stack:
iload 4
anewarray java.lang.Object
astore 2
26: iload 4
iconst_1
if_icmpgt 29
iload 5
ifne 29
27: iload 4
ifeq 31
aload 2
iconst_0
aload 0
invokestatic sun.invoke.util.BytecodeName.toSourceName:(Ljava/lang/String;)Ljava/lang/String;
aastore
28: goto 31
end local 5 end local 4 29: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
30: iload 3
iconst_1
if_icmple 4
end local 3 31: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 s Ljava/lang/String;
1 32 1 slen I
2 32 2 res [Ljava/lang/Object;
3 31 3 pass I
5 29 4 fillp I
6 29 5 lasti I
7 24 6 i I
9 22 7 whichDC I
MethodParameters:
Name Flags
s
public static java.lang.String unparseBytecodeName(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 13
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 4: aload 3
instanceof java.lang.String
ifeq 12
5: aload 3
checkcast java.lang.String
invokestatic sun.invoke.util.BytecodeName.toBytecodeName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 6: iload 2
ifne 8
aload 0
arraylength
iconst_1
if_icmpne 8
7: aload 4
areturn
8: StackMap locals: java.lang.Object java.lang.String
StackMap stack:
aload 4
aload 3
if_acmpeq 12
9: aload 0
aload 1
if_acmpne 11
10: aload 0
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 0
11: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 4
dup
astore 3
aastore
end local 4 end local 3 12: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 14: aload 0
invokestatic sun.invoke.util.BytecodeName.appendAll:([Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 components [Ljava/lang/Object;
1 15 1 components0 [Ljava/lang/Object;
2 14 2 i I
4 12 3 c Ljava/lang/Object;
6 12 4 mc Ljava/lang/String;
MethodParameters:
Name Flags
components
private static java.lang.String appendAll(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpgt 4
1: aload 0
arraylength
iconst_1
if_icmpne 3
2: aload 0
iconst_0
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
ldc ""
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 11
StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 2
instanceof java.lang.String
ifeq 9
8: iload 1
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
istore 1
goto 10
9: StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[]
StackMap stack:
iinc 1 1
end local 2 10: StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 4
if_icmplt 6
12: new java.lang.StringBuilder
dup
iload 1
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 13: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 17
StackMap locals: java.lang.Object[] int java.lang.StringBuilder top int int java.lang.Object[]
StackMap stack:
14: aload 6
iload 4
aaload
astore 3
start local 3 15: aload 2
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 3 16: iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
iload 5
if_icmplt 14
18: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 components [Ljava/lang/Object;
5 19 1 slen I
7 10 2 c Ljava/lang/Object;
13 19 2 sb Ljava/lang/StringBuilder;
15 16 3 c Ljava/lang/Object;
MethodParameters:
Name Flags
components
public static java.lang.String toDisplayName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic sun.invoke.util.BytecodeName.parseBytecodeName:(Ljava/lang/String;)[Ljava/lang/Object;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
iload 2
aaload
instanceof java.lang.String
ifne 5
4: goto 8
5: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
checkcast java.lang.String
astore 3
start local 3 6: aload 3
invokestatic sun.invoke.util.BytecodeName.isJavaIdent:(Ljava/lang/String;)Z
ifeq 7
aload 3
bipush 36
invokevirtual java.lang.String.indexOf:(I)I
iflt 8
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
iload 2
aload 3
invokestatic sun.invoke.util.BytecodeName.quoteDisplay:(Ljava/lang/String;)Ljava/lang/String;
aastore
end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 10: aload 1
invokestatic sun.invoke.util.BytecodeName.appendAll:([Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 s Ljava/lang/String;
1 11 1 components [Ljava/lang/Object;
2 10 2 i I
6 8 3 sn Ljava/lang/String;
MethodParameters:
Name Flags
s
private static boolean isJavaIdent(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
ifne 2
iconst_0
ireturn
2: StackMap locals: int
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 1
if_icmplt 6
end local 2 10: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 s Ljava/lang/String;
1 11 1 slen I
5 10 2 i I
MethodParameters:
Name Flags
s
private static java.lang.String quoteDisplay(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
ldc "['\\\\]"
ldc "\\\\$0"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static void checkSafeBytecodeName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.invoke.util.BytecodeName.isSafeBytecodeName:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
aload 0
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
s
public static boolean isSafeBytecodeName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.BytecodeName.DANGEROUS_CHARS_A:[C
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: java.lang.String top int int char[]
StackMap stack:
2: aload 4
iload 2
caload
istore 1
start local 1 3: iload 1
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
if_icmpne 4
goto 5
4: StackMap locals: java.lang.String int int int char[]
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.indexOf:(I)I
iflt 5
iconst_0
ireturn
end local 1 5: StackMap locals: java.lang.String top int int char[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s Ljava/lang/String;
3 5 1 xc C
MethodParameters:
Name Flags
s
public static boolean isSafeBytecodeChar(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "\\/.;:$[]<>"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean looksMangled(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: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static java.lang.String mangle(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: getstatic sun.invoke.util.BytecodeName.NULL_ESCAPE:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 5: goto 27
6: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 7: iconst_0
istore 5
start local 5 8: iload 4
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
if_icmpne 15
9: iload 2
iconst_1
iadd
iload 3
if_icmpge 16
10: aload 0
iload 2
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 11: iload 2
ifne 12
iload 6
getstatic sun.invoke.util.BytecodeName.NULL_ESCAPE_C:C
if_icmpeq 13
12: StackMap locals: int int int
StackMap stack:
iload 6
iload 6
invokestatic sun.invoke.util.BytecodeName.originalOfReplacement:(C)C
if_icmpeq 16
13: StackMap locals:
StackMap stack:
iconst_1
istore 5
end local 6 14: goto 16
15: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.invoke.util.BytecodeName.isDangerous:(C)Z
istore 5
16: StackMap locals:
StackMap stack:
iload 5
ifne 19
17: aload 1
ifnull 26
aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: goto 26
19: StackMap locals:
StackMap stack:
aload 1
ifnonnull 24
20: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
bipush 10
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
21: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
if_icmpeq 23
iload 2
ifle 23
22: aload 1
getstatic sun.invoke.util.BytecodeName.NULL_ESCAPE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 1
aload 0
iconst_0
iload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 1
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: aload 1
iload 4
invokestatic sun.invoke.util.BytecodeName.replacementOf:(C)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 end local 4 26: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
27: iload 2
iload 3
if_icmplt 6
end local 3 end local 2 28: aload 1
ifnull 29
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
29: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 s Ljava/lang/String;
3 30 1 sb Ljava/lang/StringBuilder;
4 28 2 i I
5 28 3 slen I
7 26 4 c C
8 26 5 needEscape Z
11 14 6 c1 C
MethodParameters:
Name Flags
s
private static java.lang.String demangle(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getstatic sun.invoke.util.BytecodeName.NULL_ESCAPE:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: iconst_2
istore 2
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
istore 3
start local 3 5: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 6: goto 20
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 8: iload 5
getstatic sun.invoke.util.BytecodeName.ESCAPE_C:C
if_icmpne 17
iload 3
iconst_1
iadd
iload 4
if_icmpge 17
9: aload 0
iload 3
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 10: iload 6
invokestatic sun.invoke.util.BytecodeName.originalOfReplacement:(C)C
istore 7
start local 7 11: iload 7
iload 6
if_icmpeq 17
12: aload 1
ifnonnull 15
13: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
14: aload 1
aload 0
iload 2
iload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
15: StackMap locals: int int int
StackMap stack:
iinc 3 1
16: iload 7
istore 5
end local 7 end local 6 17: StackMap locals:
StackMap stack:
aload 1
ifnull 19
18: aload 1
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 19: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
iload 4
if_icmplt 7
end local 4 end local 3 21: aload 1
ifnull 22
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
22: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 s Ljava/lang/String;
1 23 1 sb Ljava/lang/StringBuilder;
2 23 2 stringStart I
5 21 3 i I
6 21 4 slen I
8 19 5 c C
10 17 6 rc C
11 17 7 oc C
MethodParameters:
Name Flags
s
static boolean isSpecial(char);
descriptor: (C)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
bipush 6
iushr
getstatic sun.invoke.util.BytecodeName.SPECIAL_BITMAP:[J
arraylength
if_icmpge 3
1: getstatic sun.invoke.util.BytecodeName.SPECIAL_BITMAP:[J
iload 0
bipush 6
iushr
laload
iload 0
lshr
lconst_1
land
lconst_0
lcmp
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
MethodParameters:
Name Flags
c
static char replacementOf(char);
descriptor: (C)C
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.BytecodeName.isSpecial:(C)Z
ifne 1
iload 0
ireturn
1: StackMap locals:
StackMap stack:
ldc "\\/.;:$[]<>"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 2: iload 1
ifge 3
iload 0
ireturn
3: StackMap locals: int
StackMap stack:
ldc "-|,?!%{}^_"
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
2 4 1 i I
MethodParameters:
Name Flags
c
static char originalOfReplacement(char);
descriptor: (C)C
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.BytecodeName.isSpecial:(C)Z
ifne 1
iload 0
ireturn
1: StackMap locals:
StackMap stack:
ldc "-|,?!%{}^_"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 2: iload 1
ifge 3
iload 0
ireturn
3: StackMap locals: int
StackMap stack:
ldc "\\/.;:$[]<>"
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
2 4 1 i I
MethodParameters:
Name Flags
c
static boolean isDangerous(char);
descriptor: (C)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.BytecodeName.isSpecial:(C)Z
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
ldc "\\/.;:$[]<>"
iload 0
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
if_icmplt 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 c C
MethodParameters:
Name Flags
c
static int indexOfDangerousChar(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.invoke.util.BytecodeName.isDangerous:(C)Z
ifeq 5
4: iload 2
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 3
end local 3 end local 2 7: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s Ljava/lang/String;
0 8 1 from I
1 7 2 i I
2 7 3 slen I
MethodParameters:
Name Flags
s
from
static int lastIndexOfDangerousChar(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.invoke.util.BytecodeName.isDangerous:(C)Z
ifeq 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
5: iload 2
ifge 2
end local 2 6: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/lang/String;
0 7 1 from I
1 6 2 i I
MethodParameters:
Name Flags
s
from
}
SourceFile: "BytecodeName.java"