public class sun.net.www.ParseUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.www.ParseUtil
super_class: java.lang.Object
{
static java.util.BitSet encodedInPath;
descriptor: Ljava/util/BitSet;
flags: (0x0008) ACC_STATIC
private static final char[] hexDigits;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_DIGIT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_DIGIT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long L_HEX;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_HEX;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_UPALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long H_UPALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_LOWALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long H_LOWALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_ALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long H_ALPHA;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_ALPHANUM;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_ALPHANUM;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_MARK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_MARK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_UNRESERVED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_UNRESERVED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_RESERVED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_RESERVED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_ESCAPED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final long H_ESCAPED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final long L_DASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_DASH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_URIC;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_URIC;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_PCHAR;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_PCHAR;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_PATH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_PATH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_USERINFO;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_USERINFO;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_REG_NAME;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_REG_NAME;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long L_SERVER;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long H_SERVER;
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=4, locals=1, args_size=0
0: ldc Lsun/net/www/ParseUtil;
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.net.www.ParseUtil.$assertionsDisabled:Z
3: new java.util.BitSet
dup
sipush 256
invokespecial java.util.BitSet.<init>:(I)V
putstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
4: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 61
invokevirtual java.util.BitSet.set:(I)V
5: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 59
invokevirtual java.util.BitSet.set:(I)V
6: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 63
invokevirtual java.util.BitSet.set:(I)V
7: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 47
invokevirtual java.util.BitSet.set:(I)V
8: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 35
invokevirtual java.util.BitSet.set:(I)V
9: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 32
invokevirtual java.util.BitSet.set:(I)V
10: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 60
invokevirtual java.util.BitSet.set:(I)V
11: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 62
invokevirtual java.util.BitSet.set:(I)V
12: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 37
invokevirtual java.util.BitSet.set:(I)V
13: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 34
invokevirtual java.util.BitSet.set:(I)V
14: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 123
invokevirtual java.util.BitSet.set:(I)V
15: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 125
invokevirtual java.util.BitSet.set:(I)V
16: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 124
invokevirtual java.util.BitSet.set:(I)V
17: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 92
invokevirtual java.util.BitSet.set:(I)V
18: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 94
invokevirtual java.util.BitSet.set:(I)V
19: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 91
invokevirtual java.util.BitSet.set:(I)V
20: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 93
invokevirtual java.util.BitSet.set:(I)V
21: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 96
invokevirtual java.util.BitSet.set:(I)V
22: iconst_0
istore 0
start local 0 23: goto 26
24: StackMap locals: int
StackMap stack:
getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
iload 0
invokevirtual java.util.BitSet.set:(I)V
25: iinc 0 1
StackMap locals:
StackMap stack:
26: iload 0
bipush 32
if_icmplt 24
end local 0 27: getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
bipush 127
invokevirtual java.util.BitSet.set:(I)V
28: bipush 16
newarray 5
dup
iconst_0
29: bipush 48
castore
dup
iconst_1
bipush 49
castore
dup
iconst_2
bipush 50
castore
dup
iconst_3
bipush 51
castore
dup
iconst_4
bipush 52
castore
dup
iconst_5
bipush 53
castore
dup
bipush 6
bipush 54
castore
dup
bipush 7
bipush 55
castore
dup
bipush 8
30: bipush 56
castore
dup
bipush 9
bipush 57
castore
dup
bipush 10
bipush 65
castore
dup
bipush 11
bipush 66
castore
dup
bipush 12
bipush 67
castore
dup
bipush 13
bipush 68
castore
dup
bipush 14
bipush 69
castore
dup
bipush 15
bipush 70
castore
31: putstatic sun.net.www.ParseUtil.hexDigits:[C
32: bipush 48
bipush 57
invokestatic sun.net.www.ParseUtil.lowMask:(CC)J
putstatic sun.net.www.ParseUtil.L_DIGIT:J
33: getstatic sun.net.www.ParseUtil.L_DIGIT:J
putstatic sun.net.www.ParseUtil.L_HEX:J
34: bipush 65
bipush 70
invokestatic sun.net.www.ParseUtil.highMask:(CC)J
bipush 97
bipush 102
invokestatic sun.net.www.ParseUtil.highMask:(CC)J
lor
putstatic sun.net.www.ParseUtil.H_HEX:J
35: bipush 65
bipush 90
invokestatic sun.net.www.ParseUtil.highMask:(CC)J
putstatic sun.net.www.ParseUtil.H_UPALPHA:J
36: bipush 97
bipush 122
invokestatic sun.net.www.ParseUtil.highMask:(CC)J
putstatic sun.net.www.ParseUtil.H_LOWALPHA:J
37: getstatic sun.net.www.ParseUtil.H_LOWALPHA:J
getstatic sun.net.www.ParseUtil.H_UPALPHA:J
lor
putstatic sun.net.www.ParseUtil.H_ALPHA:J
38: getstatic sun.net.www.ParseUtil.L_DIGIT:J
putstatic sun.net.www.ParseUtil.L_ALPHANUM:J
39: getstatic sun.net.www.ParseUtil.H_ALPHA:J
putstatic sun.net.www.ParseUtil.H_ALPHANUM:J
40: ldc "-_.!~*'()"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.L_MARK:J
41: ldc "-_.!~*'()"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.H_MARK:J
42: getstatic sun.net.www.ParseUtil.L_ALPHANUM:J
getstatic sun.net.www.ParseUtil.L_MARK:J
lor
putstatic sun.net.www.ParseUtil.L_UNRESERVED:J
43: getstatic sun.net.www.ParseUtil.H_ALPHANUM:J
getstatic sun.net.www.ParseUtil.H_MARK:J
lor
putstatic sun.net.www.ParseUtil.H_UNRESERVED:J
44: ldc ";/?:@&=+$,[]"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.L_RESERVED:J
45: ldc ";/?:@&=+$,[]"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.H_RESERVED:J
46: ldc "-"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.L_DASH:J
47: ldc "-"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
putstatic sun.net.www.ParseUtil.H_DASH:J
48: getstatic sun.net.www.ParseUtil.L_RESERVED:J
getstatic sun.net.www.ParseUtil.L_UNRESERVED:J
lor
lconst_1
lor
putstatic sun.net.www.ParseUtil.L_URIC:J
49: getstatic sun.net.www.ParseUtil.H_RESERVED:J
getstatic sun.net.www.ParseUtil.H_UNRESERVED:J
lor
putstatic sun.net.www.ParseUtil.H_URIC:J
50: getstatic sun.net.www.ParseUtil.L_UNRESERVED:J
lconst_1
lor
ldc ":@&=+$,"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
lor
51: putstatic sun.net.www.ParseUtil.L_PCHAR:J
52: getstatic sun.net.www.ParseUtil.H_UNRESERVED:J
ldc ":@&=+$,"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
lor
53: putstatic sun.net.www.ParseUtil.H_PCHAR:J
54: getstatic sun.net.www.ParseUtil.L_PCHAR:J
ldc ";/"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
lor
putstatic sun.net.www.ParseUtil.L_PATH:J
55: getstatic sun.net.www.ParseUtil.H_PCHAR:J
ldc ";/"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
lor
putstatic sun.net.www.ParseUtil.H_PATH:J
56: getstatic sun.net.www.ParseUtil.L_UNRESERVED:J
lconst_1
lor
ldc ";:&=+$,"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
lor
57: putstatic sun.net.www.ParseUtil.L_USERINFO:J
58: getstatic sun.net.www.ParseUtil.H_UNRESERVED:J
ldc ";:&=+$,"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
lor
59: putstatic sun.net.www.ParseUtil.H_USERINFO:J
60: getstatic sun.net.www.ParseUtil.L_UNRESERVED:J
lconst_1
lor
ldc "$,;:@&=+"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
lor
61: putstatic sun.net.www.ParseUtil.L_REG_NAME:J
62: getstatic sun.net.www.ParseUtil.H_UNRESERVED:J
ldc "$,;:@&=+"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
lor
63: putstatic sun.net.www.ParseUtil.H_REG_NAME:J
64: getstatic sun.net.www.ParseUtil.L_USERINFO:J
getstatic sun.net.www.ParseUtil.L_ALPHANUM:J
lor
getstatic sun.net.www.ParseUtil.L_DASH:J
lor
ldc ".:@[]"
invokestatic sun.net.www.ParseUtil.lowMask:(Ljava/lang/String;)J
lor
65: putstatic sun.net.www.ParseUtil.L_SERVER:J
66: getstatic sun.net.www.ParseUtil.H_USERINFO:J
getstatic sun.net.www.ParseUtil.H_ALPHANUM:J
lor
getstatic sun.net.www.ParseUtil.H_DASH:J
lor
ldc ".:@[]"
invokestatic sun.net.www.ParseUtil.highMask:(Ljava/lang/String;)J
lor
67: putstatic sun.net.www.ParseUtil.H_SERVER:J
68: return
LocalVariableTable:
Start End Slot Name Signature
23 27 0 i I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/net/www/ParseUtil;
public static java.lang.String encodePath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public static java.lang.String encodePath(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_2
imul
bipush 16
iadd
newarray 5
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 4
start local 4 3: aload 0
invokevirtual java.lang.String.length:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 35
6: StackMap locals: java.lang.String int char[] int char[] int int
StackMap stack:
aload 4
iload 6
caload
istore 7
start local 7 7: iload 1
ifne 8
iload 7
bipush 47
if_icmpeq 9
StackMap locals: int
StackMap stack:
8: iload 1
ifeq 10
iload 7
getstatic java.io.File.separatorChar:C
if_icmpne 10
9: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
bipush 47
castore
goto 27
10: StackMap locals:
StackMap stack:
iload 7
bipush 127
if_icmpgt 20
11: iload 7
bipush 97
if_icmplt 12
iload 7
bipush 122
if_icmple 14
12: StackMap locals:
StackMap stack:
iload 7
bipush 65
if_icmplt 13
iload 7
bipush 90
if_icmple 14
13: StackMap locals:
StackMap stack:
iload 7
bipush 48
if_icmplt 16
iload 7
bipush 57
if_icmpgt 16
14: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 7
castore
15: goto 27
16: StackMap locals:
StackMap stack:
getstatic sun.net.www.ParseUtil.encodedInPath:Ljava/util/BitSet;
iload 7
invokevirtual java.util.BitSet.get:(I)Z
ifeq 18
17: aload 2
iload 7
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
goto 27
18: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 7
castore
19: goto 27
StackMap locals:
StackMap stack:
20: iload 7
sipush 2047
if_icmple 25
21: aload 2
sipush 224
iload 7
bipush 12
ishr
bipush 15
iand
ior
i2c
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
22: aload 2
sipush 128
iload 7
bipush 6
ishr
bipush 63
iand
ior
i2c
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
23: aload 2
sipush 128
iload 7
iconst_0
ishr
bipush 63
iand
ior
i2c
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
24: goto 27
25: StackMap locals:
StackMap stack:
aload 2
sipush 192
iload 7
bipush 6
ishr
bipush 31
iand
ior
i2c
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
26: aload 2
sipush 128
iload 7
iconst_0
ishr
bipush 63
iand
ior
i2c
iload 3
invokestatic sun.net.www.ParseUtil.escape:([CCI)I
istore 3
27: StackMap locals:
StackMap stack:
iload 3
bipush 9
iadd
aload 2
arraylength
if_icmple 34
28: aload 2
arraylength
iconst_2
imul
bipush 16
iadd
istore 8
start local 8 29: iload 8
ifge 31
30: ldc 2147483647
istore 8
31: StackMap locals: int
StackMap stack:
iload 8
newarray 5
astore 9
start local 9 32: aload 2
iconst_0
aload 9
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
33: aload 9
astore 2
end local 9 end local 8 end local 7 34: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
35: iload 6
iload 5
if_icmplt 6
end local 6 36: new java.lang.String
dup
aload 2
iconst_0
iload 3
invokespecial java.lang.String.<init>:([CII)V
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 37 0 path Ljava/lang/String;
0 37 1 flag Z
1 37 2 retCC [C
2 37 3 retLen I
3 37 4 pathCC [C
4 37 5 n I
5 36 6 i I
7 34 7 c C
29 34 8 newLen I
32 34 9 buf [C
MethodParameters:
Name Flags
path
flag
private static int escape(char[], char, int);
descriptor: ([CCI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
iinc 2 1
bipush 37
castore
1: aload 0
iload 2
iinc 2 1
iload 1
iconst_4
ishr
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
castore
2: aload 0
iload 2
iinc 2 1
iload 1
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
castore
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cc [C
0 4 1 c C
0 4 2 index I
MethodParameters:
Name Flags
cc
c
index
private static byte unescape(java.lang.String, int);
descriptor: (Ljava/lang/String;I)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
iadd
iload 1
iconst_3
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
i2b
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
0 1 1 i I
MethodParameters:
Name Flags
s
i
public static java.lang.String decode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
ifeq 2
aload 0
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
ifge 3
2: StackMap locals: int
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
iload 1
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 4: iload 1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 3
start local 3 5: iload 1
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 4
start local 4 6: ldc "UTF-8"
invokestatic sun.nio.cs.ThreadLocalCoders.decoderFor:(Ljava/lang/Object;)Ljava/nio/charset/CharsetDecoder;
7: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
8: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
9: astore 5
start local 5 10: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 41
13: StackMap locals: java.lang.String int java.lang.StringBuilder java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CharsetDecoder int int
StackMap stack:
getstatic sun.net.www.ParseUtil.$assertionsDisabled:Z
ifne 14
iload 6
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
iload 6
bipush 37
if_icmpeq 20
15: aload 2
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: iinc 7 1
iload 7
iload 1
if_icmplt 18
17: goto 42
18: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 6
19: goto 41
20: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
21: StackMap locals:
StackMap stack:
getstatic sun.net.www.ParseUtil.$assertionsDisabled:Z
ifne 22
iload 1
iload 7
isub
iconst_2
if_icmpge 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aload 3
aload 0
iload 7
invokestatic sun.net.www.ParseUtil.unescape:(Ljava/lang/String;I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
23: goto 26
StackMap locals:
StackMap stack: java.lang.NumberFormatException
24: pop
25: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
iinc 7 3
27: iload 7
iload 1
if_icmplt 29
28: goto 31
29: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 6
30: iload 6
bipush 37
if_icmpeq 21
31: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
32: aload 4
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
pop
33: aload 5
invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
34: aload 5
aload 3
aload 4
iconst_1
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 8
start local 8 35: aload 8
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 37
36: new java.lang.IllegalArgumentException
dup
ldc "Error decoding percent encoded characters"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 5
aload 4
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 8
38: aload 8
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 40
39: new java.lang.IllegalArgumentException
dup
ldc "Error decoding percent encoded characters"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 8 41: StackMap locals:
StackMap stack:
iload 7
iload 1
if_icmplt 13
end local 7 42: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 43 0 s Ljava/lang/String;
1 43 1 n I
4 43 2 sb Ljava/lang/StringBuilder;
5 43 3 bb Ljava/nio/ByteBuffer;
6 43 4 cb Ljava/nio/CharBuffer;
10 43 5 dec Ljava/nio/charset/CharsetDecoder;
11 43 6 c C
12 42 7 i I
35 41 8 cr Ljava/nio/charset/CoderResult;
Exception table:
from to target type
22 23 24 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
s
public java.lang.String canonizeString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 1
bipush 47
iload 2
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
dup
istore 3
iflt 6
4: new java.lang.StringBuilder
dup
aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
iconst_3
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_3
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
7: StackMap locals:
StackMap stack:
aload 1
ldc "/../"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 2
ifge 3
8: goto 10
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
iconst_2
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
10: StackMap locals:
StackMap stack:
aload 1
ldc "/./"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 2
ifge 9
11: goto 17
12: StackMap locals:
StackMap stack:
aload 1
ldc "/.."
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
13: aload 1
bipush 47
iload 2
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
dup
istore 3
iflt 16
14: aload 1
iconst_0
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
15: goto 17
16: StackMap locals:
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
17: StackMap locals:
StackMap stack:
aload 1
ldc "/.."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
18: aload 1
ldc "/."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 20
19: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
20: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/net/www/ParseUtil;
0 21 1 file Ljava/lang/String;
1 21 2 i I
2 21 3 lim I
MethodParameters:
Name Flags
file
public static java.net.URL fileToEncodedURL(java.io.File);
descriptor: (Ljava/io/File;)Ljava/net/URL;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;)Ljava/lang/String;
astore 1
2: aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 6
aload 0
invokevirtual java.io.File.isDirectory:()Z
ifeq 6
5: new java.lang.StringBuilder
dup
aload 1
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
6: StackMap locals:
StackMap stack:
new java.net.URL
dup
ldc "file"
ldc ""
aload 1
invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 file Ljava/io/File;
1 7 1 path Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
file
public static java.net.URI toURI(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/net/URI;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual java.net.URL.getAuthority:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
invokevirtual java.net.URL.getQuery:()Ljava/lang/String;
astore 4
start local 4 4: aload 0
invokevirtual java.net.URL.getRef:()Ljava/lang/String;
astore 5
start local 5 5: aload 3
ifnull 7
aload 3
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 7
6: new java.lang.StringBuilder
dup
ldc "/"
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 3
7: StackMap locals: java.net.URL java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 2
ifnull 9
aload 2
ldc ":-1"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 9
8: aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iconst_3
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
9: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
aload 4
aload 5
invokestatic sun.net.www.ParseUtil.createURI:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/URI;
astore 6
start local 6 10: goto 13
end local 6 StackMap locals:
StackMap stack: java.net.URISyntaxException
11: pop
12: aconst_null
astore 6
start local 6 13: StackMap locals: java.net.URI
StackMap stack:
aload 6
areturn
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 14 0 url Ljava/net/URL;
1 14 1 protocol Ljava/lang/String;
2 14 2 auth Ljava/lang/String;
3 14 3 path Ljava/lang/String;
4 14 4 query Ljava/lang/String;
5 14 5 ref Ljava/lang/String;
10 11 6 uri Ljava/net/URI;
13 14 6 uri Ljava/net/URI;
Exception table:
from to target type
9 10 11 Class java.net.URISyntaxException
MethodParameters:
Name Flags
url
private static java.net.URI createURI(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/URI;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aconst_null
1: aload 1
aconst_null
aconst_null
iconst_m1
2: aload 2
aload 3
aload 4
3: invokestatic sun.net.www.ParseUtil.toString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 4: aload 5
aload 0
aload 2
invokestatic sun.net.www.ParseUtil.checkPath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: new java.net.URI
dup
aload 5
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
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 6 0 scheme Ljava/lang/String;
0 6 1 authority Ljava/lang/String;
0 6 2 path Ljava/lang/String;
0 6 3 query Ljava/lang/String;
0 6 4 fragment Ljava/lang/String;
4 6 5 s Ljava/lang/String;
Exceptions:
throws java.net.URISyntaxException
MethodParameters:
Name Flags
scheme
authority
path
query
fragment
private static java.lang.String toString(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 9
start local 9 1: aload 0
ifnull 4
2: aload 9
aload 0
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 9
bipush 58
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 9
aload 1
5: aload 2
aload 3
aload 4
iload 5
6: aload 6
aload 7
7: invokestatic sun.net.www.ParseUtil.appendSchemeSpecificPart:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
8: aload 9
aload 8
invokestatic sun.net.www.ParseUtil.appendFragment:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
9: aload 9
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 9 end local 8 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 10 0 scheme Ljava/lang/String;
0 10 1 opaquePart Ljava/lang/String;
0 10 2 authority Ljava/lang/String;
0 10 3 userInfo Ljava/lang/String;
0 10 4 host Ljava/lang/String;
0 10 5 port I
0 10 6 path Ljava/lang/String;
0 10 7 query Ljava/lang/String;
0 10 8 fragment Ljava/lang/String;
1 10 9 sb Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
scheme
opaquePart
authority
userInfo
host
port
path
query
fragment
private static void appendSchemeSpecificPart(java.lang.StringBuffer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
ifnull 15
1: aload 1
ldc "//["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
2: aload 1
ldc "]"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 8
start local 8 3: iload 8
iconst_m1
if_icmpeq 21
aload 1
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 21
4: iload 8
aload 1
invokevirtual java.lang.String.length:()I
if_icmpne 8
5: aload 1
astore 10
start local 10 6: ldc ""
astore 9
start local 9 7: goto 10
end local 10 end local 9 8: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 9: aload 1
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 10: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 10
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: aload 0
aload 9
getstatic sun.net.www.ParseUtil.L_URIC:J
getstatic sun.net.www.ParseUtil.H_URIC:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 10 end local 9 end local 8 12: goto 21
13: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic sun.net.www.ParseUtil.L_URIC:J
getstatic sun.net.www.ParseUtil.H_URIC:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
14: goto 21
15: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 4
iload 5
invokestatic sun.net.www.ParseUtil.appendAuthority:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
16: aload 6
ifnull 18
17: aload 0
aload 6
getstatic sun.net.www.ParseUtil.L_PATH:J
getstatic sun.net.www.ParseUtil.H_PATH:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
18: StackMap locals:
StackMap stack:
aload 7
ifnull 21
19: aload 0
bipush 63
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
20: aload 0
aload 7
getstatic sun.net.www.ParseUtil.L_URIC:J
getstatic sun.net.www.ParseUtil.H_URIC:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
21: StackMap locals:
StackMap stack:
return
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 22 0 sb Ljava/lang/StringBuffer;
0 22 1 opaquePart Ljava/lang/String;
0 22 2 authority Ljava/lang/String;
0 22 3 userInfo Ljava/lang/String;
0 22 4 host Ljava/lang/String;
0 22 5 port I
0 22 6 path Ljava/lang/String;
0 22 7 query Ljava/lang/String;
3 12 8 end I
7 8 9 doquote Ljava/lang/String;
10 12 9 doquote Ljava/lang/String;
6 8 10 dontquote Ljava/lang/String;
9 12 10 dontquote Ljava/lang/String;
MethodParameters:
Name Flags
sb
opaquePart
authority
userInfo
host
port
path
query
private static void appendAuthority(java.lang.StringBuffer, java.lang.String, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 18
1: aload 0
ldc "//"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 2
ifnull 5
3: aload 0
aload 2
getstatic sun.net.www.ParseUtil.L_USERINFO:J
getstatic sun.net.www.ParseUtil.H_USERINFO:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 0
bipush 64
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: StackMap locals:
StackMap stack:
aload 3
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 9
6: aload 3
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 9
7: aload 3
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 9
8: iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 5
start local 5 11: iload 5
ifeq 12
aload 0
bipush 91
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
12: StackMap locals: int
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
13: iload 5
ifeq 14
aload 0
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpeq 39
15: aload 0
bipush 58
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
16: aload 0
iload 4
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
end local 5 17: goto 39
StackMap locals:
StackMap stack:
18: aload 1
ifnull 39
19: aload 0
ldc "//"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
20: aload 1
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 35
21: aload 1
ldc "]"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 5
start local 5 22: iload 5
iconst_m1
if_icmpeq 39
aload 1
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 39
23: iload 5
aload 1
invokevirtual java.lang.String.length:()I
if_icmpne 27
24: aload 1
astore 7
start local 7 25: ldc ""
astore 6
start local 6 26: goto 29
end local 7 end local 6 27: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 28: aload 1
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 29: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
30: aload 0
aload 6
31: getstatic sun.net.www.ParseUtil.L_REG_NAME:J
getstatic sun.net.www.ParseUtil.L_SERVER:J
lor
32: getstatic sun.net.www.ParseUtil.H_REG_NAME:J
getstatic sun.net.www.ParseUtil.H_SERVER:J
lor
33: invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 7 end local 6 end local 5 34: goto 39
35: StackMap locals:
StackMap stack:
aload 0
aload 1
36: getstatic sun.net.www.ParseUtil.L_REG_NAME:J
getstatic sun.net.www.ParseUtil.L_SERVER:J
lor
37: getstatic sun.net.www.ParseUtil.H_REG_NAME:J
getstatic sun.net.www.ParseUtil.H_SERVER:J
lor
38: invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
39: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 sb Ljava/lang/StringBuffer;
0 40 1 authority Ljava/lang/String;
0 40 2 userInfo Ljava/lang/String;
0 40 3 host Ljava/lang/String;
0 40 4 port I
11 17 5 needBrackets Z
22 34 5 end I
26 27 6 doquote Ljava/lang/String;
29 34 6 doquote Ljava/lang/String;
25 27 7 dontquote Ljava/lang/String;
28 34 7 dontquote Ljava/lang/String;
MethodParameters:
Name Flags
sb
authority
userInfo
host
port
private static void appendFragment(java.lang.StringBuffer, java.lang.String);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
bipush 35
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: aload 0
aload 1
getstatic sun.net.www.ParseUtil.L_URIC:J
getstatic sun.net.www.ParseUtil.H_URIC:J
invokestatic sun.net.www.ParseUtil.quote:(Ljava/lang/String;JJ)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sb Ljava/lang/StringBuffer;
0 4 1 fragment Ljava/lang/String;
MethodParameters:
Name Flags
sb
fragment
private static java.lang.String quote(java.lang.String, long, long);
descriptor: (Ljava/lang/String;JJ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual java.lang.String.length:()I
pop
1: aconst_null
astore 5
start local 5 2: lload 1
lconst_1
land
lconst_0
lcmp
ifeq 3
iconst_1
goto 4
StackMap locals: java.lang.StringBuffer
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 29
7: StackMap locals: int int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 8: iload 8
sipush 128
if_icmpge 18
9: iload 8
lload 1
lload 3
invokestatic sun.net.www.ParseUtil.match:(CJJ)Z
ifne 15
aload 0
iload 7
invokestatic sun.net.www.ParseUtil.isEscaped:(Ljava/lang/String;I)Z
ifne 15
10: aload 5
ifnonnull 13
11: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 5
12: aload 5
aload 0
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
13: StackMap locals: int
StackMap stack:
aload 5
iload 8
i2b
invokestatic sun.net.www.ParseUtil.appendEscape:(Ljava/lang/StringBuffer;B)V
14: goto 28
15: StackMap locals:
StackMap stack:
aload 5
ifnull 28
16: aload 5
iload 8
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
17: goto 28
StackMap locals:
StackMap stack:
18: iload 6
ifeq 26
19: iload 8
invokestatic java.lang.Character.isSpaceChar:(C)Z
ifne 21
20: iload 8
invokestatic java.lang.Character.isISOControl:(C)Z
ifeq 26
21: StackMap locals:
StackMap stack:
aload 5
ifnonnull 24
22: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 5
23: aload 5
aload 0
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
24: StackMap locals:
StackMap stack:
aload 5
iload 8
invokestatic sun.net.www.ParseUtil.appendEncoded:(Ljava/lang/StringBuffer;C)V
25: goto 28
26: StackMap locals:
StackMap stack:
aload 5
ifnull 28
27: aload 5
iload 8
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 8 28: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 7
end local 7 30: aload 5
ifnonnull 31
aload 0
goto 32
StackMap locals:
StackMap stack:
31: aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
32: areturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 s Ljava/lang/String;
0 33 1 lowMask J
0 33 3 highMask J
2 33 5 sb Ljava/lang/StringBuffer;
5 33 6 allowNonASCII Z
6 30 7 i I
8 28 8 c C
MethodParameters:
Name Flags
s
lowMask
highMask
private static boolean isEscaped(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
iload 1
iconst_2
iadd
if_icmpgt 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 37
if_icmpne 6
3: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
getstatic sun.net.www.ParseUtil.L_HEX:J
getstatic sun.net.www.ParseUtil.H_HEX:J
invokestatic sun.net.www.ParseUtil.match:(CJJ)Z
ifeq 6
4: aload 0
iload 1
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
getstatic sun.net.www.ParseUtil.L_HEX:J
getstatic sun.net.www.ParseUtil.H_HEX:J
invokestatic sun.net.www.ParseUtil.match:(CJJ)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/lang/String;
0 7 1 pos I
MethodParameters:
Name Flags
s
pos
private static void appendEncoded(java.lang.StringBuffer, char);
descriptor: (Ljava/lang/StringBuffer;C)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: ldc "UTF-8"
invokestatic sun.nio.cs.ThreadLocalCoders.encoderFor:(Ljava/lang/Object;)Ljava/nio/charset/CharsetEncoder;
2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
3: astore 2
4: goto 11
StackMap locals: java.lang.StringBuffer int java.nio.ByteBuffer
StackMap stack: java.nio.charset.CharacterCodingException
5: pop
6: getstatic sun.net.www.ParseUtil.$assertionsDisabled:Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 3
start local 3 8: iload 3
sipush 128
if_icmplt 10
9: aload 0
iload 3
i2b
invokestatic sun.net.www.ParseUtil.appendEscape:(Ljava/lang/StringBuffer;B)V
goto 11
10: StackMap locals: int
StackMap stack:
aload 0
iload 3
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 7
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 sb Ljava/lang/StringBuffer;
0 13 1 c C
1 13 2 bb Ljava/nio/ByteBuffer;
8 11 3 b I
Exception table:
from to target type
1 4 5 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
sb
c
private static void appendEscape(java.lang.StringBuffer, byte);
descriptor: (Ljava/lang/StringBuffer;B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
bipush 37
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
1: aload 0
getstatic sun.net.www.ParseUtil.hexDigits:[C
iload 1
iconst_4
ishr
bipush 15
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: aload 0
getstatic sun.net.www.ParseUtil.hexDigits:[C
iload 1
iconst_0
ishr
bipush 15
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sb Ljava/lang/StringBuffer;
0 4 1 b B
MethodParameters:
Name Flags
sb
b
private static boolean match(char, long, long);
descriptor: (CJJ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: iload 0
bipush 64
if_icmpge 3
1: lconst_1
iload 0
lshl
lload 1
land
lconst_0
lcmp
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 0
sipush 128
if_icmpge 6
4: lconst_1
iload 0
bipush 64
isub
lshl
lload 3
land
lconst_0
lcmp
ifeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c C
0 7 1 lowMask J
0 7 3 highMask J
MethodParameters:
Name Flags
c
lowMask
highMask
private static void checkPath(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 6
1: aload 2
ifnull 6
2: aload 2
invokevirtual java.lang.String.length:()I
ifle 6
aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpeq 6
3: new java.net.URISyntaxException
dup
aload 0
4: ldc "Relative path in absolute URI"
5: invokespecial java.net.URISyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/lang/String;
0 7 1 scheme Ljava/lang/String;
0 7 2 path Ljava/lang/String;
Exceptions:
throws java.net.URISyntaxException
MethodParameters:
Name Flags
s
scheme
path
private static long lowMask(char, char);
descriptor: (CC)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: iload 0
bipush 63
invokestatic java.lang.Math.min:(II)I
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 4
start local 4 2: iload 1
bipush 63
invokestatic java.lang.Math.min:(II)I
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 5
start local 5 3: iload 4
istore 6
start local 6 4: goto 7
5: StackMap locals: int int long int int int
StackMap stack:
lload 2
lconst_1
iload 6
lshl
lor
lstore 2
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 5
if_icmple 5
end local 6 8: lload 2
lreturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 first C
0 9 1 last C
1 9 2 m J
2 9 4 f I
3 9 5 l I
4 8 6 i I
MethodParameters:
Name Flags
first
last
private static long lowMask(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: lconst_0
lstore 2
start local 2 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: int long int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
bipush 64
if_icmpge 7
6: lload 2
lconst_1
iload 5
lshl
lor
lstore 2
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 1
if_icmplt 4
end local 4 9: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 chars Ljava/lang/String;
1 10 1 n I
2 10 2 m J
3 9 4 i I
5 7 5 c C
MethodParameters:
Name Flags
chars
private static long highMask(char, char);
descriptor: (CC)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: iload 0
bipush 127
invokestatic java.lang.Math.min:(II)I
bipush 64
invokestatic java.lang.Math.max:(II)I
bipush 64
isub
istore 4
start local 4 2: iload 1
bipush 127
invokestatic java.lang.Math.min:(II)I
bipush 64
invokestatic java.lang.Math.max:(II)I
bipush 64
isub
istore 5
start local 5 3: iload 4
istore 6
start local 6 4: goto 7
5: StackMap locals: int int long int int int
StackMap stack:
lload 2
lconst_1
iload 6
lshl
lor
lstore 2
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 5
if_icmple 5
end local 6 8: lload 2
lreturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 first C
0 9 1 last C
1 9 2 m J
2 9 4 f I
3 9 5 l I
4 8 6 i I
MethodParameters:
Name Flags
first
last
private static long highMask(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: lconst_0
lstore 2
start local 2 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: int long int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
bipush 64
if_icmplt 7
iload 5
sipush 128
if_icmpge 7
6: lload 2
lconst_1
iload 5
bipush 64
isub
lshl
lor
lstore 2
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 1
if_icmplt 4
end local 4 9: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 chars Ljava/lang/String;
1 10 1 n I
2 10 2 m J
3 9 4 i I
5 7 5 c C
MethodParameters:
Name Flags
chars
}
SourceFile: "ParseUtil.java"