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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 9
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
2: putstatic java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.PATTERNS:[Ljava/lang/String;
3: 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;
4: 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 2
putfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.noOffsetText:Ljava/lang/String;
5: return
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 pattern Ljava/lang/String;
0 6 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
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=3, 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 31
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;
15: iload 5
bipush 10
idiv
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 5
bipush 10
irem
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_3
if_icmpge 17
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_1
if_icmplt 28
iload 6
ifle 28
17: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_2
irem
ifne 18
ldc ":"
goto 19
StackMap locals:
StackMap stack: java.lang.StringBuilder
18: 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
19: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: iload 6
bipush 10
idiv
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 6
bipush 10
irem
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: iload 9
iload 6
iadd
istore 9
22: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
bipush 7
if_icmpge 23
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_5
if_icmplt 28
iload 7
ifle 28
23: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_2
irem
ifne 24
ldc ":"
goto 25
StackMap locals:
StackMap stack: java.lang.StringBuilder
24: 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
25: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: iload 7
bipush 10
idiv
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 7
bipush 10
irem
bipush 48
iadd
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: iload 9
iload 7
iadd
istore 9
28: StackMap locals:
StackMap stack:
iload 9
ifne 31
29: aload 2
iload 8
invokevirtual java.lang.StringBuilder.setLength:(I)V
30: 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 31: 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 32 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 32 1 context Ljava/time/format/DateTimePrintContext;
0 32 2 buf Ljava/lang/StringBuilder;
1 32 3 offsetSecs Ljava/lang/Long;
4 32 4 totalSecs I
8 31 5 absHours I
9 31 6 absMinutes I
10 31 7 absSeconds I
11 31 8 bufPos I
12 31 9 output I
MethodParameters:
Name Flags
context
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=11, 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 23
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: iconst_4
newarray 10
astore 8
start local 8 15: aload 8
iconst_0
iload 3
iconst_1
iadd
iastore
16: aload 0
aload 8
iconst_1
aload 2
iconst_1
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseNumber:([IILjava/lang/CharSequence;Z)Z
ifne 23
17: aload 0
aload 8
iconst_2
aload 2
aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_3
if_icmplt 18
iconst_1
goto 19
StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimeParseContext java.lang.CharSequence int int int int int int[]
StackMap stack: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser int[] int java.lang.CharSequence
18: iconst_0
StackMap locals: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser java.time.format.DateTimeParseContext java.lang.CharSequence int int int int int int[]
StackMap stack: java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser int[] int java.lang.CharSequence int
19: invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseNumber:([IILjava/lang/CharSequence;Z)Z
ifne 23
20: aload 0
aload 8
iconst_3
aload 2
iconst_0
invokevirtual java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.parseNumber:([IILjava/lang/CharSequence;Z)Z
ifne 23
21: iload 7
i2l
aload 8
iconst_1
iaload
i2l
ldc 3600
lmul
aload 8
iconst_2
iaload
i2l
ldc 60
lmul
ladd
aload 8
iconst_3
iaload
i2l
ladd
lmul
lstore 9
start local 9 22: aload 1
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
lload 9
iload 3
aload 8
iconst_0
iaload
invokevirtual java.time.format.DateTimeParseContext.setParsedField:(Ljava/time/temporal/TemporalField;JII)I
ireturn
end local 9 end local 8 end local 7 23: StackMap locals:
StackMap stack:
iload 5
ifne 25
24: 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
25: 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 26 0 this Ljava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;
0 26 1 context Ljava/time/format/DateTimeParseContext;
0 26 2 text Ljava/lang/CharSequence;
0 26 3 position I
1 26 4 length I
2 26 5 noOffsetLen I
10 26 6 sign C
14 23 7 negative I
15 23 8 array [I
22 23 9 offsetSecs J
MethodParameters:
Name Flags
context
text
position
private boolean parseNumber(int[], int, java.lang.CharSequence, boolean);
descriptor: ([IILjava/lang/CharSequence;Z)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 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_3
iadd
iconst_2
idiv
iload 2
if_icmpge 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
iaload
istore 5
start local 5 3: aload 0
getfield java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.type:I
iconst_2
irem
ifne 7
iload 2
iconst_1
if_icmple 7
4: iload 5
iconst_1
iadd
aload 3
invokeinterface java.lang.CharSequence.length:()I
if_icmpgt 5
aload 3
iload 5
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 58
if_icmpeq 6
5: StackMap locals: int
StackMap stack:
iload 4
ireturn
6: StackMap locals:
StackMap stack:
iinc 5 1
7: StackMap locals:
StackMap stack:
iload 5
iconst_2
iadd
aload 3
invokeinterface java.lang.CharSequence.length:()I
if_icmple 9
8: iload 4
ireturn
9: StackMap locals:
StackMap stack:
aload 3
iload 5
iinc 5 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6
start local 6 10: aload 3
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:
iload 4
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:
iload 4
ireturn
16: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 8
iastore
17: aload 1
iconst_0
iload 5
iastore
18: iconst_0
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 array [I
0 19 2 arrayIndex I
0 19 3 parseText Ljava/lang/CharSequence;
0 19 4 required Z
3 19 5 pos I
10 19 6 ch1 C
11 19 7 ch2 C
14 19 8 value I
MethodParameters:
Name Flags
array
arrayIndex
parseText
required
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