abstract class org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter implements org.joda.time.format.InternalPrinter, org.joda.time.format.InternalParser
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter
super_class: java.lang.Object
{
protected final org.joda.time.DateTimeFieldType iFieldType;
descriptor: Lorg/joda/time/DateTimeFieldType;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int iMaxParsedDigits;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean iSigned;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
void <init>(org.joda.time.DateTimeFieldType, int, boolean);
descriptor: (Lorg/joda/time/DateTimeFieldType;IZ)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iFieldType:Lorg/joda/time/DateTimeFieldType;
2: aload 0
iload 2
putfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iMaxParsedDigits:I
3: aload 0
iload 3
putfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iSigned:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$NumberFormatter;
0 5 1 fieldType Lorg/joda/time/DateTimeFieldType;
0 5 2 maxParsedDigits I
0 5 3 signed Z
MethodParameters:
Name Flags
fieldType
maxParsedDigits
signed
public int estimateParsedLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iMaxParsedDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$NumberFormatter;
public int parseInto(org.joda.time.format.DateTimeParserBucket, java.lang.CharSequence, int);
descriptor: (Lorg/joda/time/format/DateTimeParserBucket;Ljava/lang/CharSequence;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iMaxParsedDigits:I
aload 2
invokeinterface java.lang.CharSequence.length:()I
iload 3
isub
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iconst_0
istore 7
start local 7 4: goto 23
5: StackMap locals: org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter org.joda.time.format.DateTimeParserBucket java.lang.CharSequence int int int int int
StackMap stack:
aload 2
iload 3
iload 7
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 8
start local 8 6: iload 7
ifne 20
iload 8
bipush 45
if_icmpeq 7
iload 8
bipush 43
if_icmpne 20
StackMap locals: int
StackMap stack:
7: aload 0
getfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iSigned:Z
ifeq 20
8: iload 8
bipush 45
if_icmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 5
11: iload 8
bipush 43
if_icmpne 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 6
14: iload 7
iconst_1
iadd
iload 4
if_icmpge 24
15: aload 2
iload 3
iload 7
iadd
iconst_1
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
dup
istore 8
bipush 48
if_icmplt 24
iload 8
bipush 57
if_icmple 17
16: goto 24
17: StackMap locals:
StackMap stack:
iinc 7 1
18: iload 4
iconst_1
iadd
aload 2
invokeinterface java.lang.CharSequence.length:()I
iload 3
isub
invokestatic java.lang.Math.min:(II)I
istore 4
19: goto 23
20: StackMap locals:
StackMap stack:
iload 8
bipush 48
if_icmplt 24
iload 8
bipush 57
if_icmple 22
21: goto 24
22: StackMap locals:
StackMap stack:
iinc 7 1
end local 8 23: StackMap locals:
StackMap stack:
iload 7
iload 4
if_icmplt 5
24: StackMap locals:
StackMap stack:
iload 7
ifne 26
25: iload 3
iconst_m1
ixor
ireturn
26: StackMap locals:
StackMap stack:
iload 7
bipush 9
if_icmplt 32
27: iload 6
ifeq 30
28: aload 2
iload 3
iconst_1
iadd
iload 3
iload 7
iadd
dup
istore 3
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 8
start local 8 29: goto 45
end local 8 30: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 3
iload 7
iadd
dup
istore 3
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 8
start local 8 31: goto 45
end local 8 32: StackMap locals:
StackMap stack:
iload 3
istore 9
start local 9 33: iload 5
ifne 34
iload 6
ifeq 35
34: StackMap locals: org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter org.joda.time.format.DateTimeParserBucket java.lang.CharSequence int int int int int top int
StackMap stack:
iinc 9 1
35: StackMap locals:
StackMap stack:
aload 2
iload 9
iinc 9 1
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 48
isub
istore 8
start local 8 36: goto 39
end local 8 StackMap locals:
StackMap stack: java.lang.StringIndexOutOfBoundsException
37: pop
38: iload 3
iconst_m1
ixor
ireturn
start local 8 39: StackMap locals: org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter org.joda.time.format.DateTimeParserBucket java.lang.CharSequence int int int int int int int
StackMap stack:
iload 3
iload 7
iadd
istore 3
40: goto 42
41: StackMap locals:
StackMap stack:
iload 8
iconst_3
ishl
iload 8
iconst_1
ishl
iadd
aload 2
iload 9
iinc 9 1
invokeinterface java.lang.CharSequence.charAt:(I)C
iadd
bipush 48
isub
istore 8
42: StackMap locals:
StackMap stack:
iload 9
iload 3
if_icmplt 41
43: iload 5
ifeq 45
44: iload 8
ineg
istore 8
end local 9 45: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter.iFieldType:Lorg/joda/time/DateTimeFieldType;
iload 8
invokevirtual org.joda.time.format.DateTimeParserBucket.saveField:(Lorg/joda/time/DateTimeFieldType;I)V
46: iload 3
ireturn
end local 8 end local 7 end local 6 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 47 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$NumberFormatter;
0 47 1 bucket Lorg/joda/time/format/DateTimeParserBucket;
0 47 2 text Ljava/lang/CharSequence;
0 47 3 position I
1 47 4 limit I
2 47 5 negative Z
3 47 6 positive Z
4 47 7 length I
6 23 8 c C
29 30 8 value I
31 32 8 value I
36 37 8 value I
39 47 8 value I
33 45 9 i I
Exception table:
from to target type
35 36 37 Class java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
bucket
text
position
}
SourceFile: "DateTimeFormatterBuilder.java"
NestHost: org.joda.time.format.DateTimeFormatterBuilder
InnerClasses:
abstract NumberFormatter = org.joda.time.format.DateTimeFormatterBuilder$NumberFormatter of org.joda.time.format.DateTimeFormatterBuilder