public final class org.apache.tomcat.util.buf.UEncoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.tomcat.util.buf.UEncoder
super_class: java.lang.Object
{
private java.util.BitSet safeChars;
descriptor: Ljava/util/BitSet;
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.buf.C2BConverter c2b;
descriptor: Lorg/apache/tomcat/util/buf/C2BConverter;
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.buf.ByteChunk bb;
descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.buf.CharChunk cb;
descriptor: Lorg/apache/tomcat/util/buf/CharChunk;
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.buf.CharChunk output;
descriptor: Lorg/apache/tomcat/util/buf/CharChunk;
flags: (0x0002) ACC_PRIVATE
public void (org.apache.tomcat.util.buf.UEncoder$SafeCharsSet);
descriptor: (Lorg/apache/tomcat/util/buf/UEncoder$SafeCharsSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.apache.tomcat.util.buf.UEncoder.safeChars:Ljava/util/BitSet;
2: aload 0
aconst_null
putfield org.apache.tomcat.util.buf.UEncoder.c2b:Lorg/apache/tomcat/util/buf/C2BConverter;
3: aload 0
aconst_null
putfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
4: aload 0
aconst_null
putfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
5: aload 0
aconst_null
putfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
6: aload 0
aload 1
invokevirtual org.apache.tomcat.util.buf.UEncoder$SafeCharsSet.getSafeChars:()Ljava/util/BitSet;
putfield org.apache.tomcat.util.buf.UEncoder.safeChars:Ljava/util/BitSet;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/tomcat/util/buf/UEncoder;
0 8 1 safeCharsSet Lorg/apache/tomcat/util/buf/UEncoder$SafeCharsSet;
MethodParameters:
Name Flags
safeCharsSet
public org.apache.tomcat.util.buf.CharChunk encodeURL(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Lorg/apache/tomcat/util/buf/CharChunk;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.c2b:Lorg/apache/tomcat/util/buf/C2BConverter;
ifnonnull 6
1: aload 0
new org.apache.tomcat.util.buf.ByteChunk
dup
bipush 8
invokespecial org.apache.tomcat.util.buf.ByteChunk.<init>:(I)V
putfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
2: aload 0
new org.apache.tomcat.util.buf.CharChunk
dup
iconst_2
invokespecial org.apache.tomcat.util.buf.CharChunk.<init>:(I)V
putfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
3: aload 0
new org.apache.tomcat.util.buf.CharChunk
dup
bipush 64
invokespecial org.apache.tomcat.util.buf.CharChunk.<init>:(I)V
putfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
4: aload 0
new org.apache.tomcat.util.buf.C2BConverter
dup
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial org.apache.tomcat.util.buf.C2BConverter.<init>:(Ljava/nio/charset/Charset;)V
putfield org.apache.tomcat.util.buf.UEncoder.c2b:Lorg/apache/tomcat/util/buf/C2BConverter;
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
7: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
8: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
9: StackMap locals:
StackMap stack:
iload 2
istore 4
start local 4 10: goto 28
11: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 12: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.safeChars:Ljava/util/BitSet;
iload 5
invokevirtual java.util.BitSet.get:(I)Z
ifeq 15
13: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
iload 5
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
14: goto 27
15: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
iload 5
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
16: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.c2b:Lorg/apache/tomcat/util/buf/C2BConverter;
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.C2BConverter.convert:(Lorg/apache/tomcat/util/buf/CharChunk;Lorg/apache/tomcat/util/buf/ByteChunk;)V
17: iload 5
ldc 55296
if_icmplt 24
iload 5
ldc 56319
if_icmpgt 24
18: iload 4
iconst_1
iadd
iload 3
if_icmpge 24
19: aload 1
iload 4
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 20: iload 6
ldc 56320
if_icmplt 24
iload 6
ldc 57343
if_icmpgt 24
21: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
iload 6
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
22: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.c2b:Lorg/apache/tomcat/util/buf/C2BConverter;
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.C2BConverter.convert:(Lorg/apache/tomcat/util/buf/CharChunk;Lorg/apache/tomcat/util/buf/ByteChunk;)V
23: iinc 4 1
end local 6 24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
aload 0
getfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.UEncoder.urlEncode:(Lorg/apache/tomcat/util/buf/CharChunk;Lorg/apache/tomcat/util/buf/ByteChunk;)V
25: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.cb:Lorg/apache/tomcat/util/buf/CharChunk;
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
26: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.bb:Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
end local 5 27: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
iload 3
if_icmplt 11
end local 4 29: aload 0
getfield org.apache.tomcat.util.buf.UEncoder.output:Lorg/apache/tomcat/util/buf/CharChunk;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/tomcat/util/buf/UEncoder;
0 30 1 s Ljava/lang/String;
0 30 2 start I
0 30 3 end I
10 29 4 i I
12 27 5 c C
20 24 6 d C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
start
end
protected void urlEncode(org.apache.tomcat.util.buf.CharChunk, org.apache.tomcat.util.buf.ByteChunk);
descriptor: (Lorg/apache/tomcat/util/buf/CharChunk;Lorg/apache/tomcat/util/buf/ByteChunk;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBuffer:()[B
astore 3
start local 3 1: aload 2
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getStart:()I
istore 4
start local 4 2: goto 9
3: StackMap locals: byte[] int
StackMap stack:
aload 1
bipush 37
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
4: aload 3
iload 4
baload
iconst_4
ishr
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
istore 5
start local 5 5: aload 1
iload 5
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
6: aload 3
iload 4
baload
bipush 15
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
istore 5
7: aload 1
iload 5
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 2
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getEnd:()I
if_icmplt 3
end local 4 10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/tomcat/util/buf/UEncoder;
0 11 1 out Lorg/apache/tomcat/util/buf/CharChunk;
0 11 2 bb Lorg/apache/tomcat/util/buf/ByteChunk;
1 11 3 bytes [B
2 10 4 j I
5 8 5 ch C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
bb
private static java.util.BitSet initialSafeChars();
descriptor: ()Ljava/util/BitSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: new java.util.BitSet
dup
sipush 128
invokespecial java.util.BitSet.<init>:(I)V
astore 0
start local 0 1: bipush 97
istore 1
start local 1 2: goto 5
3: StackMap locals: java.util.BitSet int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.BitSet.set:(I)V
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
bipush 122
if_icmple 3
6: bipush 65
istore 1
goto 9
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.util.BitSet.set:(I)V
8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
bipush 90
if_icmple 7
10: bipush 48
istore 1
goto 13
11: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.util.BitSet.set:(I)V
12: iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
bipush 57
if_icmple 11
14: aload 0
bipush 36
invokevirtual java.util.BitSet.set:(I)V
15: aload 0
bipush 45
invokevirtual java.util.BitSet.set:(I)V
16: aload 0
bipush 95
invokevirtual java.util.BitSet.set:(I)V
17: aload 0
bipush 46
invokevirtual java.util.BitSet.set:(I)V
18: aload 0
bipush 33
invokevirtual java.util.BitSet.set:(I)V
19: aload 0
bipush 42
invokevirtual java.util.BitSet.set:(I)V
20: aload 0
bipush 39
invokevirtual java.util.BitSet.set:(I)V
21: aload 0
bipush 40
invokevirtual java.util.BitSet.set:(I)V
22: aload 0
bipush 41
invokevirtual java.util.BitSet.set:(I)V
23: aload 0
bipush 44
invokevirtual java.util.BitSet.set:(I)V
24: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 25 0 initialSafeChars Ljava/util/BitSet;
2 25 1 i I
}
SourceFile: "UEncoder.java"
NestMembers:
org.apache.tomcat.util.buf.UEncoder$SafeCharsSet
InnerClasses:
public final SafeCharsSet = org.apache.tomcat.util.buf.UEncoder$SafeCharsSet of org.apache.tomcat.util.buf.UEncoder