public final class java.time.temporal.WeekFields implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.time.temporal.WeekFields
super_class: java.lang.Object
{
private static final java.util.concurrent.ConcurrentMap<java.lang.String, java.time.temporal.WeekFields> CACHE;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/time/temporal/WeekFields;>;
public static final java.time.temporal.WeekFields ISO;
descriptor: Ljava/time/temporal/WeekFields;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.time.temporal.WeekFields SUNDAY_START;
descriptor: Ljava/time/temporal/WeekFields;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS;
descriptor: Ljava/time/temporal/TemporalUnit;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1177360819670808121
private final java.time.DayOfWeek firstDayOfWeek;
descriptor: Ljava/time/DayOfWeek;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int minimalDays;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final transient java.time.temporal.TemporalField dayOfWeek;
descriptor: Ljava/time/temporal/TemporalField;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.time.temporal.TemporalField weekOfMonth;
descriptor: Ljava/time/temporal/TemporalField;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.time.temporal.TemporalField weekOfYear;
descriptor: Ljava/time/temporal/TemporalField;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.time.temporal.TemporalField weekOfWeekBasedYear;
descriptor: Ljava/time/temporal/TemporalField;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.time.temporal.TemporalField weekBasedYear;
descriptor: Ljava/time/temporal/TemporalField;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
iconst_4
ldc 0.75
iconst_2
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
putstatic java.time.temporal.WeekFields.CACHE:Ljava/util/concurrent/ConcurrentMap;
1: new java.time.temporal.WeekFields
dup
getstatic java.time.DayOfWeek.MONDAY:Ljava/time/DayOfWeek;
iconst_4
invokespecial java.time.temporal.WeekFields.<init>:(Ljava/time/DayOfWeek;I)V
putstatic java.time.temporal.WeekFields.ISO:Ljava/time/temporal/WeekFields;
2: getstatic java.time.DayOfWeek.SUNDAY:Ljava/time/DayOfWeek;
iconst_1
invokestatic java.time.temporal.WeekFields.of:(Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;
putstatic java.time.temporal.WeekFields.SUNDAY_START:Ljava/time/temporal/WeekFields;
3: getstatic java.time.temporal.IsoFields.WEEK_BASED_YEARS:Ljava/time/temporal/TemporalUnit;
putstatic java.time.temporal.WeekFields.WEEK_BASED_YEARS:Ljava/time/temporal/TemporalUnit;
4: return
LocalVariableTable:
Start End Slot Name Signature
public static java.time.temporal.WeekFields of(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/time/temporal/WeekFields;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ldc "locale"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
invokestatic sun.util.locale.provider.CalendarDataUtility.retrieveFirstDayOfWeek:(Ljava/util/Locale;)I
istore 1
start local 1 2: getstatic java.time.DayOfWeek.SUNDAY:Ljava/time/DayOfWeek;
iload 1
iconst_1
isub
i2l
invokevirtual java.time.DayOfWeek.plus:(J)Ljava/time/DayOfWeek;
astore 2
start local 2 3: aload 0
invokestatic sun.util.locale.provider.CalendarDataUtility.retrieveMinimalDaysInFirstWeek:(Ljava/util/Locale;)I
istore 3
start local 3 4: aload 2
iload 3
invokestatic java.time.temporal.WeekFields.of:(Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 locale Ljava/util/Locale;
2 5 1 calDow I
3 5 2 dow Ljava/time/DayOfWeek;
4 5 3 minDays I
MethodParameters:
Name Flags
locale
public static java.time.temporal.WeekFields of(java.time.DayOfWeek, int);
descriptor: (Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.time.DayOfWeek.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: getstatic java.time.temporal.WeekFields.CACHE:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.time.temporal.WeekFields
astore 3
start local 3 2: aload 3
ifnonnull 6
3: new java.time.temporal.WeekFields
dup
aload 0
iload 1
invokespecial java.time.temporal.WeekFields.<init>:(Ljava/time/DayOfWeek;I)V
astore 3
4: getstatic java.time.temporal.WeekFields.CACHE:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic java.time.temporal.WeekFields.CACHE:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.time.temporal.WeekFields
astore 3
6: StackMap locals: java.lang.String java.time.temporal.WeekFields
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 firstDayOfWeek Ljava/time/DayOfWeek;
0 7 1 minimalDaysInFirstWeek I
1 7 2 key Ljava/lang/String;
2 7 3 rules Ljava/time/temporal/WeekFields;
MethodParameters:
Name Flags
firstDayOfWeek
minimalDaysInFirstWeek
private void <init>(java.time.DayOfWeek, int);
descriptor: (Ljava/time/DayOfWeek;I)V
flags: (0x0002) ACC_PRIVATE
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 0
invokestatic java.time.temporal.WeekFields$ComputedDayOfField.ofDayOfWeekField:(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
putfield java.time.temporal.WeekFields.dayOfWeek:Ljava/time/temporal/TemporalField;
2: aload 0
aload 0
invokestatic java.time.temporal.WeekFields$ComputedDayOfField.ofWeekOfMonthField:(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
putfield java.time.temporal.WeekFields.weekOfMonth:Ljava/time/temporal/TemporalField;
3: aload 0
aload 0
invokestatic java.time.temporal.WeekFields$ComputedDayOfField.ofWeekOfYearField:(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
putfield java.time.temporal.WeekFields.weekOfYear:Ljava/time/temporal/TemporalField;
4: aload 0
aload 0
invokestatic java.time.temporal.WeekFields$ComputedDayOfField.ofWeekOfWeekBasedYearField:(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
putfield java.time.temporal.WeekFields.weekOfWeekBasedYear:Ljava/time/temporal/TemporalField;
5: aload 0
aload 0
invokestatic java.time.temporal.WeekFields$ComputedDayOfField.ofWeekBasedYearField:(Ljava/time/temporal/WeekFields;)Ljava/time/temporal/WeekFields$ComputedDayOfField;
putfield java.time.temporal.WeekFields.weekBasedYear:Ljava/time/temporal/TemporalField;
6: aload 1
ldc "firstDayOfWeek"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
7: iload 2
iconst_1
if_icmplt 8
iload 2
bipush 7
if_icmple 9
8: StackMap locals: java.time.temporal.WeekFields java.time.DayOfWeek int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Minimal number of days is invalid"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
10: aload 0
iload 2
putfield java.time.temporal.WeekFields.minimalDays:I
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/time/temporal/WeekFields;
0 12 1 firstDayOfWeek Ljava/time/DayOfWeek;
0 12 2 minimalDaysInFirstWeek I
MethodParameters:
Name Flags
firstDayOfWeek
minimalDaysInFirstWeek
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
ifnonnull 3
2: new java.io.InvalidObjectException
dup
ldc "firstDayOfWeek is null"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
iconst_1
if_icmplt 4
aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
bipush 7
if_icmple 5
4: StackMap locals:
StackMap stack:
new java.io.InvalidObjectException
dup
ldc "Minimal number of days is invalid"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/time/temporal/WeekFields;
0 6 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException, java.io.InvalidObjectException
MethodParameters:
Name Flags
s
private java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
invokestatic java.time.temporal.WeekFields.of:(Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 1
start local 1 3: new java.io.InvalidObjectException
dup
new java.lang.StringBuilder
dup
ldc "Invalid serialized WeekFields: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/temporal/WeekFields;
3 4 1 iae Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.InvalidObjectException
public java.time.DayOfWeek getFirstDayOfWeek();
descriptor: ()Ljava/time/DayOfWeek;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public int getMinimalDaysInFirstWeek();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.time.temporal.TemporalField dayOfWeek();
descriptor: ()Ljava/time/temporal/TemporalField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.dayOfWeek:Ljava/time/temporal/TemporalField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.time.temporal.TemporalField weekOfMonth();
descriptor: ()Ljava/time/temporal/TemporalField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.weekOfMonth:Ljava/time/temporal/TemporalField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.time.temporal.TemporalField weekOfYear();
descriptor: ()Ljava/time/temporal/TemporalField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.weekOfYear:Ljava/time/temporal/TemporalField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.time.temporal.TemporalField weekOfWeekBasedYear();
descriptor: ()Ljava/time/temporal/TemporalField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.weekOfWeekBasedYear:Ljava/time/temporal/TemporalField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.time.temporal.TemporalField weekBasedYear();
descriptor: ()Ljava/time/temporal/TemporalField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.weekBasedYear:Ljava/time/temporal/TemporalField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.time.temporal.WeekFields
ifeq 5
3: aload 0
invokevirtual java.time.temporal.WeekFields.hashCode:()I
aload 1
invokevirtual java.lang.Object.hashCode:()I
if_icmpne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/time/temporal/WeekFields;
0 6 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.ordinal:()I
bipush 7
imul
aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "WeekFields["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.time.temporal.WeekFields.firstDayOfWeek:Ljava/time/DayOfWeek;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield java.time.temporal.WeekFields.minimalDays:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/temporal/WeekFields;
}
SourceFile: "WeekFields.java"
NestMembers:
java.time.temporal.WeekFields$ComputedDayOfField
InnerClasses:
ComputedDayOfField = java.time.temporal.WeekFields$ComputedDayOfField of java.time.temporal.WeekFields