public class org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper extends org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper
super_class: org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper
{
public static final java.lang.String SAFECHARS_URLENCODER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "-_.*"
public static final java.lang.String SAFEPATHCHARS_URLENCODER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "-_.!~*'()@:$&,;="
public static final java.lang.String SAFEQUERYSTRINGCHARS_URLENCODER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "-_.!~*'()@:$,;/?:"
private static final char[] URI_ESCAPED_SPACE;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] UPPER_HEX_DIGITS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final boolean plusForSpace;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean[] safeOctets;
descriptor: [Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
newarray 5
dup
iconst_0
bipush 43
castore
putstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.URI_ESCAPED_SPACE:[C
1: ldc "0123456789ABCDEF"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper.<init>:()V
1: aload 1
ldc ".*[0-9A-Za-z].*"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "Alphanumeric characters are always 'safe' and should not be explicitly specified"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper java.lang.String int
StackMap stack:
iload 2
ifeq 9
aload 1
ldc " "
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 9
6: new java.lang.IllegalArgumentException
dup
7: ldc "plusForSpace cannot be specified when space is a 'safe' character"
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
ldc "%"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 11
10: new java.lang.IllegalArgumentException
dup
ldc "The '%' character cannot be specified as 'safe'"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.plusForSpace:Z
12: aload 0
aload 1
invokestatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.createSafeOctets:(Ljava/lang/String;)[Z
putfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/yaml/snakeyaml/external/com/google/gdata/util/common/base/PercentEscaper;
0 14 1 safeChars Ljava/lang/String;
0 14 2 plusForSpace Z
MethodParameters:
Name Flags
safeChars
plusForSpace
private static boolean[] createSafeOctets(java.lang.String);
descriptor: (Ljava/lang/String;)[Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: bipush 122
istore 1
start local 1 1: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 2: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: java.lang.String int char[] top int int char[]
StackMap stack:
3: aload 6
iload 4
caload
istore 3
start local 3 4: iload 3
iload 1
invokestatic java.lang.Math.max:(II)I
istore 1
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: iload 1
iconst_1
iadd
newarray 4
astore 3
start local 3 8: bipush 48
istore 4
start local 4 9: goto 12
10: StackMap locals: java.lang.String int char[] boolean[] int
StackMap stack:
aload 3
iload 4
iconst_1
bastore
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
bipush 57
if_icmple 10
end local 4 13: bipush 65
istore 4
start local 4 14: goto 17
15: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
bastore
16: iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
bipush 90
if_icmple 15
end local 4 18: bipush 97
istore 4
start local 4 19: goto 22
20: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
bastore
21: iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
bipush 122
if_icmple 20
end local 4 23: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 27
StackMap locals: java.lang.String int char[] boolean[] top int int char[]
StackMap stack:
24: aload 7
iload 5
caload
istore 4
start local 4 25: aload 3
iload 4
iconst_1
bastore
end local 4 26: iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
iload 6
if_icmplt 24
28: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 safeChars Ljava/lang/String;
1 29 1 maxChar I
2 29 2 safeCharArray [C
4 5 3 c C
8 29 3 octets [Z
9 13 4 c I
14 18 4 c I
19 23 4 c I
25 26 4 c C
MethodParameters:
Name Flags
safeChars
protected int nextEscapeIndex(java.lang.CharSequence, int, int);
descriptor: (Ljava/lang/CharSequence;II)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 5
1: StackMap locals:
StackMap stack:
aload 1
iload 2
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 4
start local 4 2: iload 4
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
arraylength
if_icmpge 6
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
iload 4
baload
ifne 4
3: goto 6
end local 4 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/yaml/snakeyaml/external/com/google/gdata/util/common/base/PercentEscaper;
0 7 1 csq Ljava/lang/CharSequence;
0 7 2 index I
0 7 3 end I
2 4 4 c C
MethodParameters:
Name Flags
csq
index
end
public java.lang.String escape(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
arraylength
if_icmpge 5
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
iload 4
baload
ifne 6
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.escapeSlow:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 3
end local 3 8: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/yaml/snakeyaml/external/com/google/gdata/util/common/base/PercentEscaper;
0 9 1 s Ljava/lang/String;
1 9 2 slen I
2 8 3 index I
4 6 4 c C
MethodParameters:
Name Flags
s
protected char[] escape(int);
descriptor: (I)[C
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
arraylength
if_icmpge 2
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.safeOctets:[Z
iload 1
baload
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iload 1
bipush 32
if_icmpne 4
aload 0
getfield org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.plusForSpace:Z
ifeq 4
3: getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.URI_ESCAPED_SPACE:[C
areturn
4: StackMap locals:
StackMap stack:
iload 1
bipush 127
if_icmpgt 10
5: iconst_3
newarray 5
astore 2
start local 2 6: aload 2
iconst_0
bipush 37
castore
7: aload 2
iconst_2
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
8: aload 2
iconst_1
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
iconst_4
iushr
caload
castore
9: aload 2
areturn
end local 2 10: StackMap locals:
StackMap stack:
iload 1
sipush 2047
if_icmpgt 22
11: bipush 6
newarray 5
astore 2
start local 2 12: aload 2
iconst_0
bipush 37
castore
13: aload 2
iconst_3
bipush 37
castore
14: aload 2
iconst_5
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
15: iload 1
iconst_4
iushr
istore 1
16: aload 2
iconst_4
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
17: iload 1
iconst_2
iushr
istore 1
18: aload 2
iconst_2
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
19: iload 1
iconst_4
iushr
istore 1
20: aload 2
iconst_1
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 12
iload 1
ior
caload
castore
21: aload 2
areturn
end local 2 22: StackMap locals:
StackMap stack:
iload 1
ldc 65535
if_icmpgt 38
23: bipush 9
newarray 5
astore 2
start local 2 24: aload 2
iconst_0
bipush 37
castore
25: aload 2
iconst_1
bipush 69
castore
26: aload 2
iconst_3
bipush 37
castore
27: aload 2
bipush 6
bipush 37
castore
28: aload 2
bipush 8
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
29: iload 1
iconst_4
iushr
istore 1
30: aload 2
bipush 7
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
31: iload 1
iconst_2
iushr
istore 1
32: aload 2
iconst_5
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
33: iload 1
iconst_4
iushr
istore 1
34: aload 2
iconst_4
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
35: iload 1
iconst_2
iushr
istore 1
36: aload 2
iconst_2
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
caload
castore
37: aload 2
areturn
end local 2 38: StackMap locals:
StackMap stack:
iload 1
ldc 1114111
if_icmpgt 59
39: bipush 12
newarray 5
astore 2
start local 2 40: aload 2
iconst_0
bipush 37
castore
41: aload 2
iconst_1
bipush 70
castore
42: aload 2
iconst_3
bipush 37
castore
43: aload 2
bipush 6
bipush 37
castore
44: aload 2
bipush 9
bipush 37
castore
45: aload 2
bipush 11
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
46: iload 1
iconst_4
iushr
istore 1
47: aload 2
bipush 10
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
48: iload 1
iconst_2
iushr
istore 1
49: aload 2
bipush 8
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
50: iload 1
iconst_4
iushr
istore 1
51: aload 2
bipush 7
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
52: iload 1
iconst_2
iushr
istore 1
53: aload 2
iconst_5
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 15
iand
caload
castore
54: iload 1
iconst_4
iushr
istore 1
55: aload 2
iconst_4
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
bipush 8
iload 1
iconst_3
iand
ior
caload
castore
56: iload 1
iconst_2
iushr
istore 1
57: aload 2
iconst_2
getstatic org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper.UPPER_HEX_DIGITS:[C
iload 1
bipush 7
iand
caload
castore
58: aload 2
areturn
end local 2 59: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid unicode character value "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/yaml/snakeyaml/external/com/google/gdata/util/common/base/PercentEscaper;
0 60 1 cp I
6 10 2 dest [C
12 22 2 dest [C
24 38 2 dest [C
40 59 2 dest [C
MethodParameters:
Name Flags
cp
}
SourceFile: "PercentEscaper.java"