public class org.glassfish.grizzly.http.util.URLDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.http.util.URLDecoder
super_class: java.lang.Object
{
private static volatile int[] $SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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 Lorg/glassfish/grizzly/http/util/URLDecoder;
public static void decode(org.glassfish.grizzly.http.util.DataChunk);
descriptor: (Lorg/glassfish/grizzly/http/util/DataChunk;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 dataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
dataChunk final
public static void decode(org.glassfish.grizzly.http.util.DataChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 dataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 2 1 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
dataChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.DataChunk, org.glassfish.grizzly.http.util.DataChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 srcDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 2 1 dstDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 2 2 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcDataChunk final
dstDataChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.DataChunk, org.glassfish.grizzly.http.util.DataChunk, boolean, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/util/DataChunk;ZLjava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.glassfish.grizzly.http.util.URLDecoder.$SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type:()[I
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getType:()Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 7
4: 17
5: 15
default: 26
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 4
start local 4 2: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 5
start local 5 3: aload 5
aload 4
if_acmpeq 5
4: aload 5
aload 4
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getLength:()I
iconst_m1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.allocate:(II)V
5: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.ByteChunk
StackMap stack:
aload 4
aload 5
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/ByteChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
6: return
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getBufferChunk:()Lorg/glassfish/grizzly/http/util/BufferChunk;
astore 4
start local 4 8: aload 1
aload 0
if_acmpeq 13
9: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 5
start local 5 10: aload 5
aload 4
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getLength:()I
iconst_m1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.allocate:(II)V
11: aload 4
aload 5
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
end local 5 12: goto 14
13: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk
StackMap stack:
aload 4
aload 4
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
14: StackMap locals:
StackMap stack:
return
end local 4 15: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
iload 2
aload 3
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
16: return
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getCharChunk:()Lorg/glassfish/grizzly/http/util/CharChunk;
astore 4
start local 4 18: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getCharChunk:()Lorg/glassfish/grizzly/http/util/CharChunk;
astore 5
start local 5 19: aload 1
aload 0
if_acmpeq 23
20: aload 5
aload 4
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getLength:()I
invokevirtual org.glassfish.grizzly.http.util.CharChunk.ensureCapacity:(I)V
21: aload 4
aload 5
iload 2
aload 3
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;ZLjava/lang/String;)V
22: goto 24
23: StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk
StackMap stack:
aload 4
aload 4
iload 2
aload 3
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;ZLjava/lang/String;)V
24: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getChars:()[C
aload 5
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
aload 5
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getEnd:()I
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setChars:([CII)V
25: return
end local 5 end local 4 26: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 srcDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 27 1 dstDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 27 2 allowEncodedSlash Z
0 27 3 enc Ljava/lang/String;
2 7 4 srcByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
3 7 5 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
8 15 4 srcBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
10 12 5 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
18 26 4 srcCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
19 26 5 dstCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcDataChunk final
dstDataChunk final
allowEncodedSlash final
enc final
public static void decodeAscii(org.glassfish.grizzly.http.util.DataChunk, org.glassfish.grizzly.http.util.DataChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/util/DataChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.glassfish.grizzly.http.util.URLDecoder.$SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type:()[I
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getType:()Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 7
4: 17
5: 15
default: 26
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 3
start local 3 2: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 4
start local 4 3: aload 4
aload 3
if_acmpeq 5
4: aload 4
aload 3
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getLength:()I
iconst_m1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.allocate:(II)V
5: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.ByteChunk
StackMap stack:
aload 3
aload 4
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/ByteChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
6: return
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getBufferChunk:()Lorg/glassfish/grizzly/http/util/BufferChunk;
astore 3
start local 3 8: aload 1
aload 0
if_acmpeq 13
9: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
astore 4
start local 4 10: aload 4
aload 3
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getLength:()I
iconst_m1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.allocate:(II)V
11: aload 3
aload 4
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
end local 4 12: goto 14
13: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk
StackMap stack:
aload 3
aload 3
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
14: StackMap locals:
StackMap stack:
return
end local 3 15: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Ljava/lang/String;Z)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
16: return
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getCharChunk:()Lorg/glassfish/grizzly/http/util/CharChunk;
astore 3
start local 3 18: aload 1
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getCharChunk:()Lorg/glassfish/grizzly/http/util/CharChunk;
astore 4
start local 4 19: aload 1
aload 0
if_acmpeq 23
20: aload 4
aload 3
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getLength:()I
invokevirtual org.glassfish.grizzly.http.util.CharChunk.ensureCapacity:(I)V
21: aload 3
aload 4
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
22: goto 24
23: StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk
StackMap stack:
aload 3
aload 3
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
24: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getChars:()[C
aload 4
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
aload 4
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getEnd:()I
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setChars:([CII)V
25: return
end local 4 end local 3 26: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 srcDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 27 1 dstDataChunk Lorg/glassfish/grizzly/http/util/DataChunk;
0 27 2 allowEncodedSlash Z
2 7 3 srcByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
3 7 4 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
8 15 3 srcBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
10 12 4 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
18 26 3 srcCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
19 26 4 dstCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcDataChunk final
dstDataChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.ByteChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/ByteChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 byteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
0 2 1 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
byteChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.ByteChunk, org.glassfish.grizzly.http.util.ByteChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getBuffer:()[B
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getStart:()I
istore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getEnd:()I
istore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getBuffer:()[B
astore 6
start local 6 4: aload 1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getStart:()I
istore 7
start local 7 5: iload 4
istore 8
start local 8 6: goto 26
7: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.ByteChunk int byte[] int int byte[] int int
StackMap stack:
aload 3
iload 8
baload
istore 9
start local 9 8: iload 9
bipush 43
if_icmpne 11
9: aload 6
iload 7
bipush 32
bastore
10: goto 25
StackMap locals: int
StackMap stack:
11: iload 9
bipush 37
if_icmpeq 14
12: aload 6
iload 7
iload 9
bastore
13: goto 25
14: StackMap locals:
StackMap stack:
iload 8
iconst_2
iadd
iload 5
if_icmplt 16
15: new java.lang.IllegalStateException
dup
ldc "Unexpected termination"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
iload 8
iconst_1
iadd
baload
istore 10
start local 10 17: aload 3
iload 8
iconst_2
iadd
baload
istore 11
start local 11 18: iload 10
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifeq 19
iload 11
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifne 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iinc 8 2
21: iload 10
iload 11
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(BB)I
istore 12
start local 12 22: iload 2
ifne 24
iload 12
bipush 47
if_icmpne 24
23: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iload 12
i2b
bastore
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.ByteChunk int byte[] int int byte[] int int
StackMap stack:
iinc 8 1
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 8
iload 5
if_icmplt 7
end local 8 27: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.setEnd:(I)V
28: 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 29 0 srcByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
0 29 1 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
0 29 2 allowEncodedSlash Z
1 29 3 srcBuffer [B
2 29 4 srcStart I
3 29 5 srcEnd I
4 29 6 dstBuffer [B
5 29 7 idx I
6 27 8 j I
8 25 9 b B
17 25 10 b1 B
18 25 11 b2 B
22 25 12 res I
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcByteChunk final
dstByteChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.BufferChunk, org.glassfish.grizzly.http.util.ByteChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getBuffer:()Lorg/glassfish/grizzly/Buffer;
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getStart:()I
istore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getEnd:()I
istore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getBuffer:()[B
astore 6
start local 6 4: aload 1
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getStart:()I
istore 7
start local 7 5: iload 4
istore 8
start local 8 6: goto 26
7: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk org.glassfish.grizzly.http.util.ByteChunk int org.glassfish.grizzly.Buffer int int byte[] int int
StackMap stack:
aload 3
iload 8
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 9
start local 9 8: iload 9
bipush 43
if_icmpne 11
9: aload 6
iload 7
bipush 32
bastore
10: goto 25
StackMap locals: int
StackMap stack:
11: iload 9
bipush 37
if_icmpeq 14
12: aload 6
iload 7
iload 9
bastore
13: goto 25
14: StackMap locals:
StackMap stack:
iload 8
iconst_2
iadd
iload 5
if_icmplt 16
15: new java.lang.IllegalStateException
dup
ldc "Unexpected termination"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
iload 8
iconst_1
iadd
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 10
start local 10 17: aload 3
iload 8
iconst_2
iadd
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 11
start local 11 18: iload 10
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifeq 19
iload 11
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifne 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iinc 8 2
21: iload 10
iload 11
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(BB)I
istore 12
start local 12 22: iload 2
ifne 24
iload 12
bipush 47
if_icmpne 24
23: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iload 12
i2b
bastore
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk org.glassfish.grizzly.http.util.ByteChunk int org.glassfish.grizzly.Buffer int int byte[] int int
StackMap stack:
iinc 8 1
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 8
iload 5
if_icmplt 7
end local 8 27: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.setEnd:(I)V
28: 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 29 0 srcBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
0 29 1 dstByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
0 29 2 allowEncodedSlash Z
1 29 3 srcBuffer Lorg/glassfish/grizzly/Buffer;
2 29 4 srcStart I
3 29 5 srcEnd I
4 29 6 dstBuffer [B
5 29 7 idx I
6 27 8 j I
8 25 9 b B
17 25 10 b1 B
18 25 11 b2 B
22 25 12 res I
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcBufferChunk final
dstByteChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.ByteChunk, org.glassfish.grizzly.http.util.BufferChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getBuffer:()[B
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getStart:()I
istore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getEnd:()I
istore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getBuffer:()Lorg/glassfish/grizzly/Buffer;
astore 6
start local 6 4: aload 1
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getStart:()I
istore 7
start local 7 5: iload 4
istore 8
start local 8 6: goto 26
7: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.BufferChunk int byte[] int int org.glassfish.grizzly.Buffer int int
StackMap stack:
aload 3
iload 8
baload
istore 9
start local 9 8: iload 9
bipush 43
if_icmpne 11
9: aload 6
iload 7
bipush 32
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
10: goto 25
StackMap locals: int
StackMap stack:
11: iload 9
bipush 37
if_icmpeq 14
12: aload 6
iload 7
iload 9
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
13: goto 25
14: StackMap locals:
StackMap stack:
iload 8
iconst_2
iadd
iload 5
if_icmplt 16
15: new java.lang.IllegalStateException
dup
ldc "Unexpected termination"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
iload 8
iconst_1
iadd
baload
istore 10
start local 10 17: aload 3
iload 8
iconst_2
iadd
baload
istore 11
start local 11 18: iload 10
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifeq 19
iload 11
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifne 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iinc 8 2
21: iload 10
iload 11
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(BB)I
istore 12
start local 12 22: iload 2
ifne 24
iload 12
bipush 47
if_icmpne 24
23: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iload 12
i2b
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.util.ByteChunk org.glassfish.grizzly.http.util.BufferChunk int byte[] int int org.glassfish.grizzly.Buffer int int
StackMap stack:
iinc 8 1
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 8
iload 5
if_icmplt 7
end local 8 27: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.setEnd:(I)V
28: 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 29 0 srcByteChunk Lorg/glassfish/grizzly/http/util/ByteChunk;
0 29 1 dstBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
0 29 2 allowEncodedSlash Z
1 29 3 srcBuffer [B
2 29 4 srcStart I
3 29 5 srcEnd I
4 29 6 dstBuffer Lorg/glassfish/grizzly/Buffer;
5 29 7 idx I
6 27 8 j I
8 25 9 b B
17 25 10 b1 B
18 25 11 b2 B
22 25 12 res I
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcByteChunk final
dstBufferChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.BufferChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decode:(Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 bufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
0 2 1 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
bufferChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.BufferChunk, org.glassfish.grizzly.http.util.BufferChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/BufferChunk;Lorg/glassfish/grizzly/http/util/BufferChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getBuffer:()Lorg/glassfish/grizzly/Buffer;
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getStart:()I
istore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getEnd:()I
istore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getBuffer:()Lorg/glassfish/grizzly/Buffer;
astore 6
start local 6 4: aload 1
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.getStart:()I
istore 7
start local 7 5: iload 4
istore 8
start local 8 6: goto 26
7: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk org.glassfish.grizzly.http.util.BufferChunk int org.glassfish.grizzly.Buffer int int org.glassfish.grizzly.Buffer int int
StackMap stack:
aload 3
iload 8
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 9
start local 9 8: iload 9
bipush 43
if_icmpne 11
9: aload 6
iload 7
bipush 32
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
10: goto 25
StackMap locals: int
StackMap stack:
11: iload 9
bipush 37
if_icmpeq 14
12: aload 6
iload 7
iload 9
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
13: goto 25
14: StackMap locals:
StackMap stack:
iload 8
iconst_2
iadd
iload 5
if_icmplt 16
15: new java.lang.IllegalStateException
dup
ldc "Unexpected termination"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
iload 8
iconst_1
iadd
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 10
start local 10 17: aload 3
iload 8
iconst_2
iadd
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 11
start local 11 18: iload 10
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifeq 19
iload 11
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(B)Z
ifne 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 11
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iinc 8 2
21: iload 10
iload 11
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(BB)I
istore 12
start local 12 22: iload 2
ifne 24
iload 12
bipush 47
if_icmpne 24
23: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iload 12
i2b
invokeinterface org.glassfish.grizzly.Buffer.put:(IB)Lorg/glassfish/grizzly/Buffer;
pop
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.util.BufferChunk org.glassfish.grizzly.http.util.BufferChunk int org.glassfish.grizzly.Buffer int int org.glassfish.grizzly.Buffer int int
StackMap stack:
iinc 8 1
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 8
iload 5
if_icmplt 7
end local 8 27: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http.util.BufferChunk.setEnd:(I)V
28: 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 29 0 srcBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
0 29 1 dstBufferChunk Lorg/glassfish/grizzly/http/util/BufferChunk;
0 29 2 allowEncodedSlash Z
1 29 3 srcBuffer Lorg/glassfish/grizzly/Buffer;
2 29 4 srcStart I
3 29 5 srcEnd I
4 29 6 dstBuffer Lorg/glassfish/grizzly/Buffer;
5 29 7 idx I
6 27 8 j I
8 25 9 b B
17 25 10 b1 B
18 25 11 b2 B
22 25 12 res I
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcBufferChunk final
dstBufferChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.CharChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 charChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 2 1 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
charChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.CharChunk, org.glassfish.grizzly.http.util.CharChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 srcCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 2 1 dstCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 2 2 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcCharChunk final
dstCharChunk final
allowEncodedSlash final
public static void decode(org.glassfish.grizzly.http.util.CharChunk, org.glassfish.grizzly.http.util.CharChunk, boolean, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;ZLjava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getBuffer:()[C
astore 5
start local 5 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
istore 6
start local 6 3: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getEnd:()I
istore 7
start local 7 4: iload 7
iload 6
isub
istore 8
start local 8 5: aload 1
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getBuffer:()[C
astore 9
start local 9 6: aload 1
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
istore 10
start local 10 7: iload 6
istore 11
start local 11 8: goto 46
9: StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk int java.lang.String byte[] char[] int int int char[] int int
StackMap stack:
aload 5
iload 11
caload
istore 12
start local 12 10: iload 12
bipush 43
if_icmpne 14
11: aload 9
iload 10
iinc 10 1
bipush 32
castore
12: iinc 11 1
13: goto 46
StackMap locals: int
StackMap stack:
14: iload 12
bipush 37
if_icmpeq 18
15: aload 9
iload 10
iinc 10 1
iload 12
castore
16: iinc 11 1
17: goto 46
18: StackMap locals:
StackMap stack:
aload 4
ifnonnull 20
19: iload 8
iload 11
isub
iconst_3
idiv
newarray 8
astore 4
20: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 21: goto 33
22: StackMap locals: int
StackMap stack:
aload 5
iload 11
iconst_1
iadd
caload
istore 14
start local 14 23: aload 5
iload 11
iconst_2
iadd
caload
istore 15
start local 15 24: iload 14
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(I)Z
ifeq 25
iload 15
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(I)Z
ifne 26
25: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 14
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 15
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
iload 14
iload 15
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(II)I
istore 16
start local 16 27: iload 16
ifge 29
28: new java.lang.IllegalArgumentException
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - negative value"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: int
StackMap stack:
aload 4
iload 13
iinc 13 1
iload 16
i2b
bastore
30: iinc 11 3
31: iload 11
iload 8
if_icmpge 33
32: aload 5
iload 11
caload
istore 12
end local 16 end local 15 end local 14 33: StackMap locals:
StackMap stack:
iload 11
iconst_2
iadd
iload 8
if_icmpge 34
iload 12
bipush 37
if_icmpeq 22
34: StackMap locals:
StackMap stack:
iload 11
iload 8
if_icmpge 36
iload 12
bipush 37
if_icmpne 36
35: new java.lang.IllegalArgumentException
dup
ldc "URLDecoder: Incomplete trailing escape (%) pattern"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 4
iconst_0
iload 13
aload 3
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
astore 14
start local 14 37: iload 2
ifne 39
aload 14
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 39
38: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals: java.lang.String
StackMap stack:
aload 14
invokevirtual java.lang.String.length:()I
istore 15
start local 15 40: aload 14
iconst_0
iload 15
aload 9
iload 10
invokevirtual java.lang.String.getChars:(II[CI)V
41: iload 10
iload 15
iadd
istore 10
end local 15 end local 14 end local 13 42: goto 46
StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk int java.lang.String byte[] char[] int int int char[] int int int
StackMap stack: java.lang.NumberFormatException
43: astore 13
start local 13 44: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.NumberFormatException.getMessage:()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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 13 45: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
pop
end local 12 46: StackMap locals:
StackMap stack:
iload 11
iload 7
if_icmplt 9
47: aload 1
iload 10
invokevirtual org.glassfish.grizzly.http.util.CharChunk.setEnd:(I)V
48: return
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 49 0 srcCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 49 1 dstCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 49 2 allowEncodedSlash Z
0 49 3 enc Ljava/lang/String;
1 49 4 bytes [B
2 49 5 srcBuffer [C
3 49 6 srcStart I
4 49 7 srcEnd I
5 49 8 srcLen I
6 49 9 dstBuffer [C
7 49 10 idx I
8 49 11 j I
10 46 12 c C
21 42 13 pos I
23 33 14 c1 C
24 33 15 c2 C
27 33 16 v I
37 42 14 decodedChunk Ljava/lang/String;
40 42 15 chunkLen I
44 45 13 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
18 42 43 Class java.lang.NumberFormatException
18 42 45 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcCharChunk final
dstCharChunk final
allowEncodedSlash final
enc
public static void decodeAscii(org.glassfish.grizzly.http.util.CharChunk, org.glassfish.grizzly.http.util.CharChunk, boolean);
descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getBuffer:()[C
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
istore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getEnd:()I
istore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getBuffer:()[C
astore 6
start local 6 4: aload 1
invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
istore 7
start local 7 5: iload 4
istore 8
start local 8 6: goto 26
7: StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk int char[] int int char[] int int
StackMap stack:
aload 3
iload 8
caload
istore 9
start local 9 8: iload 9
bipush 43
if_icmpne 11
9: aload 6
iload 7
bipush 32
castore
10: goto 25
StackMap locals: int
StackMap stack:
11: iload 9
bipush 37
if_icmpeq 14
12: aload 6
iload 7
iload 9
castore
13: goto 25
14: StackMap locals:
StackMap stack:
iload 8
iconst_2
iadd
iload 5
if_icmplt 16
15: new java.lang.IllegalStateException
dup
ldc "Unexpected termination"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
iload 8
iconst_1
iadd
caload
istore 10
start local 10 17: aload 3
iload 8
iconst_2
iadd
caload
istore 11
start local 11 18: iload 10
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(I)Z
ifeq 19
iload 11
invokestatic org.glassfish.grizzly.http.util.HexUtils.isHexDigit:(I)Z
ifne 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iinc 8 2
21: iload 10
iload 11
invokestatic org.glassfish.grizzly.http.util.URLDecoder.x2c:(II)I
istore 12
start local 12 22: iload 2
ifne 24
iload 12
bipush 47
if_icmpne 24
23: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iload 12
i2c
castore
end local 12 end local 11 end local 10 end local 9 25: StackMap locals: org.glassfish.grizzly.http.util.CharChunk org.glassfish.grizzly.http.util.CharChunk int char[] int int char[] int int
StackMap stack:
iinc 8 1
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 8
iload 5
if_icmplt 7
end local 8 27: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http.util.CharChunk.setEnd:(I)V
28: 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 29 0 srcCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 29 1 dstCharChunk Lorg/glassfish/grizzly/http/util/CharChunk;
0 29 2 allowEncodedSlash Z
1 29 3 srcBuffer [C
2 29 4 srcStart I
3 29 5 srcEnd I
4 29 6 dstBuffer [C
5 29 7 idx I
6 27 8 j I
8 25 9 c C
17 25 10 c1 C
18 25 11 c2 C
22 25 12 res I
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
srcCharChunk final
dstCharChunk final
allowEncodedSlash 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=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
str final
public static java.lang.String decode(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic org.glassfish.grizzly.http.util.URLDecoder.decodeAscii:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
0 1 1 allowEncodedSlash Z
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
str final
allowEncodedSlash final
public static java.lang.String decode(java.lang.String, boolean, java.lang.String);
descriptor: (Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 2: new java.lang.StringBuilder
dup
iload 4
sipush 500
if_icmple 3
iload 4
iconst_2
idiv
goto 4
StackMap locals: java.lang.String int java.lang.String int int
StackMap stack: new 2 new 2
3: iload 4
StackMap locals: java.lang.String int java.lang.String int int
StackMap stack: new 2 new 2 int
4: invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: aconst_null
astore 8
start local 8 7: goto 40
8: StackMap locals: java.lang.String int java.lang.String int int java.lang.StringBuilder int top byte[]
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 9: iload 7
lookupswitch { // 2
37: 14
43: 10
default: 38
}
10: StackMap locals: java.lang.String int java.lang.String int int java.lang.StringBuilder int int byte[]
StackMap stack:
aload 5
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: iinc 6 1
12: iconst_1
istore 3
13: goto 40
14: StackMap locals:
StackMap stack:
aload 8
ifnonnull 16
15: iload 4
iload 6
isub
iconst_3
idiv
newarray 8
astore 8
16: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 17: goto 25
18: StackMap locals: int
StackMap stack:
aload 0
iload 6
iconst_1
iadd
iload 6
iconst_3
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
istore 10
start local 10 19: iload 10
ifge 21
20: new java.lang.IllegalArgumentException
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - negative value"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: int
StackMap stack:
aload 8
iload 9
iinc 9 1
iload 10
i2b
bastore
22: iinc 6 3
23: iload 6
iload 4
if_icmpge 25
24: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
end local 10 25: StackMap locals:
StackMap stack:
iload 6
iconst_2
iadd
iload 4
if_icmpge 26
iload 7
bipush 37
if_icmpeq 18
26: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmpge 28
iload 7
bipush 37
if_icmpne 28
27: new java.lang.IllegalArgumentException
dup
ldc "URLDecoder: Incomplete trailing escape (%) pattern"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 8
iconst_0
iload 9
aload 2
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
astore 10
start local 10 29: iload 1
ifne 31
aload 10
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 31
30: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals: java.lang.String
StackMap stack:
aload 5
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 32: goto 36
StackMap locals: java.lang.String int java.lang.String int int java.lang.StringBuilder int int byte[]
StackMap stack: java.lang.NumberFormatException
33: astore 9
start local 9 34: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URLDecoder: Illegal hex characters in escape (%) pattern - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.NumberFormatException.getMessage:()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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 9 35: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
pop
36: StackMap locals:
StackMap stack:
iconst_1
istore 3
37: goto 40
38: StackMap locals:
StackMap stack:
aload 5
iload 7
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
39: iinc 6 1
end local 7 40: StackMap locals: java.lang.String int java.lang.String int int java.lang.StringBuilder int top byte[]
StackMap stack:
iload 6
iload 4
if_icmplt 8
41: iload 3
ifeq 42
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 43
StackMap locals:
StackMap stack:
42: aload 0
StackMap locals:
StackMap stack: java.lang.String
43: areturn
end local 8 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 44 0 s Ljava/lang/String;
0 44 1 allowEncodedSlash Z
0 44 2 enc Ljava/lang/String;
1 44 3 needToChange Z
2 44 4 numChars I
5 44 5 sb Ljava/lang/StringBuilder;
6 44 6 i I
9 40 7 c C
7 44 8 bytes [B
17 32 9 pos I
19 25 10 v I
29 32 10 decodedChunk Ljava/lang/String;
34 35 9 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
14 32 33 Class java.lang.NumberFormatException
14 32 35 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
s
allowEncodedSlash final
enc
public static java.lang.String decodeAscii(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 5: aconst_null
astore 5
start local 5 6: goto 32
7: StackMap locals: java.lang.String int int int int java.lang.StringBuilder
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 8: iload 6
bipush 43
if_icmpne 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 7
start local 7 11: iload 7
ifne 12
iload 6
bipush 37
if_icmpne 13
StackMap locals: int
StackMap stack:
12: iconst_0
goto 14
StackMap locals:
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: istore 8
start local 8 15: iload 8
ifeq 18
16: iinc 3 1
17: goto 32
18: StackMap locals: int
StackMap stack:
aload 5
ifnonnull 20
19: new java.lang.StringBuilder
dup
iload 4
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
20: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 22
21: aload 5
aload 0
iload 2
iload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
22: StackMap locals:
StackMap stack:
iload 7
ifeq 26
23: aload 5
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: iinc 3 1
25: goto 31
26: StackMap locals:
StackMap stack:
aload 0
iload 3
iconst_1
iadd
iload 3
iconst_3
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
i2c
istore 9
start local 9 27: iload 1
ifne 29
iload 9
bipush 47
if_icmpne 29
28: new java.io.CharConversionException
dup
ldc "Encoded slashes are not allowed"
invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: int
StackMap stack:
aload 5
iload 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: iinc 3 3
end local 9 31: StackMap locals:
StackMap stack:
iload 3
istore 2
end local 8 end local 7 end local 6 32: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 7
33: aload 5
ifnull 37
34: iload 2
iload 3
if_icmpge 36
35: aload 5
aload 0
iload 2
iload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
36: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
37: StackMap locals:
StackMap stack:
aload 0
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 38 0 str Ljava/lang/String;
0 38 1 allowEncodedSlash Z
3 38 2 mPos I
4 38 3 strPos I
5 38 4 strLen I
6 38 5 dec Ljava/lang/StringBuilder;
8 32 6 metaChar C
11 32 7 isPlus Z
15 32 8 isNorm Z
27 31 9 res C
Exceptions:
throws java.io.CharConversionException
MethodParameters:
Name Flags
str final
allowEncodedSlash final
private static int x2c(byte, byte);
descriptor: (BB)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
invokestatic org.glassfish.grizzly.http.util.HexUtils.hexDigit2Dec:(B)I
iconst_4
ishl
iload 1
invokestatic org.glassfish.grizzly.http.util.HexUtils.hexDigit2Dec:(B)I
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 b1 B
0 1 1 b2 B
MethodParameters:
Name Flags
b1
b2
private static int x2c(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
invokestatic org.glassfish.grizzly.http.util.HexUtils.hexDigit2Dec:(I)I
iconst_4
ishl
iload 1
invokestatic org.glassfish.grizzly.http.util.HexUtils.hexDigit2Dec:(I)I
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c1 I
0 1 1 c2 I
MethodParameters:
Name Flags
c1
c2
static int[] $SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.glassfish.grizzly.http.util.URLDecoder.$SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.glassfish.grizzly.http.util.DataChunk$Type.values:()[Lorg/glassfish/grizzly/http/util/DataChunk$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.glassfish.grizzly.http.util.DataChunk$Type.Buffer:Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.glassfish.grizzly.http.util.DataChunk$Type.Bytes:Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.glassfish.grizzly.http.util.DataChunk$Type.Chars:Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.glassfish.grizzly.http.util.DataChunk$Type.None:Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.glassfish.grizzly.http.util.DataChunk$Type.String:Lorg/glassfish/grizzly/http/util/DataChunk$Type;
invokevirtual org.glassfish.grizzly.http.util.DataChunk$Type.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.glassfish.grizzly.http.util.URLDecoder.$SWITCH_TABLE$org$glassfish$grizzly$http$util$DataChunk$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "URLDecoder.java"
InnerClasses:
public final Type = org.glassfish.grizzly.http.util.DataChunk$Type of org.glassfish.grizzly.http.util.DataChunk