class org.joda.time.format.DateTimeFormatterBuilder$MatchingParser implements org.joda.time.format.InternalParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.joda.time.format.DateTimeFormatterBuilder$MatchingParser
super_class: java.lang.Object
{
private final org.joda.time.format.InternalParser[] iParsers;
descriptor: [Lorg/joda/time/format/InternalParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int iParsedLengthEstimate;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.joda.time.format.InternalParser[]);
descriptor: ([Lorg/joda/time/format/InternalParser;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
start local 1 // org.joda.time.format.InternalParser[] parsers
0: .line 2569
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 2570
aload 0 /* this */
aload 1 /* parsers */
putfield org.joda.time.format.DateTimeFormatterBuilder$MatchingParser.iParsers:[Lorg/joda/time/format/InternalParser;
2: .line 2571
iconst_0
istore 2 /* est */
start local 2 // int est
3: .line 2572
aload 1 /* parsers */
arraylength
istore 3 /* i */
start local 3 // int i
4: goto 10
5: .line 2573
StackMap locals: org.joda.time.format.DateTimeFormatterBuilder$MatchingParser org.joda.time.format.InternalParser[] int int
StackMap stack:
aload 1 /* parsers */
iload 3 /* i */
aaload
astore 4 /* parser */
start local 4 // org.joda.time.format.InternalParser parser
6: .line 2574
aload 4 /* parser */
ifnull 10
7: .line 2575
aload 4 /* parser */
invokeinterface org.joda.time.format.InternalParser.estimateParsedLength:()I
istore 5 /* len */
start local 5 // int len
8: .line 2576
iload 5 /* len */
iload 2 /* est */
if_icmple 10
9: .line 2577
iload 5 /* len */
istore 2 /* est */
end local 5 // int len
end local 4 // org.joda.time.format.InternalParser parser
10: .line 2572
StackMap locals:
StackMap stack:
iinc 3 /* i */ -1
iload 3 /* i */
ifge 5
end local 3 // int i
11: .line 2581
aload 0 /* this */
iload 2 /* est */
putfield org.joda.time.format.DateTimeFormatterBuilder$MatchingParser.iParsedLengthEstimate:I
12: .line 2582
return
end local 2 // int est
end local 1 // org.joda.time.format.InternalParser[] parsers
end local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$MatchingParser;
0 13 1 parsers [Lorg/joda/time/format/InternalParser;
3 13 2 est I
4 11 3 i I
6 10 4 parser Lorg/joda/time/format/InternalParser;
8 10 5 len I
MethodParameters:
Name Flags
parsers
public int estimateParsedLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
0: .line 2585
aload 0 /* this */
getfield org.joda.time.format.DateTimeFormatterBuilder$MatchingParser.iParsedLengthEstimate:I
ireturn
end local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$MatchingParser;
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=14, args_size=4
start local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
start local 1 // org.joda.time.format.DateTimeParserBucket bucket
start local 2 // java.lang.CharSequence text
start local 3 // int position
0: .line 2589
aload 0 /* this */
getfield org.joda.time.format.DateTimeFormatterBuilder$MatchingParser.iParsers:[Lorg/joda/time/format/InternalParser;
astore 4 /* parsers */
start local 4 // org.joda.time.format.InternalParser[] parsers
1: .line 2590
aload 4 /* parsers */
arraylength
istore 5 /* length */
start local 5 // int length
2: .line 2592
aload 1 /* bucket */
invokevirtual org.joda.time.format.DateTimeParserBucket.saveState:()Ljava/lang/Object;
astore 6 /* originalState */
start local 6 // java.lang.Object originalState
3: .line 2593
iconst_0
istore 7 /* isOptional */
start local 7 // boolean isOptional
4: .line 2595
iload 3 /* position */
istore 8 /* bestValidPos */
start local 8 // int bestValidPos
5: .line 2596
aconst_null
astore 9 /* bestValidState */
start local 9 // java.lang.Object bestValidState
6: .line 2598
iload 3 /* position */
istore 10 /* bestInvalidPos */
start local 10 // int bestInvalidPos
7: .line 2600
iconst_0
istore 11 /* i */
start local 11 // int i
8: goto 30
9: .line 2601
StackMap locals: org.joda.time.format.DateTimeFormatterBuilder$MatchingParser org.joda.time.format.DateTimeParserBucket java.lang.CharSequence int org.joda.time.format.InternalParser[] int java.lang.Object int int java.lang.Object int int
StackMap stack:
aload 4 /* parsers */
iload 11 /* i */
aaload
astore 12 /* parser */
start local 12 // org.joda.time.format.InternalParser parser
10: .line 2602
aload 12 /* parser */
ifnonnull 15
11: .line 2604
iload 8 /* bestValidPos */
iload 3 /* position */
if_icmpgt 13
12: .line 2605
iload 3 /* position */
ireturn
13: .line 2607
StackMap locals: org.joda.time.format.InternalParser
StackMap stack:
iconst_1
istore 7 /* isOptional */
14: .line 2608
goto 31
15: .line 2610
StackMap locals:
StackMap stack:
aload 12 /* parser */
aload 1 /* bucket */
aload 2 /* text */
iload 3 /* position */
invokeinterface org.joda.time.format.InternalParser.parseInto:(Lorg/joda/time/format/DateTimeParserBucket;Ljava/lang/CharSequence;I)I
istore 13 /* parsePos */
start local 13 // int parsePos
16: .line 2611
iload 13 /* parsePos */
iload 3 /* position */
if_icmplt 24
17: .line 2612
iload 13 /* parsePos */
iload 8 /* bestValidPos */
if_icmple 28
18: .line 2613
iload 13 /* parsePos */
aload 2 /* text */
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 20
19: .line 2614
iload 11 /* i */
iconst_1
iadd
iload 5 /* length */
if_icmpge 20
aload 4 /* parsers */
iload 11 /* i */
iconst_1
iadd
aaload
ifnonnull 21
20: .line 2618
StackMap locals: int
StackMap stack:
iload 13 /* parsePos */
ireturn
21: .line 2620
StackMap locals:
StackMap stack:
iload 13 /* parsePos */
istore 8 /* bestValidPos */
22: .line 2621
aload 1 /* bucket */
invokevirtual org.joda.time.format.DateTimeParserBucket.saveState:()Ljava/lang/Object;
astore 9 /* bestValidState */
23: .line 2623
goto 28
24: .line 2624
StackMap locals:
StackMap stack:
iload 13 /* parsePos */
ifge 28
25: .line 2625
iload 13 /* parsePos */
iconst_m1
ixor
istore 13 /* parsePos */
26: .line 2626
iload 13 /* parsePos */
iload 10 /* bestInvalidPos */
if_icmple 28
27: .line 2627
iload 13 /* parsePos */
istore 10 /* bestInvalidPos */
28: .line 2631
StackMap locals:
StackMap stack:
aload 1 /* bucket */
aload 6 /* originalState */
invokevirtual org.joda.time.format.DateTimeParserBucket.restoreState:(Ljava/lang/Object;)Z
pop
end local 13 // int parsePos
end local 12 // org.joda.time.format.InternalParser parser
29: .line 2600
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
30: iload 11 /* i */
iload 5 /* length */
if_icmplt 9
end local 11 // int i
31: .line 2634
StackMap locals:
StackMap stack:
iload 8 /* bestValidPos */
iload 3 /* position */
if_icmpgt 32
iload 8 /* bestValidPos */
iload 3 /* position */
if_icmpne 35
iload 7 /* isOptional */
ifeq 35
32: .line 2636
StackMap locals:
StackMap stack:
aload 9 /* bestValidState */
ifnull 34
33: .line 2637
aload 1 /* bucket */
aload 9 /* bestValidState */
invokevirtual org.joda.time.format.DateTimeParserBucket.restoreState:(Ljava/lang/Object;)Z
pop
34: .line 2639
StackMap locals:
StackMap stack:
iload 8 /* bestValidPos */
ireturn
35: .line 2642
StackMap locals:
StackMap stack:
iload 10 /* bestInvalidPos */
iconst_m1
ixor
ireturn
end local 10 // int bestInvalidPos
end local 9 // java.lang.Object bestValidState
end local 8 // int bestValidPos
end local 7 // boolean isOptional
end local 6 // java.lang.Object originalState
end local 5 // int length
end local 4 // org.joda.time.format.InternalParser[] parsers
end local 3 // int position
end local 2 // java.lang.CharSequence text
end local 1 // org.joda.time.format.DateTimeParserBucket bucket
end local 0 // org.joda.time.format.DateTimeFormatterBuilder$MatchingParser this
LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/joda/time/format/DateTimeFormatterBuilder$MatchingParser;
0 36 1 bucket Lorg/joda/time/format/DateTimeParserBucket;
0 36 2 text Ljava/lang/CharSequence;
0 36 3 position I
1 36 4 parsers [Lorg/joda/time/format/InternalParser;
2 36 5 length I
3 36 6 originalState Ljava/lang/Object;
4 36 7 isOptional Z
5 36 8 bestValidPos I
6 36 9 bestValidState Ljava/lang/Object;
7 36 10 bestInvalidPos I
8 31 11 i I
10 29 12 parser Lorg/joda/time/format/InternalParser;
16 29 13 parsePos I
MethodParameters:
Name Flags
bucket
text
position
}
SourceFile: "DateTimeFormatterBuilder.java"
NestHost: org.joda.time.format.DateTimeFormatterBuilder
InnerClasses:
MatchingParser = org.joda.time.format.DateTimeFormatterBuilder$MatchingParser of org.joda.time.format.DateTimeFormatterBuilder