public final class io.vertx.core.net.impl.URIDecoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.vertx.core.net.impl.URIDecoder
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.lang.RuntimeException
dup
ldc "Static Class"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/URIDecoder;
public static java.lang.String decodeURIComponent(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 io.vertx.core.net.impl.URIDecoder.decodeURIComponent:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public static java.lang.String decodeURIComponent(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 11
6: StackMap locals: int int int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 7: iload 5
bipush 37
if_icmpeq 8
iload 1
ifeq 10
iload 5
bipush 43
if_icmpne 10
8: StackMap locals: int
StackMap stack:
iconst_1
istore 3
9: goto 12
end local 5 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 2
if_icmplt 6
12: StackMap locals:
StackMap stack:
iload 3
ifne 14
13: aload 0
areturn
14: StackMap locals:
StackMap stack:
aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 5
start local 5 15: iload 4
istore 6
start local 6 16: goto 47
17: StackMap locals: byte[] int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 18: iload 7
bipush 37
if_icmpne 43
19: iload 4
iload 2
iconst_1
isub
if_icmpne 23
20: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unterminated escape sequence at end of string: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
aload 0
iinc 4 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 7
24: iload 7
bipush 37
if_icmpne 27
25: aload 5
iload 6
iinc 6 1
bipush 37
bastore
26: goto 48
27: StackMap locals:
StackMap stack:
iload 4
iload 2
iconst_1
isub
if_icmplt 31
28: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "partial escape sequence at end of string: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
iload 7
invokestatic io.vertx.core.net.impl.URIDecoder.decodeHexNibble:(C)C
istore 7
32: aload 0
iinc 4 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
invokestatic io.vertx.core.net.impl.URIDecoder.decodeHexNibble:(C)C
istore 8
start local 8 33: iload 7
ldc 65535
if_icmpeq 34
iload 8
ldc 65535
if_icmpne 40
34: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
35: new java.lang.StringBuilder
dup
ldc "invalid escape sequence `%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 4
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
36: aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' at index "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
iconst_2
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc " of: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
iload 7
bipush 16
imul
iload 8
iadd
i2c
istore 7
41: aload 5
iload 6
iinc 6 1
iload 7
i2b
bastore
end local 8 42: goto 46
43: StackMap locals:
StackMap stack:
aload 5
iload 6
iinc 6 1
iload 1
ifeq 44
iload 7
bipush 43
if_icmpne 44
bipush 32
goto 45
StackMap locals: java.lang.String int int int int byte[] int int
StackMap stack: byte[] int
44: iload 7
StackMap locals: java.lang.String int int int int byte[] int int
StackMap stack: byte[] int int
45: i2b
bastore
end local 7 46: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
47: iload 4
iload 2
if_icmplt 17
48: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 5
iconst_0
iload 6
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
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 49 0 s Ljava/lang/String;
0 49 1 plus Z
3 49 2 size I
4 49 3 modified Z
5 49 4 i I
7 10 5 c C
15 49 5 buf [B
16 49 6 pos I
18 46 7 c C
33 42 8 c2 C
MethodParameters:
Name Flags
s
plus
private static char decodeHexNibble(char);
descriptor: (C)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 2
iload 0
bipush 57
if_icmpgt 2
1: iload 0
bipush 48
isub
i2c
ireturn
2: StackMap locals:
StackMap stack:
bipush 97
iload 0
if_icmpgt 4
iload 0
bipush 102
if_icmpgt 4
3: iload 0
bipush 97
isub
bipush 10
iadd
i2c
ireturn
4: StackMap locals:
StackMap stack:
bipush 65
iload 0
if_icmpgt 6
iload 0
bipush 70
if_icmpgt 6
5: iload 0
bipush 65
isub
bipush 10
iadd
i2c
ireturn
6: StackMap locals:
StackMap stack:
ldc 65535
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c C
MethodParameters:
Name Flags
c final
}
SourceFile: "URIDecoder.java"