final class com.sun.xml.internal.org.jvnet.mimepull.ASCIIUtility
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.xml.internal.org.jvnet.mimepull.ASCIIUtility
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.xml.internal.org.jvnet.mimepull.ASCIIUtility this
0: .line 32
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.xml.internal.org.jvnet.mimepull.ASCIIUtility this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/org/jvnet/mimepull/ASCIIUtility;
public static int parseInt(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=4
start local 0 // byte[] b
start local 1 // int start
start local 2 // int end
start local 3 // int radix
0: .line 43
aload 0 /* b */
ifnonnull 2
1: .line 44
new java.lang.NumberFormatException
dup
ldc "null"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: .line 47
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* result */
start local 4 // int result
3: .line 48
iconst_0
istore 5 /* negative */
start local 5 // boolean negative
4: .line 49
iload 1 /* start */
istore 6 /* i */
start local 6 // int i
5: .line 54
iload 2 /* end */
iload 1 /* start */
if_icmple 32
6: .line 55
aload 0 /* b */
iload 6 /* i */
baload
bipush 45
if_icmpne 11
7: .line 56
iconst_1
istore 5 /* negative */
8: .line 57
ldc -2147483648
istore 7 /* limit */
start local 7 // int limit
9: .line 58
iinc 6 /* i */ 1
10: .line 59
goto 12
end local 7 // int limit
11: .line 60
StackMap locals: int int int
StackMap stack:
ldc -2147483647
istore 7 /* limit */
start local 7 // int limit
12: .line 62
StackMap locals: int
StackMap stack:
iload 7 /* limit */
iload 3 /* radix */
idiv
istore 8 /* multmin */
start local 8 // int multmin
13: .line 63
iload 6 /* i */
iload 2 /* end */
if_icmpge 30
14: .line 64
aload 0 /* b */
iload 6 /* i */
iinc 6 /* i */ 1
baload
i2c
iload 3 /* radix */
invokestatic java.lang.Character.digit:(CI)I
istore 9 /* digit */
start local 9 // int digit
15: .line 65
iload 9 /* digit */
ifge 19
16: .line 66
new java.lang.NumberFormatException
dup
17: .line 67
new java.lang.StringBuilder
dup
ldc "illegal number: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* b */
iload 1 /* start */
iload 2 /* end */
invokestatic com.sun.xml.internal.org.jvnet.mimepull.ASCIIUtility.toString:([BII)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: .line 66
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
19: .line 70
StackMap locals: int int
StackMap stack:
iload 9 /* digit */
ineg
istore 4 /* result */
end local 9 // int digit
20: .line 73
goto 30
21: .line 75
StackMap locals:
StackMap stack:
aload 0 /* b */
iload 6 /* i */
iinc 6 /* i */ 1
baload
i2c
iload 3 /* radix */
invokestatic java.lang.Character.digit:(CI)I
istore 9 /* digit */
start local 9 // int digit
22: .line 76
iload 9 /* digit */
ifge 24
23: .line 77
new java.lang.NumberFormatException
dup
ldc "illegal number"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
24: .line 79
StackMap locals: int
StackMap stack:
iload 4 /* result */
iload 8 /* multmin */
if_icmpge 26
25: .line 80
new java.lang.NumberFormatException
dup
ldc "illegal number"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
26: .line 82
StackMap locals:
StackMap stack:
iload 4 /* result */
iload 3 /* radix */
imul
istore 4 /* result */
27: .line 83
iload 4 /* result */
iload 7 /* limit */
iload 9 /* digit */
iadd
if_icmpge 29
28: .line 84
new java.lang.NumberFormatException
dup
ldc "illegal number"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
29: .line 86
StackMap locals:
StackMap stack:
iload 4 /* result */
iload 9 /* digit */
isub
istore 4 /* result */
end local 9 // int digit
30: .line 73
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 2 /* end */
if_icmplt 21
31: .line 88
goto 33
end local 8 // int multmin
end local 7 // int limit
32: .line 89
StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
ldc "illegal number"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
start local 7 // int limit
start local 8 // int multmin
33: .line 91
StackMap locals: int int
StackMap stack:
iload 5 /* negative */
ifeq 37
34: .line 92
iload 6 /* i */
iload 1 /* start */
iconst_1
iadd
if_icmple 36
35: .line 93
iload 4 /* result */
ireturn
36: .line 95
StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
ldc "illegal number"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
37: .line 98
StackMap locals:
StackMap stack:
iload 4 /* result */
ineg
ireturn
end local 8 // int multmin
end local 7 // int limit
end local 6 // int i
end local 5 // boolean negative
end local 4 // int result
end local 3 // int radix
end local 2 // int end
end local 1 // int start
end local 0 // byte[] b
LocalVariableTable:
Start End Slot Name Signature
0 38 0 b [B
0 38 1 start I
0 38 2 end I
0 38 3 radix I
3 38 4 result I
4 38 5 negative Z
5 38 6 i I
9 11 7 limit I
12 32 7 limit I
33 38 7 limit I
13 32 8 multmin I
33 38 8 multmin I
15 20 9 digit I
22 30 9 digit I
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
b
start
end
radix
public static java.lang.String toString(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 // byte[] b
start local 1 // int start
start local 2 // int end
0: .line 108
iload 2 /* end */
iload 1 /* start */
isub
istore 3 /* size */
start local 3 // int size
1: .line 109
iload 3 /* size */
newarray 5
astore 4 /* theChars */
start local 4 // char[] theChars
2: .line 111
iconst_0
istore 5 /* i */
start local 5 // int i
3: iload 1 /* start */
istore 6 /* j */
start local 6 // int j
4: goto 6
5: .line 112
StackMap locals: byte[] int int int char[] int int
StackMap stack:
aload 4 /* theChars */
iload 5 /* i */
iinc 5 /* i */ 1
aload 0 /* b */
iload 6 /* j */
iinc 6 /* j */ 1
baload
sipush 255
iand
i2c
castore
6: .line 111
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 3 /* size */
if_icmplt 5
end local 6 // int j
end local 5 // int i
7: .line 115
new java.lang.String
dup
aload 4 /* theChars */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 4 // char[] theChars
end local 3 // int size
end local 2 // int end
end local 1 // int start
end local 0 // byte[] b
LocalVariableTable:
Start End Slot Name Signature
0 8 0 b [B
0 8 1 start I
0 8 2 end I
1 8 3 size I
2 8 4 theChars [C
3 7 5 i I
4 7 6 j I
MethodParameters:
Name Flags
b
start
end
}
SourceFile: "ASCIIUtility.java"