public class org.jf.smali.LiteralTools
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jf.smali.LiteralTools
super_class: java.lang.Object
{
private static java.util.regex.Pattern specialFloatRegex;
descriptor: Ljava/util/regex/Pattern;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.regex.Pattern specialDoubleRegex;
descriptor: Ljava/util/regex/Pattern;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "((-)?infinityf)|(nanf)"
iconst_2
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.jf.smali.LiteralTools.specialFloatRegex:Ljava/util/regex/Pattern;
1: ldc "((-)?infinityd?)|(nand?)"
iconst_2
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.jf.smali.LiteralTools.specialDoubleRegex:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
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/jf/smali/LiteralTools;
public static byte parseByte(java.lang.String);
descriptor: (Ljava/lang/String;)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NumberFormatException
dup
ldc "string is null"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: new java.lang.NumberFormatException
dup
ldc "string is blank"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
ldc "T"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 7
5: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 6: goto 8
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 8: StackMap locals: char[]
StackMap stack:
iconst_0
istore 2
start local 2 9: bipush 10
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: aload 1
iload 2
caload
bipush 45
if_icmpne 14
12: iinc 2 1
13: iconst_1
istore 4
14: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
caload
bipush 48
if_icmpne 24
15: iinc 2 1
16: iload 2
aload 1
arraylength
if_icmpne 18
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 120
if_icmpeq 19
aload 1
iload 2
caload
bipush 88
if_icmpne 22
19: StackMap locals:
StackMap stack:
bipush 16
istore 3
20: iinc 2 1
21: goto 24
StackMap locals:
StackMap stack:
22: aload 1
iload 2
caload
bipush 8
invokestatic java.lang.Character.digit:(CI)I
iflt 24
23: bipush 8
istore 3
24: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 25: bipush 127
iload 3
iconst_2
idiv
idiv
i2b
istore 8
start local 8 26: goto 37
27: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
aload 1
iload 2
caload
iload 3
invokestatic java.lang.Character.digit:(CI)I
istore 7
start local 7 28: iload 7
ifge 30
29: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "The string contains invalid an digit - '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: java.lang.String char[] int int int int top int int
StackMap stack:
iload 5
iload 3
imul
i2b
istore 6
start local 6 31: iload 5
iload 8
if_icmple 33
32: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: java.lang.String char[] int int int int int int int
StackMap stack:
iload 6
ifge 35
iload 6
iload 7
ineg
if_icmplt 35
34: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
i2b
istore 5
36: iinc 2 1
end local 7 end local 6 37: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 27
38: iload 4
ifeq 44
39: iload 5
bipush -128
if_icmpne 41
40: iload 5
ireturn
41: StackMap locals:
StackMap stack:
iload 5
ifge 43
42: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
iload 5
iconst_m1
imul
i2b
ireturn
44: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 8 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 45 0 byteLiteral Ljava/lang/String;
6 7 1 byteChars [C
8 45 1 byteChars [C
9 45 2 position I
10 45 3 radix I
11 45 4 negative Z
25 45 5 result B
31 37 6 shiftedResult B
28 37 7 digit I
26 45 8 maxValue B
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
byteLiteral
public static short parseShort(java.lang.String);
descriptor: (Ljava/lang/String;)S
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NumberFormatException
dup
ldc "string is null"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: new java.lang.NumberFormatException
dup
ldc "string is blank"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
ldc "S"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 7
5: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 6: goto 8
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 8: StackMap locals: char[]
StackMap stack:
iconst_0
istore 2
start local 2 9: bipush 10
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: aload 1
iload 2
caload
bipush 45
if_icmpne 14
12: iinc 2 1
13: iconst_1
istore 4
14: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
caload
bipush 48
if_icmpne 24
15: iinc 2 1
16: iload 2
aload 1
arraylength
if_icmpne 18
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 120
if_icmpeq 19
aload 1
iload 2
caload
bipush 88
if_icmpne 22
19: StackMap locals:
StackMap stack:
bipush 16
istore 3
20: iinc 2 1
21: goto 24
StackMap locals:
StackMap stack:
22: aload 1
iload 2
caload
bipush 8
invokestatic java.lang.Character.digit:(CI)I
iflt 24
23: bipush 8
istore 3
24: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 25: sipush 32767
iload 3
iconst_2
idiv
idiv
i2s
istore 8
start local 8 26: goto 37
27: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
aload 1
iload 2
caload
iload 3
invokestatic java.lang.Character.digit:(CI)I
istore 7
start local 7 28: iload 7
ifge 30
29: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "The string contains invalid an digit - '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: java.lang.String char[] int int int int top int int
StackMap stack:
iload 5
iload 3
imul
i2s
istore 6
start local 6 31: iload 5
iload 8
if_icmple 33
32: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a short"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: java.lang.String char[] int int int int int int int
StackMap stack:
iload 6
ifge 35
iload 6
iload 7
ineg
if_icmplt 35
34: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a short"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
i2s
istore 5
36: iinc 2 1
end local 7 end local 6 37: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 27
38: iload 4
ifeq 44
39: iload 5
sipush -32768
if_icmpne 41
40: iload 5
ireturn
41: StackMap locals:
StackMap stack:
iload 5
ifge 43
42: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a short"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
iload 5
iconst_m1
imul
i2s
ireturn
44: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 8 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 45 0 shortLiteral Ljava/lang/String;
6 7 1 shortChars [C
8 45 1 shortChars [C
9 45 2 position I
10 45 3 radix I
11 45 4 negative Z
25 45 5 result S
31 37 6 shiftedResult S
28 37 7 digit I
26 45 8 maxValue S
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
shortLiteral
public static int parseInt(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NumberFormatException
dup
ldc "string is null"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: new java.lang.NumberFormatException
dup
ldc "string is blank"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: bipush 10
istore 3
start local 3 7: iconst_0
istore 4
start local 4 8: aload 1
iload 2
caload
bipush 45
if_icmpne 11
9: iinc 2 1
10: iconst_1
istore 4
11: StackMap locals: java.lang.String char[] int int int
StackMap stack:
aload 1
iload 2
caload
bipush 48
if_icmpne 21
12: iinc 2 1
13: iload 2
aload 1
arraylength
if_icmpne 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 120
if_icmpeq 16
aload 1
iload 2
caload
bipush 88
if_icmpne 19
16: StackMap locals:
StackMap stack:
bipush 16
istore 3
17: iinc 2 1
18: goto 21
StackMap locals:
StackMap stack:
19: aload 1
iload 2
caload
bipush 8
invokestatic java.lang.Character.digit:(CI)I
iflt 21
20: bipush 8
istore 3
21: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 22: ldc 2147483647
iload 3
iconst_2
idiv
idiv
istore 8
start local 8 23: goto 34
24: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
aload 1
iload 2
caload
iload 3
invokestatic java.lang.Character.digit:(CI)I
istore 7
start local 7 25: iload 7
ifge 27
26: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "The string contains an invalid digit - '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: java.lang.String char[] int int int int top int int
StackMap stack:
iload 5
iload 3
imul
istore 6
start local 6 28: iload 5
iload 8
if_icmple 30
29: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into an int"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: java.lang.String char[] int int int int int int int
StackMap stack:
iload 6
ifge 32
iload 6
iload 7
ineg
if_icmplt 32
31: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into an int"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
istore 5
33: iinc 2 1
end local 7 end local 6 34: StackMap locals: java.lang.String char[] int int int int top top int
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 24
35: iload 4
ifeq 41
36: iload 5
ldc -2147483648
if_icmpne 38
37: iload 5
ireturn
38: StackMap locals:
StackMap stack:
iload 5
ifge 40
39: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into an int"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
iload 5
iconst_m1
imul
ireturn
41: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 8 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 42 0 intLiteral Ljava/lang/String;
5 42 1 intChars [C
6 42 2 position I
7 42 3 radix I
8 42 4 negative Z
22 42 5 result I
28 34 6 shiftedResult I
25 34 7 digit I
23 42 8 maxValue I
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
intLiteral
public static long parseLong(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NumberFormatException
dup
ldc "string is null"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: new java.lang.NumberFormatException
dup
ldc "string is blank"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
ldc "L"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 7
5: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 6: goto 8
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 8: StackMap locals: char[]
StackMap stack:
iconst_0
istore 2
start local 2 9: bipush 10
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: aload 1
iload 2
caload
bipush 45
if_icmpne 14
12: iinc 2 1
13: iconst_1
istore 4
14: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
caload
bipush 48
if_icmpne 24
15: iinc 2 1
16: iload 2
aload 1
arraylength
if_icmpne 18
17: lconst_0
lreturn
18: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 120
if_icmpeq 19
aload 1
iload 2
caload
bipush 88
if_icmpne 22
19: StackMap locals:
StackMap stack:
bipush 16
istore 3
20: iinc 2 1
21: goto 24
StackMap locals:
StackMap stack:
22: aload 1
iload 2
caload
bipush 8
invokestatic java.lang.Character.digit:(CI)I
iflt 24
23: bipush 8
istore 3
24: StackMap locals:
StackMap stack:
lconst_0
lstore 5
start local 5 25: ldc 9223372036854775807
iload 3
iconst_2
idiv
i2l
ldiv
lstore 10
start local 10 26: goto 37
27: StackMap locals: java.lang.String char[] int int int long top top top long
StackMap stack:
aload 1
iload 2
caload
iload 3
invokestatic java.lang.Character.digit:(CI)I
istore 9
start local 9 28: iload 9
ifge 30
29: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "The string contains an invalid digit - '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: java.lang.String char[] int int int long top top int long
StackMap stack:
lload 5
iload 3
i2l
lmul
lstore 7
start local 7 31: lload 5
lload 10
lcmp
ifle 33
32: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: java.lang.String char[] int int int long long int long
StackMap stack:
lload 7
lconst_0
lcmp
ifge 35
lload 7
iload 9
ineg
i2l
lcmp
iflt 35
34: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
lload 7
iload 9
i2l
ladd
lstore 5
36: iinc 2 1
end local 9 end local 7 37: StackMap locals: java.lang.String char[] int int int long top top top long
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 27
38: iload 4
ifeq 44
39: lload 5
ldc -9223372036854775808
lcmp
ifne 41
40: lload 5
lreturn
41: StackMap locals:
StackMap stack:
lload 5
lconst_0
lcmp
ifge 43
42: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
lload 5
ldc -1
lmul
lreturn
44: StackMap locals:
StackMap stack:
lload 5
lreturn
end local 10 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 45 0 longLiteral Ljava/lang/String;
6 7 1 longChars [C
8 45 1 longChars [C
9 45 2 position I
10 45 3 radix I
11 45 4 negative Z
25 45 5 result J
31 37 7 shiftedResult J
28 37 9 digit I
26 45 10 maxValue J
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
longLiteral
public static float parseFloat(java.lang.String);
descriptor: (Ljava/lang/String;)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.jf.smali.LiteralTools.specialFloatRegex:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
2: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iconst_m1
if_icmpeq 6
3: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.start:(I)I
iconst_m1
if_icmpeq 5
4: ldc -Infinity
freturn
5: StackMap locals: java.util.regex.Matcher
StackMap stack:
ldc Infinity
freturn
6: StackMap locals:
StackMap stack:
ldc NaN
freturn
7: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 floatString Ljava/lang/String;
1 8 1 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
floatString
public static double parseDouble(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.jf.smali.LiteralTools.specialDoubleRegex:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
2: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.start:(I)I
iconst_m1
if_icmpeq 6
3: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.start:(I)I
iconst_m1
if_icmpeq 5
4: ldc -Infinity
dreturn
5: StackMap locals: java.util.regex.Matcher
StackMap stack:
ldc Infinity
dreturn
6: StackMap locals:
StackMap stack:
ldc NaN
dreturn
7: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 doubleString Ljava/lang/String;
1 8 1 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
doubleString
public static byte[] longToBytes(long);
descriptor: (J)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: bipush 8
newarray 8
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: byte[] int
StackMap stack:
aload 2
iload 3
lload 0
l2i
i2b
bastore
4: lload 0
bipush 8
lushr
lstore 0
5: iinc 3 1
StackMap locals:
StackMap stack:
6: lload 0
lconst_0
lcmp
ifne 3
end local 3 7: aload 2
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 value J
1 8 2 bytes [B
2 7 3 i I
MethodParameters:
Name Flags
value
public static byte[] intToBytes(int);
descriptor: (I)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_4
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
iload 0
i2b
bastore
4: iload 0
bipush 8
iushr
istore 0
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 0
ifne 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 value I
1 8 1 bytes [B
2 7 2 i I
MethodParameters:
Name Flags
value
public static byte[] shortToBytes(short);
descriptor: (S)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_2
newarray 8
astore 1
start local 1 1: aload 1
iconst_0
iload 0
i2b
bastore
2: aload 1
iconst_1
iload 0
bipush 8
iushr
i2b
bastore
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value S
1 4 1 bytes [B
MethodParameters:
Name Flags
value
public static byte[] floatToBytes(float);
descriptor: (F)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
invokestatic org.jf.smali.LiteralTools.intToBytes:(I)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value F
MethodParameters:
Name Flags
value
public static byte[] doubleToBytes(double);
descriptor: (D)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
invokestatic org.jf.smali.LiteralTools.longToBytes:(J)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value D
MethodParameters:
Name Flags
value
public static byte[] charToBytes(char);
descriptor: (C)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2s
invokestatic org.jf.smali.LiteralTools.shortToBytes:(S)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value C
MethodParameters:
Name Flags
value
public static byte[] boolToBytes(boolean);
descriptor: (Z)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iload 0
ifeq 2
1: iconst_1
newarray 8
dup
iconst_0
iconst_1
bastore
areturn
2: StackMap locals:
StackMap stack:
iconst_1
newarray 8
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Z
MethodParameters:
Name Flags
value
public static void checkInt(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
ldc -1
lcmp
ifgt 1
lload 0
ldc -2147483648
lcmp
ifge 2
1: StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into an int"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value J
MethodParameters:
Name Flags
value
public static void checkShort(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
ldc 65535
lcmp
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: lload 0
ldc -32768
lcmp
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: long
StackMap stack: int int
4: ior
ifeq 6
5: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a short"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 value J
MethodParameters:
Name Flags
value
public static void checkByte(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
ldc 255
lcmp
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: lload 0
ldc -128
lcmp
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: long
StackMap stack: int int
4: ior
ifeq 6
5: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 value J
MethodParameters:
Name Flags
value
public static void checkNibble(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: lload 0
ldc 15
lcmp
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: lload 0
ldc -8
lcmp
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: long
StackMap stack: int int
4: ior
ifeq 6
5: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cannot fit into a nibble"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 value J
MethodParameters:
Name Flags
value
}
SourceFile: "LiteralTools.java"