public final class jdk.nashorn.internal.runtime.linker.NameCodec
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.linker.NameCodec
super_class: java.lang.Object
{
private static final char ESCAPE_C;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 92
private static final char NULL_ESCAPE_C;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static final java.lang.String NULL_ESCAPE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "\\="
public static final java.lang.String EMPTY_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.String DANGEROUS_CHARS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "\\/.;:$[]<>"
private static final java.lang.String REPLACEMENT_CHARS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "-|,?!%{}^_"
private static final int DANGEROUS_CHAR_FIRST_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final long[] SPECIAL_BITMAP;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, 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=4, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/linker/NameCodec;
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 jdk.nashorn.internal.runtime.linker.NameCodec.$assertionsDisabled:Z
3: new java.lang.String
dup
iconst_2
newarray 5
dup
iconst_0
bipush 92
castore
dup
iconst_1
bipush 61
castore
invokespecial java.lang.String.<init>:([C)V
putstatic jdk.nashorn.internal.runtime.linker.NameCodec.EMPTY_NAME:Ljava/lang/String;
4: iconst_2
newarray 11
putstatic jdk.nashorn.internal.runtime.linker.NameCodec.SPECIAL_BITMAP:[J
5: ldc "\\/.;:$[]<>-|,?!%{}^_"
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 9
StackMap locals: top int int char[]
StackMap stack:
6: aload 3
iload 1
caload
istore 0
start local 0 7: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.SPECIAL_BITMAP:[J
iload 0
bipush 6
iushr
dup2
laload
lconst_1
iload 0
lshl
lor
lastore
end local 0 8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
iload 2
if_icmplt 6
10: return
LocalVariableTable:
Start End Slot Name Signature
7 8 0 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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/linker/NameCodec;
public static java.lang.String encode(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 jdk.nashorn.internal.runtime.linker.NameCodec.mangle:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.$assertionsDisabled:Z
ifne 2
aload 1
aload 0
if_acmpeq 2
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 jdk.nashorn.internal.runtime.linker.NameCodec.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.decode:(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 name Ljava/lang/String;
1 4 1 bn Ljava/lang/String;
MethodParameters:
Name Flags
name final
public static java.lang.String decode(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
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 4
aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.looksMangled:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.demangle:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.$assertionsDisabled:Z
ifne 4
aload 0
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.mangle:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
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 jdk.nashorn.internal.runtime.linker.NameCodec.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
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
1 5 1 sn Ljava/lang/String;
MethodParameters:
Name Flags
name final
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
bipush 92
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 final
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.length:()I
ifne 2
1: ldc "\\="
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
bipush 92
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
bipush 61
if_icmpeq 13
12: StackMap locals: int int int
StackMap stack:
iload 6
iload 6
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 jdk.nashorn.internal.runtime.linker.NameCodec.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
bipush 92
if_icmpeq 23
iload 2
ifle 23
22: aload 1
ldc "\\="
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
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: aload 1
iload 4
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 final
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
ldc "\\="
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
bipush 92
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 jdk.nashorn.internal.runtime.linker.NameCodec.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 final
private static boolean isSpecial(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
bipush 6
iushr
getstatic jdk.nashorn.internal.runtime.linker.NameCodec.SPECIAL_BITMAP:[J
arraylength
if_icmpge 3
1: getstatic jdk.nashorn.internal.runtime.linker.NameCodec.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 final
private static char replacementOf(char);
descriptor: (C)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 final
private static char originalOfReplacement(char);
descriptor: (C)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 final
private static boolean isDangerous(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic jdk.nashorn.internal.runtime.linker.NameCodec.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 final
}
SourceFile: "NameCodec.java"