public class android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer implements android.net.UrlQuerySanitizer$ValueSanitizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer
super_class: java.lang.Object
{
private int mFlags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public static final int SPACE_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int OTHER_WHITESPACE_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int NON_7_BIT_ASCII_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int DQUOTE_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int SQUOTE_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int LT_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int GT_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final int AMP_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int PCT_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final int NUL_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 512
public static final int SCRIPT_URL_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
public static final int ALL_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2047
public static final int ALL_WHITESPACE_OK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int ALL_ILLEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int ALL_BUT_NUL_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1535
public static final int ALL_BUT_WHITESPACE_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1532
public static final int URL_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 404
public static final int URL_AND_SPACE_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 405
public static final int AMP_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int AMP_AND_SPACE_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 129
public static final int SPACE_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1439
private static final java.lang.String JAVASCRIPT_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javascript:"
private static final java.lang.String VBSCRIPT_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "vbscript:"
private static final int MIN_SCRIPT_PREFIX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "javascript:"
invokevirtual java.lang.String.length:()I
ldc "vbscript:"
invokevirtual java.lang.String.length:()I
1: invokestatic java.lang.Math.min:(II)I
putstatic android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.MIN_SCRIPT_PREFIX_LENGTH:I
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)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
iload 1
putfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
0 3 1 flags I
MethodParameters:
Name Flags
flags
public java.lang.String sanitize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
sipush 1024
iand
ifeq 9
4: iload 2
getstatic android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.MIN_SCRIPT_PREFIX_LENGTH:I
if_icmplt 9
5: aload 1
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 3
start local 3 6: aload 3
ldc "javascript:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
7: aload 3
ldc "vbscript:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
8: StackMap locals: int java.lang.String
StackMap stack:
ldc ""
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
iconst_3
iand
ifne 12
10: aload 0
aload 1
invokevirtual android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.trimWhitespace:(Ljava/lang/String;)Ljava/lang/String;
astore 1
11: aload 1
invokevirtual java.lang.String.length:()I
istore 2
12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: goto 23
15: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 16: aload 0
iload 5
invokevirtual android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.characterIsLegal:(C)Z
ifne 21
17: aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
iconst_1
iand
ifeq 20
18: bipush 32
istore 5
19: goto 21
20: StackMap locals: int
StackMap stack:
bipush 95
istore 5
21: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 22: iinc 4 1
StackMap locals:
StackMap stack:
23: iload 4
iload 2
if_icmplt 15
end local 4 24: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
0 25 1 value Ljava/lang/String;
3 25 2 length I
6 9 3 asLower Ljava/lang/String;
13 25 3 stringBuilder Ljava/lang/StringBuilder;
14 24 4 i I
16 22 5 c C
MethodParameters:
Name Flags
value
private java.lang.String trimWhitespace(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 3
start local 3 2: iload 3
istore 4
start local 4 3: goto 5
4: StackMap locals: int int int
StackMap stack:
iinc 2 1
5: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmpgt 8
aload 0
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokevirtual android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.isWhitespace:(C)Z
ifne 4
6: goto 8
7: StackMap locals:
StackMap stack:
iinc 4 -1
8: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmplt 9
aload 0
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
invokevirtual android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.isWhitespace:(C)Z
ifne 7
9: StackMap locals:
StackMap stack:
iload 2
ifne 11
iload 4
iload 3
if_icmpne 11
10: aload 1
areturn
11: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
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 Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
0 12 1 value Ljava/lang/String;
1 12 2 start I
2 12 3 last I
3 12 4 end I
MethodParameters:
Name Flags
value
private boolean isWhitespace(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
lookupswitch { // 6
9: 1
10: 1
11: 1
12: 1
13: 1
32: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
0 3 1 c C
MethodParameters:
Name Flags
c
private boolean characterIsLegal(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
lookupswitch { // 13
0: 17
9: 3
10: 3
11: 3
12: 3
13: 3
32: 1
34: 5
37: 15
38: 13
39: 7
60: 9
62: 11
default: 19
}
1: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
iconst_1
iand
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
iconst_2
iand
ifeq 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
bipush 8
iand
ifeq 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
bipush 16
iand
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
bipush 32
iand
ifeq 10
iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
bipush 64
iand
ifeq 12
iconst_1
ireturn
StackMap locals:
StackMap stack:
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
sipush 128
iand
ifeq 14
iconst_1
ireturn
StackMap locals:
StackMap stack:
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
sipush 256
iand
ifeq 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
sipush 512
iand
ifeq 18
iconst_1
ireturn
StackMap locals:
StackMap stack:
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
iload 1
bipush 32
if_icmplt 20
iload 1
bipush 127
if_icmplt 22
20: StackMap locals:
StackMap stack:
iload 1
sipush 128
if_icmplt 21
aload 0
getfield android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer.mFlags:I
iconst_4
iand
ifne 22
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
22: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
0 23 1 c C
MethodParameters:
Name Flags
c
}
SourceFile: "UrlQuerySanitizer.java"
NestHost: android.net.UrlQuerySanitizer
InnerClasses:
public IllegalCharacterValueSanitizer = android.net.UrlQuerySanitizer$IllegalCharacterValueSanitizer of android.net.UrlQuerySanitizer
public abstract ValueSanitizer = android.net.UrlQuerySanitizer$ValueSanitizer of android.net.UrlQuerySanitizer