final class java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser implements java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser
super_class: java.lang.Object
{
static final java.lang.String[] PATTERNS;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser INSTANCE_ID_Z;
descriptor: Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser INSTANCE_ID_ZERO;
descriptor: Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final java.lang.String noOffsetText;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int type;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int style;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 22
anewarray java.lang.String
dup
iconst_0
1: ldc "+HH"
aastore
dup
iconst_1
ldc "+HHmm"
aastore
dup
iconst_2
ldc "+HH:mm"
aastore
dup
iconst_3
ldc "+HHMM"
aastore
dup
iconst_4
ldc "+HH:MM"
aastore
dup
iconst_5
ldc "+HHMMss"
aastore
dup
bipush 6
ldc "+HH:MM:ss"
aastore
dup
bipush 7
ldc "+HHMMSS"
aastore
dup
bipush 8
ldc "+HH:MM:SS"
aastore
dup
bipush 9
ldc "+HHmmss"
aastore
dup
bipush 10
ldc "+HH:mm:ss"
aastore
dup
bipush 11
2: ldc "+H"
aastore
dup
bipush 12
ldc "+Hmm"
aastore
dup
bipush 13
ldc "+H:mm"
aastore
dup
bipush 14
ldc "+HMM"
aastore
dup
bipush 15
ldc "+H:MM"
aastore
dup
bipush 16
ldc "+HMMss"
aastore
dup
bipush 17
ldc "+H:MM:ss"
aastore
dup
bipush 18
ldc "+HMMSS"
aastore
dup
bipush 19
ldc "+H:MM:SS"
aastore
dup
bipush 20
ldc "+Hmmss"
aastore
dup
bipush 21
ldc "+H:mm:ss"
aastore
3: putstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.PATTERNS:[Ljava/lang/String;
4: new java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser
dup
ldc "+HH:MM:ss"
ldc "Z"
invokespecial java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.INSTANCE_ID_Z:Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
5: new java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser
dup
ldc "+HH:MM:ss"
ldc "0"
invokespecial java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.INSTANCE_ID_ZERO:Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "pattern"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "noOffsetText"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
aload 0
aload 1
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.checkPattern:(Ljava/lang/String;)I
putfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
4: aload 0
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
bipush 11
irem
putfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
5: aload 0
aload 2
putfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 7 1 pattern Ljava/lang/String;
0 7 2 noOffsetText Ljava/lang/String;
MethodParameters:
Name Flags
pattern
noOffsetText
private int checkPattern(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
getstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.PATTERNS:[Ljava/lang/String;
iload 2
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
getstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.PATTERNS:[Ljava/lang/String;
arraylength
if_icmplt 2
end local 2 6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid zone offset pattern: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 7 1 pattern Ljava/lang/String;
1 6 2 i I
MethodParameters:
Name Flags
pattern
private boolean isPaddedHour();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
bipush 11
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
private boolean isColon();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
ifle 1
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
iconst_2
irem
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
public boolean format(java.time.format.DateTimePrintContext, java.lang.StringBuilder);
descriptor: (Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
invokevirtual java.time.format.DateTimePrintContext.getValue:(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.Long
StackMap stack:
aload 3
invokevirtual java.lang.Long.longValue:()J
invokestatic java.lang.Math.toIntExact:(J)I
istore 4
start local 4 4: iload 4
ifne 7
5: aload 2
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: goto 30
7: StackMap locals: int
StackMap stack:
iload 4
sipush 3600
idiv
bipush 100
irem
invokestatic java.lang.Math.abs:(I)I
istore 5
start local 5 8: iload 4
bipush 60
idiv
bipush 60
irem
invokestatic java.lang.Math.abs:(I)I
istore 6
start local 6 9: iload 4
bipush 60
irem
invokestatic java.lang.Math.abs:(I)I
istore 7
start local 7 10: aload 2
invokevirtual java.lang.StringBuilder.length:()I
istore 8
start local 8 11: iload 5
istore 9
start local 9 12: aload 2
iload 4
ifge 13
ldc "-"
goto 14
StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimePrintContext java.lang.StringBuilder java.lang.Long int int int int int int
StackMap stack: java.lang.StringBuilder
13: ldc "+"
StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimePrintContext java.lang.StringBuilder java.lang.Long int int int int int int
StackMap stack: java.lang.StringBuilder java.lang.String
14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.isPaddedHour:()Z
ifne 16
iload 5
bipush 10
if_icmplt 18
16: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 5
aload 2
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.formatZeroPad:(ZILjava/lang/StringBuilder;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 2
iload 5
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
iconst_3
if_icmplt 20
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
bipush 8
if_icmple 22
StackMap locals:
StackMap stack:
20: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
bipush 9
if_icmplt 21
iload 7
ifgt 22
StackMap locals:
StackMap stack:
21: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
iconst_1
if_icmplt 27
iload 6
ifle 27
22: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.isColon:()Z
iload 6
aload 2
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.formatZeroPad:(ZILjava/lang/StringBuilder;)V
23: iload 9
iload 6
iadd
istore 9
24: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
bipush 7
if_icmpeq 25
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
bipush 8
if_icmpeq 25
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.style:I
iconst_5
if_icmplt 27
iload 7
ifle 27
25: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.isColon:()Z
iload 7
aload 2
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.formatZeroPad:(ZILjava/lang/StringBuilder;)V
26: iload 9
iload 7
iadd
istore 9
27: StackMap locals:
StackMap stack:
iload 9
ifne 30
28: aload 2
iload 8
invokevirtual java.lang.StringBuilder.setLength:(I)V
29: aload 2
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 8 end local 7 end local 6 end local 5 30: StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimePrintContext java.lang.StringBuilder java.lang.Long int
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 31 1 context Ljava/time/format/DateTimePrintContext;
0 31 2 buf Ljava/lang/StringBuilder;
1 31 3 offsetSecs Ljava/lang/Long;
4 31 4 totalSecs I
8 30 5 absHours I
9 30 6 absMinutes I
10 30 7 absSeconds I
11 30 8 bufPos I
12 30 9 output I
MethodParameters:
Name Flags
context
buf
private void formatZeroPad(boolean, int, java.lang.StringBuilder);
descriptor: (ZILjava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
iload 1
ifeq 1
ldc ":"
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc ""
StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser int int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: iload 2
bipush 10
idiv
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
4: iload 2
bipush 10
irem
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 6 1 colon Z
0 6 2 value I
0 6 3 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
colon
value
buf
public int parse(java.time.format.DateTimeParseContext, java.lang.CharSequence, int);
descriptor: (Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.lang.CharSequence.length:()I
istore 4
start local 4 1: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
istore 5
start local 5 2: iload 5
ifne 5
3: iload 3
iload 4
if_icmpne 9
4: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
lconst_0
iload 3
iload 3
invokevirtual java.time.format.DateTimeParseContext.setParsedField:(Ljava/time/temporal/TemporalField;JII)I
ireturn
5: StackMap locals: int int
StackMap stack:
iload 3
iload 4
if_icmpne 7
6: iload 3
iconst_m1
ixor
ireturn
7: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
iconst_0
iload 5
invokevirtual java.time.format.DateTimeParseContext.subSequenceEquals:(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
ifeq 9
8: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
lconst_0
iload 3
iload 3
iload 5
iadd
invokevirtual java.time.format.DateTimeParseContext.setParsedField:(Ljava/time/temporal/TemporalField;JII)I
ireturn
9: StackMap locals:
StackMap stack:
aload 2
iload 3
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6
start local 6 10: iload 6
bipush 43
if_icmpeq 11
iload 6
bipush 45
if_icmpne 66
11: StackMap locals: int
StackMap stack:
iload 6
bipush 45
if_icmpne 12
iconst_m1
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 7
start local 7 14: aload 0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.isColon:()Z
istore 8
start local 8 15: aload 0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.isPaddedHour:()Z
istore 9
start local 9 16: iconst_4
newarray 10
astore 10
start local 10 17: aload 10
iconst_0
iload 3
iconst_1
iadd
iastore
18: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
istore 11
start local 11 19: aload 1
invokevirtual java.time.format.DateTimeParseContext.isStrict:()Z
ifne 32
20: iload 9
ifeq 27
21: iload 8
ifne 22
iload 11
ifne 25
iload 4
iload 3
iconst_3
iadd
if_icmple 25
aload 2
iload 3
iconst_3
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 58
if_icmpne 25
22: StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimeParseContext java.lang.CharSequence int int int int int int int int[] int
StackMap stack:
iconst_1
istore 8
23: bipush 10
istore 11
24: goto 32
25: StackMap locals:
StackMap stack:
bipush 9
istore 11
26: goto 32
27: StackMap locals:
StackMap stack:
iload 8
ifne 28
iload 11
bipush 11
if_icmpne 31
iload 4
iload 3
iconst_3
iadd
if_icmple 31
aload 2
iload 3
iconst_2
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 58
if_icmpeq 28
aload 2
iload 3
iconst_3
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 58
if_icmpne 31
28: StackMap locals:
StackMap stack:
iconst_1
istore 8
29: bipush 21
istore 11
30: goto 32
31: StackMap locals:
StackMap stack:
bipush 20
istore 11
32: StackMap locals:
StackMap stack:
iload 11
tableswitch { // 0 - 21
0: 33
1: 35
2: 35
3: 38
4: 38
5: 41
6: 41
7: 45
8: 45
9: 49
10: 49
11: 33
12: 52
13: 35
14: 54
15: 38
16: 56
17: 41
18: 58
19: 45
20: 60
21: 49
default: 61
}
33: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
34: goto 61
35: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
36: aload 0
aload 2
iload 8
iconst_0
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseMinute:(Ljava/lang/CharSequence;ZZ[I)V
37: goto 61
38: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
39: aload 0
aload 2
iload 8
iconst_1
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseMinute:(Ljava/lang/CharSequence;ZZ[I)V
40: goto 61
41: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
42: aload 0
aload 2
iload 8
iconst_1
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseMinute:(Ljava/lang/CharSequence;ZZ[I)V
43: aload 0
aload 2
iload 8
iconst_0
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseSecond:(Ljava/lang/CharSequence;ZZ[I)V
44: goto 61
45: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
46: aload 0
aload 2
iload 8
iconst_1
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseMinute:(Ljava/lang/CharSequence;ZZ[I)V
47: aload 0
aload 2
iload 8
iconst_1
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseSecond:(Ljava/lang/CharSequence;ZZ[I)V
48: goto 61
49: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseHour:(Ljava/lang/CharSequence;Z[I)V
50: aload 0
aload 2
iload 8
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseOptionalMinuteSecond:(Ljava/lang/CharSequence;Z[I)V
51: goto 61
52: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_1
iconst_4
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
53: goto 61
54: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_3
iconst_4
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
55: goto 61
56: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_3
bipush 6
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
57: goto 61
58: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_5
bipush 6
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
59: goto 61
60: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_1
bipush 6
aload 10
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
61: StackMap locals:
StackMap stack:
aload 10
iconst_0
iaload
ifle 66
62: aload 10
iconst_1
iaload
bipush 23
if_icmpgt 63
aload 10
iconst_2
iaload
bipush 59
if_icmpgt 63
aload 10
iconst_3
iaload
bipush 59
if_icmple 64
63: StackMap locals:
StackMap stack:
new java.time.DateTimeException
dup
ldc "Value out of range: Hour[0-23], Minute[0-59], Second[0-59]"
invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
iload 7
i2l
aload 10
iconst_1
iaload
i2l
ldc 3600
lmul
aload 10
iconst_2
iaload
i2l
ldc 60
lmul
ladd
aload 10
iconst_3
iaload
i2l
ladd
lmul
lstore 12
start local 12 65: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
lload 12
iload 3
aload 10
iconst_0
iaload
invokevirtual java.time.format.DateTimeParseContext.setParsedField:(Ljava/time/temporal/TemporalField;JII)I
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 66: StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimeParseContext java.lang.CharSequence int int int int
StackMap stack:
iload 5
ifne 68
67: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
lconst_0
iload 3
iload 3
invokevirtual java.time.format.DateTimeParseContext.setParsedField:(Ljava/time/temporal/TemporalField;JII)I
ireturn
68: StackMap locals:
StackMap stack:
iload 3
iconst_m1
ixor
ireturn
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 69 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 69 1 context Ljava/time/format/DateTimeParseContext;
0 69 2 text Ljava/lang/CharSequence;
0 69 3 position I
1 69 4 length I
2 69 5 noOffsetLen I
10 69 6 sign C
14 66 7 negative I
15 66 8 isColon Z
16 66 9 paddedHour Z
17 66 10 array [I
19 66 11 parseType I
65 66 12 offsetSecs J
MethodParameters:
Name Flags
context
text
position
private void parseHour(java.lang.CharSequence, boolean, int[]);
descriptor: (Ljava/lang/CharSequence;Z[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 4
1: aload 0
aload 1
iconst_0
iconst_1
aload 3
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseDigits:(Ljava/lang/CharSequence;ZI[I)Z
ifne 5
2: aload 3
iconst_0
aload 3
iconst_0
iaload
iconst_m1
ixor
iastore
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
iconst_2
aload 3
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseVariableWidthDigits:(Ljava/lang/CharSequence;II[I)V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 6 1 parseText Ljava/lang/CharSequence;
0 6 2 paddedHour Z
0 6 3 array [I
MethodParameters:
Name Flags
parseText
paddedHour
array
private void parseMinute(java.lang.CharSequence, boolean, boolean, int[]);
descriptor: (Ljava/lang/CharSequence;ZZ[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iconst_2
aload 4
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseDigits:(Ljava/lang/CharSequence;ZI[I)Z
ifne 3
1: iload 3
ifeq 3
2: aload 4
iconst_0
aload 4
iconst_0
iaload
iconst_m1
ixor
iastore
3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 4 1 parseText Ljava/lang/CharSequence;
0 4 2 isColon Z
0 4 3 mandatory Z
0 4 4 array [I
MethodParameters:
Name Flags
parseText
isColon
mandatory
array
private void parseSecond(java.lang.CharSequence, boolean, boolean, int[]);
descriptor: (Ljava/lang/CharSequence;ZZ[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iconst_3
aload 4
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseDigits:(Ljava/lang/CharSequence;ZI[I)Z
ifne 3
1: iload 3
ifeq 3
2: aload 4
iconst_0
aload 4
iconst_0
iaload
iconst_m1
ixor
iastore
3: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 4 1 parseText Ljava/lang/CharSequence;
0 4 2 isColon Z
0 4 3 mandatory Z
0 4 4 array [I
MethodParameters:
Name Flags
parseText
isColon
mandatory
array
private void parseOptionalMinuteSecond(java.lang.CharSequence, boolean, int[]);
descriptor: (Ljava/lang/CharSequence;Z[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iconst_2
aload 3
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseDigits:(Ljava/lang/CharSequence;ZI[I)Z
ifeq 2
1: aload 0
aload 1
iload 2
iconst_3
aload 3
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseDigits:(Ljava/lang/CharSequence;ZI[I)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 3 1 parseText Ljava/lang/CharSequence;
0 3 2 isColon Z
0 3 3 array [I
MethodParameters:
Name Flags
parseText
isColon
array
private boolean parseDigits(java.lang.CharSequence, boolean, int, int[]);
descriptor: (Ljava/lang/CharSequence;ZI[I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iconst_0
iaload
istore 5
start local 5 1: iload 5
ifge 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iload 2
ifeq 7
iload 3
iconst_1
if_icmpeq 7
4: iload 5
iconst_1
iadd
aload 1
invokeinterface java.lang.CharSequence.length:()I
if_icmpgt 5
aload 1
iload 5
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 58
if_icmpeq 6
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 5 1
7: StackMap locals:
StackMap stack:
iload 5
iconst_2
iadd
aload 1
invokeinterface java.lang.CharSequence.length:()I
if_icmple 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6
start local 6 10: aload 1
iload 5
iinc 5 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 7
start local 7 11: iload 6
bipush 48
if_icmplt 12
iload 6
bipush 57
if_icmpgt 12
iload 7
bipush 48
if_icmplt 12
iload 7
bipush 57
if_icmple 13
12: StackMap locals: int int
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iload 6
bipush 48
isub
bipush 10
imul
iload 7
bipush 48
isub
iadd
istore 8
start local 8 14: iload 8
iflt 15
iload 8
bipush 59
if_icmple 16
15: StackMap locals: int
StackMap stack:
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 4
iload 3
iload 8
iastore
17: aload 4
iconst_0
iload 5
iastore
18: iconst_1
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 19 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 19 1 parseText Ljava/lang/CharSequence;
0 19 2 isColon Z
0 19 3 arrayIndex I
0 19 4 array [I
1 19 5 pos I
10 19 6 ch1 C
11 19 7 ch2 C
14 19 8 value I
MethodParameters:
Name Flags
parseText
isColon
arrayIndex
array
private void parseVariableWidthDigits(java.lang.CharSequence, int, int, int[]);
descriptor: (Ljava/lang/CharSequence;II[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iconst_0
iaload
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iload 3
newarray 5
astore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 14
5: StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.lang.CharSequence int int int[] int int char[] int
StackMap stack:
iload 5
iconst_1
iadd
aload 1
invokeinterface java.lang.CharSequence.length:()I
if_icmple 7
6: goto 15
7: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 9
start local 9 8: iload 9
bipush 48
if_icmplt 9
iload 9
bipush 57
if_icmple 11
9: StackMap locals: int
StackMap stack:
iinc 5 -1
10: goto 15
11: StackMap locals:
StackMap stack:
aload 7
iload 8
iload 9
castore
12: iinc 6 1
end local 9 13: iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
iload 3
if_icmplt 5
end local 8 15: StackMap locals:
StackMap stack:
iload 6
iload 2
if_icmpge 18
16: aload 4
iconst_0
aload 4
iconst_0
iaload
iconst_m1
ixor
iastore
17: return
18: StackMap locals:
StackMap stack:
iload 6
tableswitch { // 1 - 6
1: 19
2: 21
3: 23
4: 26
5: 29
6: 33
default: 36
}
19: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
iastore
20: goto 36
21: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_1
caload
bipush 48
isub
iadd
iastore
22: goto 36
23: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
iastore
24: aload 4
iconst_2
aload 7
iconst_1
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_2
caload
bipush 48
isub
iadd
iastore
25: goto 36
26: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_1
caload
bipush 48
isub
iadd
iastore
27: aload 4
iconst_2
aload 7
iconst_2
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_3
caload
bipush 48
isub
iadd
iastore
28: goto 36
29: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
iastore
30: aload 4
iconst_2
aload 7
iconst_1
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_2
caload
bipush 48
isub
iadd
iastore
31: aload 4
iconst_3
aload 7
iconst_3
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_4
caload
bipush 48
isub
iadd
iastore
32: goto 36
33: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 7
iconst_0
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_1
caload
bipush 48
isub
iadd
iastore
34: aload 4
iconst_2
aload 7
iconst_2
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_3
caload
bipush 48
isub
iadd
iastore
35: aload 4
iconst_3
aload 7
iconst_4
caload
bipush 48
isub
bipush 10
imul
aload 7
iconst_5
caload
bipush 48
isub
iadd
iastore
36: StackMap locals:
StackMap stack:
aload 4
iconst_0
iload 5
iastore
37: return
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 38 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 38 1 parseText Ljava/lang/CharSequence;
0 38 2 minDigits I
0 38 3 maxDigits I
0 38 4 array [I
1 38 5 pos I
2 38 6 available I
3 38 7 chars [C
4 15 8 i I
8 13 9 ch C
MethodParameters:
Name Flags
parseText
minDigits
maxDigits
array
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
ldc "'"
ldc "''"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
ldc "Offset("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.PATTERNS:[Ljava/lang/String;
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "')"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
1 2 1 converted Ljava/lang/String;
}
SourceFile: "DateTimeFormatterBuilder.java"
NestHost: java.time.format.DateTimeFormatterBuilder
InnerClasses:
abstract DateTimePrinterParser = java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser of java.time.format.DateTimeFormatterBuilder
final OffsetIdPrinterParser = java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser of java.time.format.DateTimeFormatterBuilder