final class java.time.format.DateTimePrintContext
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.time.format.DateTimePrintContext
super_class: java.lang.Object
{
private java.time.temporal.TemporalAccessor temporal;
descriptor: Ljava/time/temporal/TemporalAccessor;
flags: (0x0002) ACC_PRIVATE
private java.time.format.DateTimeFormatter formatter;
descriptor: Ljava/time/format/DateTimeFormatter;
flags: (0x0002) ACC_PRIVATE
private int optional;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(java.time.temporal.TemporalAccessor, java.time.format.DateTimeFormatter);
descriptor: (Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)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 0
aload 1
aload 2
invokestatic java.time.format.DateTimePrintContext.adjust:(Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)Ljava/time/temporal/TemporalAccessor;
putfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
2: aload 0
aload 2
putfield java.time.format.DateTimePrintContext.formatter:Ljava/time/format/DateTimeFormatter;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/format/DateTimePrintContext;
0 4 1 temporal Ljava/time/temporal/TemporalAccessor;
0 4 2 formatter Ljava/time/format/DateTimeFormatter;
MethodParameters:
Name Flags
temporal
formatter
private static java.time.temporal.TemporalAccessor adjust(java.time.temporal.TemporalAccessor, java.time.format.DateTimeFormatter);
descriptor: (Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)Ljava/time/temporal/TemporalAccessor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.time.format.DateTimeFormatter.getChronology:()Ljava/time/chrono/Chronology;
astore 2
start local 2 1: aload 1
invokevirtual java.time.format.DateTimeFormatter.getZone:()Ljava/time/ZoneId;
astore 3
start local 3 2: aload 2
ifnonnull 4
aload 3
ifnonnull 4
3: aload 0
areturn
4: StackMap locals: java.time.chrono.Chronology java.time.ZoneId
StackMap stack:
aload 0
invokestatic java.time.temporal.TemporalQueries.chronology:()Ljava/time/temporal/TemporalQuery;
invokeinterface java.time.temporal.TemporalAccessor.query:(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
checkcast java.time.chrono.Chronology
astore 4
start local 4 5: aload 0
invokestatic java.time.temporal.TemporalQueries.zoneId:()Ljava/time/temporal/TemporalQuery;
invokeinterface java.time.temporal.TemporalAccessor.query:(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
checkcast java.time.ZoneId
astore 5
start local 5 6: aload 2
aload 4
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 8
7: aconst_null
astore 2
8: StackMap locals: java.time.chrono.Chronology java.time.ZoneId
StackMap stack:
aload 3
aload 5
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 10
9: aconst_null
astore 3
10: StackMap locals:
StackMap stack:
aload 2
ifnonnull 12
aload 3
ifnonnull 12
11: aload 0
areturn
12: StackMap locals:
StackMap stack:
aload 2
ifnull 13
aload 2
goto 14
StackMap locals:
StackMap stack:
13: aload 4
StackMap locals:
StackMap stack: java.time.chrono.Chronology
14: astore 6
start local 6 15: aload 3
ifnull 25
16: aload 0
getstatic java.time.temporal.ChronoField.INSTANT_SECONDS:Ljava/time/temporal/ChronoField;
invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
ifeq 19
17: aload 6
getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
invokestatic java.util.Objects.requireNonNullElse:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.time.chrono.Chronology
astore 7
start local 7 18: aload 7
aload 0
invokestatic java.time.Instant.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
aload 3
invokeinterface java.time.chrono.Chronology.zonedDateTime:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
areturn
end local 7 19: StackMap locals: java.time.chrono.Chronology
StackMap stack:
aload 3
invokevirtual java.time.ZoneId.normalized:()Ljava/time/ZoneId;
instanceof java.time.ZoneOffset
ifeq 25
aload 0
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
ifeq 25
20: aload 0
getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
aload 3
invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
if_icmpeq 25
21: new java.time.DateTimeException
dup
new java.lang.StringBuilder
dup
ldc "Unable to apply override zone '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: ldc "' because the temporal object being formatted has a different offset but"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc " does not represent an instant: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 3
ifnull 26
aload 3
goto 27
StackMap locals:
StackMap stack:
26: aload 5
StackMap locals:
StackMap stack: java.time.ZoneId
27: astore 7
start local 7 28: aload 2
ifnull 44
29: aload 0
getstatic java.time.temporal.ChronoField.EPOCH_DAY:Ljava/time/temporal/ChronoField;
invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
ifeq 32
30: aload 6
aload 0
invokeinterface java.time.chrono.Chronology.date:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;
astore 8
start local 8 31: goto 45
end local 8 32: StackMap locals: java.time.ZoneId
StackMap stack:
aload 2
getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
if_acmpne 33
aload 4
ifnull 42
33: StackMap locals:
StackMap stack:
invokestatic java.time.temporal.ChronoField.values:()[Ljava/time/temporal/ChronoField;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 41
StackMap locals: java.time.temporal.TemporalAccessor java.time.format.DateTimeFormatter java.time.chrono.Chronology java.time.ZoneId java.time.chrono.Chronology java.time.ZoneId java.time.chrono.Chronology java.time.ZoneId top top int int java.time.temporal.ChronoField[]
StackMap stack:
34: aload 12
iload 10
aaload
astore 9
start local 9 35: aload 9
invokevirtual java.time.temporal.ChronoField.isDateBased:()Z
ifeq 40
aload 0
aload 9
invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
ifeq 40
36: new java.time.DateTimeException
dup
new java.lang.StringBuilder
dup
ldc "Unable to apply override chronology '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
37: ldc "' because the temporal object being formatted contains date fields but"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: ldc " does not represent a whole date: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
athrow
end local 9 40: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
41: iload 10
iload 11
if_icmplt 34
42: StackMap locals: java.time.temporal.TemporalAccessor java.time.format.DateTimeFormatter java.time.chrono.Chronology java.time.ZoneId java.time.chrono.Chronology java.time.ZoneId java.time.chrono.Chronology java.time.ZoneId
StackMap stack:
aconst_null
astore 8
start local 8 43: goto 45
end local 8 44: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 45: StackMap locals: java.time.chrono.ChronoLocalDate
StackMap stack:
new java.time.format.DateTimePrintContext$1
dup
aload 8
aload 0
aload 6
aload 7
invokespecial java.time.format.DateTimePrintContext$1.<init>:(Ljava/time/chrono/ChronoLocalDate;Ljava/time/temporal/TemporalAccessor;Ljava/time/chrono/Chronology;Ljava/time/ZoneId;)V
areturn
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 46 0 temporal Ljava/time/temporal/TemporalAccessor;
0 46 1 formatter Ljava/time/format/DateTimeFormatter;
1 46 2 overrideChrono Ljava/time/chrono/Chronology;
2 46 3 overrideZone Ljava/time/ZoneId;
5 46 4 temporalChrono Ljava/time/chrono/Chronology;
6 46 5 temporalZone Ljava/time/ZoneId;
15 46 6 effectiveChrono Ljava/time/chrono/Chronology;
18 19 7 chrono Ljava/time/chrono/Chronology;
28 46 7 effectiveZone Ljava/time/ZoneId;
31 32 8 effectiveDate Ljava/time/chrono/ChronoLocalDate;
43 44 8 effectiveDate Ljava/time/chrono/ChronoLocalDate;
45 46 8 effectiveDate Ljava/time/chrono/ChronoLocalDate;
35 40 9 f Ljava/time/temporal/ChronoField;
MethodParameters:
Name Flags
temporal final
formatter
java.time.temporal.TemporalAccessor getTemporal();
descriptor: ()Ljava/time/temporal/TemporalAccessor;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/format/DateTimePrintContext;
java.util.Locale getLocale();
descriptor: ()Ljava/util/Locale;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimePrintContext.formatter:Ljava/time/format/DateTimeFormatter;
invokevirtual java.time.format.DateTimeFormatter.getLocale:()Ljava/util/Locale;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/format/DateTimePrintContext;
java.time.format.DecimalStyle getDecimalStyle();
descriptor: ()Ljava/time/format/DecimalStyle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimePrintContext.formatter:Ljava/time/format/DateTimeFormatter;
invokevirtual java.time.format.DateTimeFormatter.getDecimalStyle:()Ljava/time/format/DecimalStyle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/format/DateTimePrintContext;
void startOptional();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield java.time.format.DateTimePrintContext.optional:I
iconst_1
iadd
putfield java.time.format.DateTimePrintContext.optional:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/format/DateTimePrintContext;
void endOptional();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield java.time.format.DateTimePrintContext.optional:I
iconst_1
isub
putfield java.time.format.DateTimePrintContext.optional:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/format/DateTimePrintContext;
<R> R getValue(java.time.temporal.TemporalQuery<R>);
descriptor: (Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
aload 1
invokeinterface java.time.temporal.TemporalAccessor.query:(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 5
aload 0
getfield java.time.format.DateTimePrintContext.optional:I
ifne 5
2: new java.time.DateTimeException
dup
new java.lang.StringBuilder
dup
ldc "Unable to extract "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from temporal "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/time/format/DateTimePrintContext;
0 6 1 query Ljava/time/temporal/TemporalQuery<TR;>;
1 6 2 result TR;
Signature: <R:Ljava/lang/Object;>(Ljava/time/temporal/TemporalQuery<TR;>;)TR;
MethodParameters:
Name Flags
query
java.lang.Long getValue(java.time.temporal.TemporalField);
descriptor: (Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.format.DateTimePrintContext.optional:I
ifle 2
aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
aload 1
invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
aload 1
invokeinterface java.time.temporal.TemporalAccessor.getLong:(Ljava/time/temporal/TemporalField;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/time/format/DateTimePrintContext;
0 3 1 field Ljava/time/temporal/TemporalField;
MethodParameters:
Name Flags
field
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.format.DateTimePrintContext.temporal:Ljava/time/temporal/TemporalAccessor;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/format/DateTimePrintContext;
}
SourceFile: "DateTimePrintContext.java"
NestMembers:
java.time.format.DateTimePrintContext$1
InnerClasses:
java.time.format.DateTimePrintContext$1