public class io.netty.handler.codec.http.QueryStringDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http.QueryStringDecoder
super_class: java.lang.Object
{
private static final int DEFAULT_MAX_PARAMS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String uri;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxParams;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int pathEndIdx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String path;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.util.List<java.lang.String>> params;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/lang/String;
MethodParameters:
Name Flags
uri
public void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
iload 2
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/lang/String;
0 2 2 hasPath Z
MethodParameters:
Name Flags
uri
hasPath
public void <init>(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/lang/String;
0 2 2 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
uri
charset
public void <init>(java.lang.String, java.nio.charset.Charset, boolean);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
sipush 1024
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;ZI)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/lang/String;
0 2 2 charset Ljava/nio/charset/Charset;
0 2 3 hasPath Z
MethodParameters:
Name Flags
uri
charset
hasPath
public void <init>(java.lang.String, java.nio.charset.Charset, boolean, int);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ldc "uri"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
putfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
2: aload 0
aload 2
ldc "charset"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.nio.charset.Charset
putfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
3: aload 0
iload 4
ldc "maxParams"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
putfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
4: aload 0
iload 3
ifeq 5
iconst_m1
goto 6
StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.lang.String java.nio.charset.Charset int int
StackMap stack: io.netty.handler.codec.http.QueryStringDecoder
5: iconst_0
StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.lang.String java.nio.charset.Charset int int
StackMap stack: io.netty.handler.codec.http.QueryStringDecoder int
6: putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 8 1 uri Ljava/lang/String;
0 8 2 charset Ljava/nio/charset/Charset;
0 8 3 hasPath Z
0 8 4 maxParams I
MethodParameters:
Name Flags
uri
charset
hasPath
maxParams
public void <init>(java.net.URI);
descriptor: (Ljava/net/URI;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/net/URI;Ljava/nio/charset/Charset;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
public void <init>(java.net.URI, java.nio.charset.Charset);
descriptor: (Ljava/net/URI;Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
sipush 1024
invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/net/URI;Ljava/nio/charset/Charset;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 2 1 uri Ljava/net/URI;
0 2 2 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
uri
charset
public void <init>(java.net.URI, java.nio.charset.Charset, int);
descriptor: (Ljava/net/URI;Ljava/nio/charset/Charset;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: ldc ""
astore 4
4: StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String
StackMap stack:
aload 1
invokevirtual java.net.URI.getRawQuery:()Ljava/lang/String;
astore 5
start local 5 5: aload 0
aload 5
ifnonnull 6
aload 4
goto 7
StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String java.lang.String
StackMap stack: io.netty.handler.codec.http.QueryStringDecoder
6: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String java.lang.String
StackMap stack: io.netty.handler.codec.http.QueryStringDecoder java.lang.String
7: putfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
8: aload 0
aload 2
ldc "charset"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.nio.charset.Charset
putfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
9: aload 0
iload 3
ldc "maxParams"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
putfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
10: aload 0
aload 4
invokevirtual java.lang.String.length:()I
putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
11: return
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 12 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
0 12 1 uri Ljava/net/URI;
0 12 2 charset Ljava/nio/charset/Charset;
0 12 3 maxParams I
2 12 4 rawPath Ljava/lang/String;
5 12 5 rawQuery Ljava/lang/String;
MethodParameters:
Name Flags
uri
charset
maxParams
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.codec.http.QueryStringDecoder.uri:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
public java.lang.String uri();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
public java.lang.String path();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
iconst_0
aload 0
invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
iconst_1
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
putfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
public java.util.Map<java.lang.String, java.util.List<java.lang.String>> parameters();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
ifnonnull 2
1: aload 0
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
aload 0
invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeParams:(Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map;
putfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
public java.lang.String rawPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
iconst_0
aload 0
invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
public java.lang.String rawQuery();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
iconst_1
iadd
istore 1
start local 1 1: iload 1
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 2
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 3
StackMap locals: int
StackMap stack:
2: ldc ""
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
1 4 1 start I
private int pathEndIdx();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
iconst_m1
if_icmpne 2
1: aload 0
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
invokestatic io.netty.handler.codec.http.QueryStringDecoder.findPathEndIndex:(Ljava/lang/String;)I
putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/QueryStringDecoder;
private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decodeParams(java.lang.String, int, java.nio.charset.Charset, int);
descriptor: (Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 1: iload 1
iload 4
if_icmplt 3
2: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 63
if_icmpne 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 5
start local 5 6: iload 1
istore 6
start local 6 7: iconst_m1
istore 7
start local 7 8: iload 1
istore 8
start local 8 9: goto 25
10: StackMap locals: java.lang.String int java.nio.charset.Charset int int java.util.Map int int int
StackMap stack:
aload 0
iload 8
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 4
35: 23
38: 17
59: 17
61: 11
default: 24
}
11: StackMap locals:
StackMap stack:
iload 6
iload 8
if_icmpne 14
12: iload 8
iconst_1
iadd
istore 6
13: goto 24
StackMap locals:
StackMap stack:
14: iload 7
iload 6
if_icmpge 24
15: iload 8
iconst_1
iadd
istore 7
16: goto 24
17: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 7
iload 8
aload 5
aload 2
invokestatic io.netty.handler.codec.http.QueryStringDecoder.addParam:(Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
ifeq 21
18: iinc 3 -1
19: iload 3
ifne 21
20: aload 5
areturn
21: StackMap locals:
StackMap stack:
iload 8
iconst_1
iadd
istore 6
22: goto 24
23: StackMap locals:
StackMap stack:
goto 26
24: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 4
if_icmplt 10
26: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 7
iload 8
aload 5
aload 2
invokestatic io.netty.handler.codec.http.QueryStringDecoder.addParam:(Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
pop
27: aload 5
areturn
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 28 0 s Ljava/lang/String;
0 28 1 from I
0 28 2 charset Ljava/nio/charset/Charset;
0 28 3 paramsLimit I
1 28 4 len I
6 28 5 params Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
7 28 6 nameStart I
8 28 7 valueStart I
9 28 8 i I
Signature: (Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
s
from
charset
paramsLimit
private static boolean addParam(java.lang.String, int, int, int, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
iload 3
if_icmplt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmpgt 4
3: iload 3
iconst_1
iadd
istore 2
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aload 5
iconst_0
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
astore 6
start local 6 5: aload 0
iload 2
iload 3
aload 5
iconst_0
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
astore 7
start local 7 6: aload 4
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 8
start local 8 7: aload 8
ifnonnull 10
8: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
9: aload 4
aload 6
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals: java.lang.String java.lang.String java.util.List
StackMap stack:
aload 8
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: iconst_1
ireturn
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 12 0 s Ljava/lang/String;
0 12 1 nameStart I
0 12 2 valueStart I
0 12 3 valueEnd I
0 12 4 params Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
0 12 5 charset Ljava/nio/charset/Charset;
5 12 6 name Ljava/lang/String;
6 12 7 value Ljava/lang/String;
7 12 8 values Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/String;IIILjava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Ljava/nio/charset/Charset;)Z
MethodParameters:
Name Flags
s
nameStart
valueStart
valueEnd
params
charset
public static java.lang.String decodeComponent(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
getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s final
public static java.lang.String decodeComponent(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
aload 1
iconst_0
invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s Ljava/lang/String;
0 3 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
s final
charset final
private static java.lang.String decodeComponent(java.lang.String, int, int, java.nio.charset.Charset, boolean);
descriptor: (Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
iload 1
isub
istore 5
start local 5 1: iload 5
ifgt 3
2: ldc ""
areturn
3: StackMap locals: int
StackMap stack:
iconst_m1
istore 6
start local 6 4: iload 1
istore 7
start local 7 5: goto 11
6: StackMap locals: int int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 7: iload 8
bipush 37
if_icmpeq 8
iload 8
bipush 43
if_icmpne 10
iload 4
ifne 10
8: StackMap locals: int
StackMap stack:
iload 7
istore 6
9: goto 12
end local 8 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 2
if_icmplt 6
end local 7 12: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 14
13: aload 0
iload 1
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
14: StackMap locals:
StackMap stack:
aload 3
invokestatic io.netty.util.CharsetUtil.decoder:(Ljava/nio/charset/Charset;)Ljava/nio/charset/CharsetDecoder;
astore 7
start local 7 15: iload 2
iload 6
isub
iconst_3
idiv
istore 8
start local 8 16: iload 8
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 9
start local 9 17: iload 8
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 10
start local 10 18: new java.lang.StringBuilder
dup
iload 5
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 11
start local 11 19: aload 11
aload 0
iload 1
iload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
20: iload 6
istore 12
start local 12 21: goto 49
22: StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int
StackMap stack:
aload 0
iload 12
invokevirtual java.lang.String.charAt:(I)C
istore 13
start local 13 23: iload 13
bipush 37
if_icmpeq 29
24: aload 11
iload 13
bipush 43
if_icmpne 25
iload 4
ifeq 26
StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int int
StackMap stack: java.lang.StringBuilder
25: iload 13
goto 27
StackMap locals:
StackMap stack: java.lang.StringBuilder
26: bipush 32
StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int int
StackMap stack: java.lang.StringBuilder int
27: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
28: goto 48
29: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
30: StackMap locals:
StackMap stack:
iload 12
iconst_3
iadd
iload 2
if_icmple 32
31: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unterminated escape sequence at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 9
aload 0
iload 12
iconst_1
iadd
invokestatic io.netty.util.internal.StringUtil.decodeHexByte:(Ljava/lang/CharSequence;I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
33: iinc 12 3
34: iload 12
iload 2
if_icmpge 35
aload 0
iload 12
invokevirtual java.lang.String.charAt:(I)C
bipush 37
if_icmpeq 30
35: StackMap locals:
StackMap stack:
iinc 12 -1
36: aload 9
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
37: aload 10
invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
pop
38: aload 7
invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
aload 9
aload 10
iconst_1
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 14
start local 14 39: aload 14
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 41
40: aload 14
invokevirtual java.nio.charset.CoderResult.throwException:()V
41: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 7
aload 10
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 14
42: aload 14
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 47
43: aload 14
invokevirtual java.nio.charset.CoderResult.throwException:()V
44: goto 47
StackMap locals:
StackMap stack: java.nio.charset.CharacterCodingException
45: astore 15
start local 15 46: new java.lang.IllegalStateException
dup
aload 15
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 15 47: StackMap locals:
StackMap stack:
aload 11
aload 10
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 14 end local 13 48: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
49: iload 12
iload 2
if_icmplt 22
end local 12 50: aload 11
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 11 end local 10 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 51 0 s Ljava/lang/String;
0 51 1 from I
0 51 2 toExcluded I
0 51 3 charset Ljava/nio/charset/Charset;
0 51 4 isPath Z
1 51 5 len I
4 51 6 firstEscaped I
5 12 7 i I
7 10 8 c C
15 51 7 decoder Ljava/nio/charset/CharsetDecoder;
16 51 8 decodedCapacity I
17 51 9 byteBuf Ljava/nio/ByteBuffer;
18 51 10 charBuf Ljava/nio/CharBuffer;
19 51 11 strBuf Ljava/lang/StringBuilder;
21 50 12 i I
23 48 13 c C
39 48 14 result Ljava/nio/charset/CoderResult;
46 47 15 ex Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
39 44 45 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
s
from
toExcluded
charset
isPath
private static int findPathEndIndex(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 4: iload 3
bipush 63
if_icmpeq 5
iload 3
bipush 35
if_icmpne 6
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 3
end local 2 8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 uri Ljava/lang/String;
1 9 1 len I
2 8 2 i I
4 6 3 c C
MethodParameters:
Name Flags
uri
}
SourceFile: "QueryStringDecoder.java"