public class java.util.GregorianCalendar extends java.util.Calendar
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.GregorianCalendar
super_class: java.util.Calendar
{
public static final int BC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int BCE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int AD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int CE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int EPOCH_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 719163
private static final int EPOCH_YEAR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1970
static final int[] MONTH_LENGTH;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] LEAP_MONTH_LENGTH;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int ONE_SECOND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private static final int ONE_MINUTE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60000
private static final int ONE_HOUR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3600000
private static final long ONE_DAY;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 86400000
private static final long ONE_WEEK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 604800000
static final int[] MIN_VALUES;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] LEAST_MAX_VALUES;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] MAX_VALUES;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -8125100834729963327
private static final sun.util.calendar.Gregorian gcal;
descriptor: Lsun/util/calendar/Gregorian;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.util.calendar.JulianCalendar jcal;
descriptor: Lsun/util/calendar/JulianCalendar;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.util.calendar.Era[] jeras;
descriptor: [Lsun/util/calendar/Era;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final long DEFAULT_GREGORIAN_CUTOVER;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -12219292800000
private long gregorianCutover;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private transient long gregorianCutoverDate;
descriptor: J
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int gregorianCutoverYear;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int gregorianCutoverYearJulian;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.util.calendar.BaseCalendar$Date gdate;
descriptor: Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.util.calendar.BaseCalendar$Date cdate;
descriptor: Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.util.calendar.BaseCalendar calsys;
descriptor: Lsun/util/calendar/BaseCalendar;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int[] zoneOffsets;
descriptor: [I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int[] originalFields;
descriptor: [I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient long cachedFixedDate;
descriptor: J
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Ljava/util/GregorianCalendar;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.GregorianCalendar.$assertionsDisabled:Z
3: bipush 12
newarray 10
dup
iconst_0
bipush 31
iastore
dup
iconst_1
bipush 28
iastore
dup
iconst_2
bipush 31
iastore
dup
iconst_3
bipush 30
iastore
dup
iconst_4
bipush 31
iastore
dup
iconst_5
bipush 30
iastore
dup
bipush 6
bipush 31
iastore
dup
bipush 7
bipush 31
iastore
dup
bipush 8
bipush 30
iastore
dup
bipush 9
bipush 31
iastore
dup
bipush 10
bipush 30
iastore
dup
bipush 11
bipush 31
iastore
4: putstatic java.util.GregorianCalendar.MONTH_LENGTH:[I
5: bipush 12
newarray 10
dup
iconst_0
bipush 31
iastore
dup
iconst_1
bipush 29
iastore
dup
iconst_2
bipush 31
iastore
dup
iconst_3
bipush 30
iastore
dup
iconst_4
bipush 31
iastore
dup
iconst_5
bipush 30
iastore
dup
bipush 6
bipush 31
iastore
dup
bipush 7
bipush 31
iastore
dup
bipush 8
bipush 30
iastore
dup
bipush 9
bipush 31
iastore
dup
bipush 10
bipush 30
iastore
dup
bipush 11
bipush 31
iastore
6: putstatic java.util.GregorianCalendar.LEAP_MONTH_LENGTH:[I
7: bipush 17
newarray 10
dup
iconst_1
8: iconst_1
iastore
dup
iconst_3
9: iconst_1
iastore
dup
iconst_5
10: iconst_1
iastore
dup
bipush 6
11: iconst_1
iastore
dup
bipush 7
12: iconst_1
iastore
dup
bipush 8
13: iconst_1
iastore
dup
bipush 15
14: ldc -46800000
iastore
15: putstatic java.util.GregorianCalendar.MIN_VALUES:[I
16: bipush 17
newarray 10
dup
iconst_0
17: iconst_1
iastore
dup
iconst_1
18: ldc 292269054
iastore
dup
iconst_2
19: bipush 11
iastore
dup
iconst_3
20: bipush 52
iastore
dup
iconst_4
21: iconst_4
iastore
dup
iconst_5
22: bipush 28
iastore
dup
bipush 6
23: sipush 365
iastore
dup
bipush 7
24: bipush 7
iastore
dup
bipush 8
25: iconst_4
iastore
dup
bipush 9
26: iconst_1
iastore
dup
bipush 10
27: bipush 11
iastore
dup
bipush 11
28: bipush 23
iastore
dup
bipush 12
29: bipush 59
iastore
dup
bipush 13
30: bipush 59
iastore
dup
bipush 14
31: sipush 999
iastore
dup
bipush 15
32: ldc 50400000
iastore
dup
bipush 16
33: ldc 1200000
iastore
34: putstatic java.util.GregorianCalendar.LEAST_MAX_VALUES:[I
35: bipush 17
newarray 10
dup
iconst_0
36: iconst_1
iastore
dup
iconst_1
37: ldc 292278994
iastore
dup
iconst_2
38: bipush 11
iastore
dup
iconst_3
39: bipush 53
iastore
dup
iconst_4
40: bipush 6
iastore
dup
iconst_5
41: bipush 31
iastore
dup
bipush 6
42: sipush 366
iastore
dup
bipush 7
43: bipush 7
iastore
dup
bipush 8
44: bipush 6
iastore
dup
bipush 9
45: iconst_1
iastore
dup
bipush 10
46: bipush 11
iastore
dup
bipush 11
47: bipush 23
iastore
dup
bipush 12
48: bipush 59
iastore
dup
bipush 13
49: bipush 59
iastore
dup
bipush 14
50: sipush 999
iastore
dup
bipush 15
51: ldc 50400000
iastore
dup
bipush 16
52: ldc 7200000
iastore
53: putstatic java.util.GregorianCalendar.MAX_VALUES:[I
54: invokestatic sun.util.calendar.CalendarSystem.getGregorianCalendar:()Lsun/util/calendar/Gregorian;
55: putstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
56: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.TimeZone.getDefaultRef:()Ljava/util/TimeZone;
getstatic java.util.Locale$Category.FORMAT:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
1: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.setZoneShared:(Z)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
public void <init>(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.util.Locale$Category.FORMAT:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/GregorianCalendar;
0 2 1 zone Ljava/util/TimeZone;
MethodParameters:
Name Flags
zone
public void <init>(java.util.Locale);
descriptor: (Ljava/util/Locale;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.TimeZone.getDefaultRef:()Ljava/util/TimeZone;
aload 1
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
1: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.setZoneShared:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
0 3 1 aLocale Ljava/util/Locale;
MethodParameters:
Name Flags
aLocale
public void <init>(java.util.TimeZone, java.util.Locale);
descriptor: (Ljava/util/TimeZone;Ljava/util/Locale;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial java.util.Calendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
1: aload 0
ldc -12219292800000
putfield java.util.GregorianCalendar.gregorianCutover:J
2: aload 0
3: ldc 577736
putfield java.util.GregorianCalendar.gregorianCutoverDate:J
4: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYear:I
5: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
6: aload 0
ldc -9223372036854775808
putfield java.util.GregorianCalendar.cachedFixedDate:J
7: aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 1
invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
putfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
8: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/GregorianCalendar;
0 10 1 zone Ljava/util/TimeZone;
0 10 2 aLocale Ljava/util/Locale;
MethodParameters:
Name Flags
zone
aLocale
public void <init>(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iload 3
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.util.GregorianCalendar.<init>:(IIIIIII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/GregorianCalendar;
0 2 1 year I
0 2 2 month I
0 2 3 dayOfMonth I
MethodParameters:
Name Flags
year
month
dayOfMonth
public void <init>(int, int, int, int, int);
descriptor: (IIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
iconst_0
iconst_0
invokespecial java.util.GregorianCalendar.<init>:(IIIIIII)V
1: return
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 2 0 this Ljava/util/GregorianCalendar;
0 2 1 year I
0 2 2 month I
0 2 3 dayOfMonth I
0 2 4 hourOfDay I
0 2 5 minute I
MethodParameters:
Name Flags
year
month
dayOfMonth
hourOfDay
minute
public void <init>(int, int, int, int, int, int);
descriptor: (IIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
iload 6
iconst_0
invokespecial java.util.GregorianCalendar.<init>:(IIIIIII)V
1: return
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 2 0 this Ljava/util/GregorianCalendar;
0 2 1 year I
0 2 2 month I
0 2 3 dayOfMonth I
0 2 4 hourOfDay I
0 2 5 minute I
0 2 6 second I
MethodParameters:
Name Flags
year
month
dayOfMonth
hourOfDay
minute
second
void <init>(int, int, int, int, int, int, int);
descriptor: (IIIIIII)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.util.Calendar.<init>:()V
1: aload 0
ldc -12219292800000
putfield java.util.GregorianCalendar.gregorianCutover:J
2: aload 0
3: ldc 577736
putfield java.util.GregorianCalendar.gregorianCutoverDate:J
4: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYear:I
5: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
6: aload 0
ldc -9223372036854775808
putfield java.util.GregorianCalendar.cachedFixedDate:J
7: aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
putfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
8: aload 0
iconst_1
iload 1
invokevirtual java.util.GregorianCalendar.set:(II)V
9: aload 0
iconst_2
iload 2
invokevirtual java.util.GregorianCalendar.set:(II)V
10: aload 0
iconst_5
iload 3
invokevirtual java.util.GregorianCalendar.set:(II)V
11: iload 4
bipush 12
if_icmplt 15
iload 4
bipush 23
if_icmpgt 15
12: aload 0
bipush 9
iconst_1
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
13: aload 0
bipush 10
iload 4
bipush 12
isub
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
14: goto 16
15: StackMap locals: java.util.GregorianCalendar int int int int int int int
StackMap stack:
aload 0
bipush 10
iload 4
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
16: StackMap locals:
StackMap stack:
aload 0
sipush 1536
invokevirtual java.util.GregorianCalendar.setFieldsComputed:(I)V
17: aload 0
bipush 11
iload 4
invokevirtual java.util.GregorianCalendar.set:(II)V
18: aload 0
bipush 12
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
19: aload 0
bipush 13
iload 6
invokevirtual java.util.GregorianCalendar.set:(II)V
20: aload 0
bipush 14
iload 7
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
21: 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 22 0 this Ljava/util/GregorianCalendar;
0 22 1 year I
0 22 2 month I
0 22 3 dayOfMonth I
0 22 4 hourOfDay I
0 22 5 minute I
0 22 6 second I
0 22 7 millis I
MethodParameters:
Name Flags
year
month
dayOfMonth
hourOfDay
minute
second
millis
void <init>(java.util.TimeZone, java.util.Locale, boolean);
descriptor: (Ljava/util/TimeZone;Ljava/util/Locale;Z)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial java.util.Calendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
1: aload 0
ldc -12219292800000
putfield java.util.GregorianCalendar.gregorianCutover:J
2: aload 0
3: ldc 577736
putfield java.util.GregorianCalendar.gregorianCutoverDate:J
4: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYear:I
5: aload 0
sipush 1582
putfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
6: aload 0
ldc -9223372036854775808
putfield java.util.GregorianCalendar.cachedFixedDate:J
7: aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
putfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/GregorianCalendar;
0 9 1 zone Ljava/util/TimeZone;
0 9 2 locale Ljava/util/Locale;
0 9 3 flag Z
MethodParameters:
Name Flags
zone
locale
flag
public void setGregorianChange(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Date.getTime:()J
lstore 2
start local 2 1: lload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lcmp
ifne 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.complete:()V
4: aload 0
lload 2
invokevirtual java.util.GregorianCalendar.setGregorianChange:(J)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/GregorianCalendar;
0 6 1 date Ljava/util/Date;
1 6 2 cutoverTime J
MethodParameters:
Name Flags
date
private void setGregorianChange(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield java.util.GregorianCalendar.gregorianCutover:J
1: aload 0
lload 1
ldc 86400000
invokestatic sun.util.calendar.CalendarUtils.floorDivide:(JJ)J
2: ldc 719163
ladd
3: putfield java.util.GregorianCalendar.gregorianCutoverDate:J
4: lload 1
ldc 9223372036854775807
lcmp
ifne 6
5: aload 0
dup
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lconst_1
ladd
putfield java.util.GregorianCalendar.gregorianCutoverDate:J
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getGregorianCutoverDate:()Lsun/util/calendar/BaseCalendar$Date;
astore 3
start local 3 7: aload 0
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
putfield java.util.GregorianCalendar.gregorianCutoverYear:I
8: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 4
start local 4 9: aload 4
getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
checkcast sun.util.calendar.BaseCalendar$Date
astore 3
10: aload 4
aload 3
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lconst_1
lsub
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
11: aload 0
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
putfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
12: aload 0
getfield java.util.GregorianCalendar.time:J
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lcmp
ifge 14
13: aload 0
invokevirtual java.util.GregorianCalendar.setUnnormalized:()V
14: StackMap locals: sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/GregorianCalendar;
0 15 1 cutoverTime J
7 15 3 d Lsun/util/calendar/BaseCalendar$Date;
9 15 4 julianCal Lsun/util/calendar/BaseCalendar;
MethodParameters:
Name Flags
cutoverTime
public final java.util.Date getGregorianChange();
descriptor: ()Ljava/util/Date;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.Date
dup
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
invokespecial java.util.Date.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
public boolean isLeapYear(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iconst_3
iand
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmple 5
3: iload 1
bipush 100
irem
ifne 4
iload 1
sipush 400
irem
ifeq 4
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpge 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 13
8: aload 0
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 3
start local 3 9: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_3
if_icmpge 10
iconst_1
goto 11
StackMap locals: java.util.GregorianCalendar int top sun.util.calendar.BaseCalendar$Date
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 2
end local 3 start local 2 12: goto 16
end local 2 13: StackMap locals: java.util.GregorianCalendar int
StackMap stack:
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 2
start local 2 16: StackMap locals: int
StackMap stack:
iload 2
ifeq 18
iload 1
bipush 100
irem
ifne 17
iload 1
sipush 400
irem
ifeq 17
iconst_0
goto 19
StackMap locals:
StackMap stack:
17: iconst_1
goto 19
StackMap locals:
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/GregorianCalendar;
0 20 1 year I
12 13 2 gregorian Z
16 20 2 gregorian Z
9 12 3 d Lsun/util/calendar/BaseCalendar$Date;
MethodParameters:
Name Flags
year
public java.lang.String getCalendarType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "gregory"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.util.GregorianCalendar
ifeq 4
1: aload 0
aload 1
invokespecial java.util.Calendar.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
aload 1
checkcast java.util.GregorianCalendar
getfield java.util.GregorianCalendar.gregorianCutover:J
lcmp
ifne 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/GregorianCalendar;
0 5 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.Calendar.hashCode:()I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
l2i
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
public void add(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
bipush 15
if_icmplt 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.complete:()V
5: iload 1
iconst_1
if_icmpne 23
6: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 3
start local 3 7: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
iconst_1
if_icmpne 15
8: iload 3
iload 2
iadd
istore 3
9: iload 3
ifle 12
10: aload 0
iconst_1
iload 3
invokevirtual java.util.GregorianCalendar.set:(II)V
11: goto 21
12: StackMap locals: int
StackMap stack:
aload 0
iconst_1
iconst_1
iload 3
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
13: aload 0
iconst_0
iconst_0
invokevirtual java.util.GregorianCalendar.set:(II)V
14: goto 21
15: StackMap locals:
StackMap stack:
iload 3
iload 2
isub
istore 3
16: iload 3
ifle 19
17: aload 0
iconst_1
iload 3
invokevirtual java.util.GregorianCalendar.set:(II)V
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
iconst_1
iconst_1
iload 3
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
20: aload 0
iconst_0
iconst_1
invokevirtual java.util.GregorianCalendar.set:(II)V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.pinDayOfMonth:()V
end local 3 22: goto 104
StackMap locals:
StackMap stack:
23: iload 1
iconst_2
if_icmpne 54
24: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
istore 3
start local 3 25: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 4
start local 4 26: iload 3
iflt 29
27: iload 3
bipush 12
idiv
istore 5
start local 5 28: goto 30
end local 5 29: StackMap locals: int int
StackMap stack:
iload 3
iconst_1
iadd
bipush 12
idiv
iconst_1
isub
istore 5
start local 5 30: StackMap locals: int
StackMap stack:
iload 5
ifeq 45
31: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
iconst_1
if_icmpne 39
32: iload 4
iload 5
iadd
istore 4
33: iload 4
ifle 36
34: aload 0
iconst_1
iload 4
invokevirtual java.util.GregorianCalendar.set:(II)V
35: goto 45
36: StackMap locals:
StackMap stack:
aload 0
iconst_1
iconst_1
iload 4
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
37: aload 0
iconst_0
iconst_0
invokevirtual java.util.GregorianCalendar.set:(II)V
38: goto 45
39: StackMap locals:
StackMap stack:
iload 4
iload 5
isub
istore 4
40: iload 4
ifle 43
41: aload 0
iconst_1
iload 4
invokevirtual java.util.GregorianCalendar.set:(II)V
42: goto 45
43: StackMap locals:
StackMap stack:
aload 0
iconst_1
iconst_1
iload 4
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
44: aload 0
iconst_0
iconst_1
invokevirtual java.util.GregorianCalendar.set:(II)V
45: StackMap locals:
StackMap stack:
iload 3
iflt 48
46: aload 0
iconst_2
iload 3
bipush 12
irem
invokevirtual java.util.GregorianCalendar.set:(II)V
47: goto 52
48: StackMap locals:
StackMap stack:
iload 3
bipush 12
irem
istore 3
49: iload 3
ifge 51
50: iinc 3 12
51: StackMap locals:
StackMap stack:
aload 0
iconst_2
iconst_0
iload 3
iadd
invokevirtual java.util.GregorianCalendar.set:(II)V
52: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.pinDayOfMonth:()V
end local 5 end local 4 end local 3 53: goto 104
StackMap locals:
StackMap stack:
54: iload 1
ifne 62
55: aload 0
iconst_0
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
istore 3
start local 3 56: iload 3
ifge 58
57: iconst_0
istore 3
58: StackMap locals: int
StackMap stack:
iload 3
iconst_1
if_icmple 60
59: iconst_1
istore 3
60: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 3
invokevirtual java.util.GregorianCalendar.set:(II)V
end local 3 61: goto 104
62: StackMap locals:
StackMap stack:
iload 2
i2l
lstore 3
start local 3 63: lconst_0
lstore 5
start local 5 64: iload 1
tableswitch { // 3 - 14
3: 72
4: 72
5: 74
6: 74
7: 74
8: 72
9: 75
10: 65
11: 65
12: 67
13: 69
14: 71
default: 77
}
65: StackMap locals: long long
StackMap stack:
lload 3
ldc 3600000
lmul
lstore 3
66: goto 77
67: StackMap locals:
StackMap stack:
lload 3
ldc 60000
lmul
lstore 3
68: goto 77
69: StackMap locals:
StackMap stack:
lload 3
ldc 1000
lmul
lstore 3
70: goto 77
71: StackMap locals:
StackMap stack:
goto 77
72: StackMap locals:
StackMap stack:
lload 3
ldc 7
lmul
lstore 3
73: goto 77
74: StackMap locals:
StackMap stack:
goto 77
75: StackMap locals:
StackMap stack:
iload 2
iconst_2
idiv
i2l
lstore 3
76: bipush 12
iload 2
iconst_2
irem
imul
i2l
lstore 5
77: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmplt 80
78: aload 0
aload 0
getfield java.util.GregorianCalendar.time:J
lload 3
ladd
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
79: return
80: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 7
start local 7 81: lload 5
aload 0
bipush 11
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
82: lload 5
ldc 60
lmul
lstore 5
83: lload 5
aload 0
bipush 12
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
84: lload 5
ldc 60
lmul
lstore 5
85: lload 5
aload 0
bipush 13
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
86: lload 5
ldc 1000
lmul
lstore 5
87: lload 5
aload 0
bipush 14
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
88: lload 5
ldc 86400000
lcmp
iflt 92
89: lload 7
lconst_1
ladd
lstore 7
90: lload 5
ldc 86400000
lsub
lstore 5
91: goto 95
StackMap locals: long
StackMap stack:
92: lload 5
lconst_0
lcmp
ifge 95
93: lload 7
lconst_1
lsub
lstore 7
94: lload 5
ldc 86400000
ladd
lstore 5
95: StackMap locals:
StackMap stack:
lload 7
lload 3
ladd
lstore 7
96: aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iadd
istore 9
start local 9 97: aload 0
lload 7
ldc 719163
lsub
ldc 86400000
lmul
lload 5
ladd
iload 9
i2l
lsub
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
98: iload 9
aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iadd
isub
istore 9
99: iload 9
ifeq 104
100: aload 0
aload 0
getfield java.util.GregorianCalendar.time:J
iload 9
i2l
ladd
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
101: aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 10
start local 10 102: lload 10
lload 7
lcmp
ifeq 104
103: aload 0
aload 0
getfield java.util.GregorianCalendar.time:J
iload 9
i2l
lsub
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
end local 10 end local 9 end local 7 end local 5 end local 3 104: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Ljava/util/GregorianCalendar;
0 105 1 field I
0 105 2 amount I
7 22 3 year I
25 53 3 month I
26 53 4 year I
28 29 5 y_amount I
30 53 5 y_amount I
56 61 3 era I
63 104 3 delta J
64 104 5 timeOfDay J
81 104 7 fd J
97 104 9 zoneOffset I
102 104 10 fd2 J
MethodParameters:
Name Flags
field
amount
public void roll(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
ifeq 1
iconst_1
goto 2
StackMap locals: java.util.GregorianCalendar int int
StackMap stack: java.util.GregorianCalendar int
1: iconst_m1
StackMap locals: java.util.GregorianCalendar int int
StackMap stack: java.util.GregorianCalendar int int
2: invokevirtual java.util.GregorianCalendar.roll:(II)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/GregorianCalendar;
0 4 1 field I
0 4 2 up Z
MethodParameters:
Name Flags
field
up
public void roll(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=19, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
bipush 15
if_icmplt 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.complete:()V
5: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMinimum:(I)I
istore 3
start local 3 6: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMaximum:(I)I
istore 4
start local 4 7: iload 1
tableswitch { // 0 - 14
0: 8
1: 8
2: 33
3: 51
4: 102
5: 133
6: 143
7: 153
8: 176
9: 8
10: 9
11: 9
12: 8
13: 8
14: 8
default: 204
}
8: StackMap locals: int int
StackMap stack:
goto 204
9: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
istore 5
start local 5 10: iload 5
istore 6
start local 6 11: iload 1
bipush 10
if_icmpne 13
aload 0
bipush 9
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
if_icmpne 13
12: iinc 6 12
13: StackMap locals: int int
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.time:J
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDate:(JLjava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 7
start local 7 14: aload 7
iload 6
invokevirtual sun.util.calendar.CalendarDate.setHours:(I)Lsun/util/calendar/CalendarDate;
pop
15: aload 0
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
putfield java.util.GregorianCalendar.time:J
16: aload 0
bipush 11
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 7
invokevirtual sun.util.calendar.CalendarDate.getHours:()I
if_icmpne 24
17: iload 5
iload 2
ifle 18
iconst_1
goto 19
StackMap locals: java.util.GregorianCalendar int int int int int int sun.util.calendar.CalendarDate
StackMap stack: int
18: iconst_m1
StackMap locals: java.util.GregorianCalendar int int int int int int sun.util.calendar.CalendarDate
StackMap stack: int int
19: iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
istore 6
20: iload 1
bipush 10
if_icmpne 22
aload 0
bipush 9
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
if_icmpne 22
21: iinc 6 12
22: StackMap locals:
StackMap stack:
aload 7
iload 6
invokevirtual sun.util.calendar.CalendarDate.setHours:(I)Lsun/util/calendar/CalendarDate;
pop
23: aload 0
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
putfield java.util.GregorianCalendar.time:J
24: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.util.calendar.CalendarDate.getHours:()I
istore 6
25: aload 0
bipush 11
iload 6
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
26: aload 0
bipush 9
iload 6
bipush 12
idiv
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
27: aload 0
bipush 10
iload 6
bipush 12
irem
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
28: aload 7
invokevirtual sun.util.calendar.CalendarDate.getZoneOffset:()I
istore 8
start local 8 29: aload 7
invokevirtual sun.util.calendar.CalendarDate.getDaylightSaving:()I
istore 9
start local 9 30: aload 0
bipush 15
iload 8
iload 9
isub
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
31: aload 0
bipush 16
iload 9
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
32: return
end local 9 end local 8 end local 7 end local 6 end local 5 33: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 42
34: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
bipush 12
irem
istore 5
start local 5 35: iload 5
ifge 37
36: iinc 5 12
37: StackMap locals: int
StackMap stack:
aload 0
iconst_2
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
38: aload 0
iload 5
invokevirtual java.util.GregorianCalendar.monthLength:(I)I
istore 6
start local 6 39: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 6
if_icmple 50
40: aload 0
iconst_5
iload 6
invokevirtual java.util.GregorianCalendar.set:(II)V
end local 6 end local 5 41: goto 50
42: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
iconst_1
iadd
istore 5
start local 5 43: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
iload 5
irem
istore 6
start local 6 44: iload 6
ifge 46
45: iload 6
iload 5
iadd
istore 6
46: StackMap locals: int int
StackMap stack:
aload 0
iconst_2
iload 6
invokevirtual java.util.GregorianCalendar.set:(II)V
47: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 7
start local 7 48: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 7
if_icmple 50
49: aload 0
iconst_5
iload 7
invokevirtual java.util.GregorianCalendar.set:(II)V
end local 7 end local 6 end local 5 50: StackMap locals:
StackMap stack:
return
51: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 5
start local 5 52: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
53: aload 0
bipush 7
aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
54: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 6
start local 6 55: iload 6
iload 2
iadd
istore 7
start local 7 56: aload 0
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 80
57: aload 0
invokevirtual java.util.GregorianCalendar.getWeekYear:()I
istore 8
start local 8 58: iload 8
iload 5
if_icmpne 70
59: iload 7
iload 3
if_icmple 62
iload 7
iload 4
if_icmpge 62
60: aload 0
iconst_3
iload 7
invokevirtual java.util.GregorianCalendar.set:(II)V
61: return
62: StackMap locals: java.util.GregorianCalendar int int int int int int int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 9
start local 9 63: lload 9
bipush 7
iload 6
iload 3
isub
imul
i2l
lsub
lstore 11
start local 11 64: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
lload 11
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 66
65: iinc 3 1
66: StackMap locals: long long
StackMap stack:
lload 9
bipush 7
iload 4
aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
isub
imul
i2l
ladd
lstore 9
67: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
lload 9
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 78
68: iinc 4 -1
end local 11 end local 9 69: goto 78
70: StackMap locals:
StackMap stack:
iload 8
iload 5
if_icmple 75
71: iload 2
ifge 73
72: iinc 2 1
73: StackMap locals:
StackMap stack:
iload 4
istore 6
74: goto 78
75: StackMap locals:
StackMap stack:
iload 2
ifle 77
76: iload 2
iload 6
iload 4
isub
isub
istore 2
77: StackMap locals:
StackMap stack:
iload 3
istore 6
78: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 6
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
invokevirtual java.util.GregorianCalendar.set:(II)V
79: return
end local 8 80: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 8
start local 8 81: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 84
82: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 10
start local 10 83: goto 88
end local 10 StackMap locals: long
StackMap stack:
84: iload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 87
85: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
astore 10
start local 10 86: goto 88
end local 10 87: StackMap locals:
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 10
start local 10 88: StackMap locals: sun.util.calendar.BaseCalendar
StackMap stack:
lload 8
bipush 7
iload 6
iload 3
isub
imul
i2l
lsub
lstore 11
start local 11 89: aload 10
lload 11
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 91
90: iinc 3 1
91: StackMap locals: long
StackMap stack:
lload 8
bipush 7
iload 4
iload 6
isub
imul
i2l
ladd
lstore 8
92: lload 8
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 93
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 94
StackMap locals:
StackMap stack:
93: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
94: astore 10
95: aload 10
lload 8
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 97
96: iinc 4 -1
97: StackMap locals:
StackMap stack:
iload 6
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
iconst_1
isub
istore 7
98: aload 0
lload 11
iload 7
bipush 7
imul
i2l
ladd
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 13
start local 13 99: aload 0
iconst_2
aload 13
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
100: aload 0
iconst_5
aload 13
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
101: return
end local 13 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 102: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
istore 5
start local 5 103: aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
isub
istore 6
start local 6 104: iload 6
ifge 106
105: iinc 6 7
106: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 7
start local 7 107: iload 5
ifeq 111
108: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 7
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 9
start local 9 109: aload 0
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 11
start local 11 110: goto 113
end local 11 end local 9 111: StackMap locals: long
StackMap stack:
lload 7
aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
lsub
lconst_1
ladd
lstore 9
start local 9 112: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 11
start local 11 113: StackMap locals: long int
StackMap stack:
lload 9
ldc 6
ladd
114: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
115: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 12
start local 12 116: lload 12
lload 9
lsub
l2i
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 118
117: lload 12
ldc 7
lsub
lstore 12
118: StackMap locals: long
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
119: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iconst_1
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
iconst_1
isub
istore 14
start local 14 120: lload 12
iload 14
bipush 7
imul
i2l
ladd
iload 6
i2l
ladd
lstore 15
start local 15 121: lload 15
lload 9
lcmp
ifge 124
122: lload 9
lstore 15
123: goto 126
StackMap locals: int long
StackMap stack:
124: lload 15
lload 9
iload 11
i2l
ladd
lcmp
iflt 126
125: lload 9
iload 11
i2l
ladd
lconst_1
lsub
lstore 15
126: StackMap locals:
StackMap stack:
iload 5
ifeq 130
127: aload 0
lload 15
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 18
start local 18 128: aload 18
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
istore 17
end local 18 start local 17 129: goto 131
end local 17 130: StackMap locals:
StackMap stack:
lload 15
lload 9
lsub
l2i
iconst_1
iadd
istore 17
start local 17 131: StackMap locals: int
StackMap stack:
aload 0
iconst_5
iload 17
invokevirtual java.util.GregorianCalendar.set:(II)V
132: return
end local 17 end local 15 end local 14 end local 12 end local 11 end local 9 end local 7 end local 6 end local 5 133: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 136
134: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 4
135: goto 204
136: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 137: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 7
start local 7 138: lload 5
lload 7
lsub
l2i
iload 2
iconst_0
aload 0
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
iconst_1
isub
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
istore 9
start local 9 139: aload 0
lload 7
iload 9
i2l
ladd
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 10
start local 10 140: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 141
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
if_icmpeq 141
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
141: StackMap locals: java.util.GregorianCalendar int int int int long long int sun.util.calendar.BaseCalendar$Date
StackMap stack:
aload 0
iconst_5
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
142: return
end local 10 end local 9 end local 7 end local 5 143: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
144: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 146
145: goto 204
146: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 147: lload 5
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
lsub
lconst_1
ladd
lstore 7
start local 7 148: lload 5
lload 7
lsub
l2i
iconst_1
iadd
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
istore 9
start local 9 149: aload 0
lload 7
iload 9
i2l
ladd
lconst_1
lsub
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 10
start local 10 150: aload 0
iconst_2
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
151: aload 0
iconst_5
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
152: return
end local 10 end local 9 end local 7 end local 5 153: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 159
154: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 5
start local 5 155: iload 5
iconst_1
if_icmple 159
iload 5
bipush 52
if_icmpge 159
156: aload 0
iconst_3
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
157: bipush 7
istore 4
158: goto 204
end local 5 159: StackMap locals:
StackMap stack:
iload 2
bipush 7
irem
istore 2
160: iload 2
ifne 162
161: return
162: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 163: lload 5
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
start local 7 164: lload 5
iload 2
i2l
ladd
lstore 5
165: lload 5
lload 7
lcmp
ifge 168
166: lload 5
ldc 7
ladd
lstore 5
167: goto 170
StackMap locals: long long
StackMap stack:
168: lload 5
lload 7
ldc 7
ladd
lcmp
iflt 170
169: lload 5
ldc 7
lsub
lstore 5
170: StackMap locals:
StackMap stack:
aload 0
lload 5
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 9
start local 9 171: aload 0
iconst_0
aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
ifgt 172
iconst_0
goto 173
StackMap locals: java.util.GregorianCalendar int int int int long long sun.util.calendar.BaseCalendar$Date
StackMap stack: java.util.GregorianCalendar int
172: iconst_1
StackMap locals: java.util.GregorianCalendar int int int int long long sun.util.calendar.BaseCalendar$Date
StackMap stack: java.util.GregorianCalendar int int
173: invokevirtual java.util.GregorianCalendar.set:(II)V
174: aload 0
aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(III)V
175: return
end local 9 end local 7 end local 5 176: StackMap locals:
StackMap stack:
iconst_1
istore 3
177: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 187
178: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 5
start local 5 179: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 6
start local 6 180: iload 6
bipush 7
irem
istore 7
start local 7 181: iload 6
bipush 7
idiv
istore 4
182: iload 5
iconst_1
isub
bipush 7
irem
istore 8
start local 8 183: iload 8
iload 7
if_icmpge 185
184: iinc 4 1
185: StackMap locals: java.util.GregorianCalendar int int int int int int int int
StackMap stack:
aload 0
bipush 7
aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
186: goto 204
end local 8 end local 7 end local 6 end local 5 187: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 188: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 7
start local 7 189: aload 0
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 9
start local 9 190: iload 9
bipush 7
irem
istore 10
start local 10 191: iload 9
bipush 7
idiv
istore 4
192: lload 5
lload 7
lsub
l2i
bipush 7
irem
istore 11
start local 11 193: iload 11
iload 10
if_icmpge 195
194: iinc 4 1
195: StackMap locals: java.util.GregorianCalendar int int int int long long int int int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
iconst_1
isub
istore 12
start local 12 196: lload 7
iload 12
bipush 7
imul
i2l
ladd
iload 11
i2l
ladd
lstore 5
197: lload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 198
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 199
StackMap locals: int
StackMap stack:
198: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
199: astore 13
start local 13 200: aload 13
getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
checkcast sun.util.calendar.BaseCalendar$Date
astore 14
start local 14 201: aload 13
aload 14
lload 5
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
202: aload 0
iconst_5
aload 14
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
203: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 end local 5 204: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
iload 1
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
invokevirtual java.util.GregorianCalendar.set:(II)V
205: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 206 0 this Ljava/util/GregorianCalendar;
0 206 1 field I
0 206 2 amount I
6 206 3 min I
7 206 4 max I
10 33 5 rolledValue I
11 33 6 hourOfDay I
14 33 7 d Lsun/util/calendar/CalendarDate;
29 33 8 zoneOffset I
30 33 9 saving I
35 41 5 mon I
39 41 6 monthLen I
43 50 5 yearLength I
44 50 6 mon I
48 50 7 monthLen I
52 102 5 y I
55 102 6 woy I
56 102 7 value I
58 80 8 weekYear I
63 69 9 fd J
64 69 11 day1 J
81 102 8 fd J
83 84 10 cal Lsun/util/calendar/BaseCalendar;
86 87 10 cal Lsun/util/calendar/BaseCalendar;
88 102 10 cal Lsun/util/calendar/BaseCalendar;
89 102 11 day1 J
99 102 13 d Lsun/util/calendar/BaseCalendar$Date;
103 133 5 isCutoverYear Z
104 133 6 dow I
107 133 7 fd J
109 111 9 month1 J
112 133 9 month1 J
110 111 11 monthLength I
113 133 11 monthLength I
116 133 12 monthDay1st J
120 133 14 value I
121 133 15 nfd J
129 130 17 dayOfMonth I
131 133 17 dayOfMonth I
128 129 18 d Lsun/util/calendar/BaseCalendar$Date;
137 143 5 fd J
138 143 7 month1 J
139 143 9 value I
140 143 10 d Lsun/util/calendar/BaseCalendar$Date;
147 153 5 fd J
148 153 7 jan1 J
149 153 9 value I
150 153 10 d Lsun/util/calendar/BaseCalendar$Date;
155 159 5 weekOfYear I
163 176 5 fd J
164 176 7 dowFirst J
171 176 9 d Lsun/util/calendar/BaseCalendar$Date;
179 187 5 dom I
180 187 6 monthLength I
181 187 7 lastDays I
183 187 8 x I
188 204 5 fd J
189 204 7 month1 J
190 204 9 monthLength I
191 204 10 lastDays I
193 204 11 x I
196 204 12 value I
200 204 13 cal Lsun/util/calendar/BaseCalendar;
201 204 14 d Lsun/util/calendar/BaseCalendar$Date;
MethodParameters:
Name Flags
field
amount
public int getMinimum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.util.GregorianCalendar.MIN_VALUES:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
0 1 1 field I
MethodParameters:
Name Flags
field
public int getMaximum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 8
1: 1
2: 1
3: 1
4: 1
5: 1
6: 1
7: 10
8: 1
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
sipush 200
if_icmple 3
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
start local 2 4: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
5: aload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
6: aload 2
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 3
start local 3 7: aload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lconst_1
lsub
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
8: aload 2
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
start local 4 9: getstatic java.util.GregorianCalendar.MAX_VALUES:[I
iload 1
iaload
iload 3
iload 4
invokestatic java.lang.Math.max:(II)I
invokestatic java.lang.Math.max:(II)I
ireturn
end local 4 end local 3 end local 2 10: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.MAX_VALUES:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/GregorianCalendar;
0 11 1 field I
4 10 2 gc Ljava/util/GregorianCalendar;
7 10 3 v1 I
9 10 4 v2 I
MethodParameters:
Name Flags
field
public int getGreatestMinimum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 1
iconst_5
if_icmpne 5
1: aload 0
invokevirtual java.util.GregorianCalendar.getGregorianCutoverDate:()Lsun/util/calendar/BaseCalendar$Date;
astore 2
start local 2 2: aload 0
aload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 3
start local 3 3: aload 0
lload 3
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 2
4: getstatic java.util.GregorianCalendar.MIN_VALUES:[I
iload 1
iaload
aload 2
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokestatic java.lang.Math.max:(II)I
ireturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.MIN_VALUES:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/GregorianCalendar;
0 6 1 field I
2 5 2 d Lsun/util/calendar/BaseCalendar$Date;
3 5 3 mon1 J
MethodParameters:
Name Flags
field
public int getLeastMaximum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 8
1: 1
2: 1
3: 1
4: 1
5: 1
6: 1
7: 8
8: 1
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
start local 2 2: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
3: aload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
4: aload 2
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 3
start local 3 5: aload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lconst_1
lsub
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
6: aload 2
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
start local 4 7: getstatic java.util.GregorianCalendar.LEAST_MAX_VALUES:[I
iload 1
iaload
iload 3
iload 4
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
ireturn
end local 4 end local 3 end local 2 8: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.LEAST_MAX_VALUES:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/GregorianCalendar;
0 9 1 field I
2 8 2 gc Ljava/util/GregorianCalendar;
5 8 3 v1 I
7 8 4 v2 I
MethodParameters:
Name Flags
field
public int getActualMinimum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iload 1
iconst_5
if_icmpne 7
1: aload 0
invokevirtual java.util.GregorianCalendar.getNormalizedCalendar:()Ljava/util/GregorianCalendar;
astore 2
start local 2 2: aload 2
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 3
start local 3 3: iload 3
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpeq 4
iload 3
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 7
4: StackMap locals: java.util.GregorianCalendar int
StackMap stack:
aload 0
aload 2
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 2
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 2
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(Lsun/util/calendar/CalendarDate;)J
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 4
start local 4 5: aload 0
lload 4
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 6
start local 6 6: aload 6
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
ireturn
end local 6 end local 4 end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMinimum:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/GregorianCalendar;
0 8 1 field I
2 7 2 gc Ljava/util/GregorianCalendar;
3 7 3 year I
5 7 4 month1 J
6 7 6 d Lsun/util/calendar/BaseCalendar$Date;
MethodParameters:
Name Flags
field
public int getActualMaximum(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: ldc 130689
iconst_1
iload 1
ishl
iand
ifeq 2
1: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMaximum:(I)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getNormalizedCalendar:()Ljava/util/GregorianCalendar;
astore 2
start local 2 3: aload 2
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
astore 3
start local 3 4: aload 2
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
astore 4
start local 4 5: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 5
start local 5 6: iconst_m1
istore 6
start local 6 7: iload 1
tableswitch { // 1 - 8
1: 118
2: 8
3: 51
4: 73
5: 18
6: 29
7: 147
8: 99
default: 147
}
8: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 11
9: bipush 11
istore 6
10: goto 148
11: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
iinc 5 1
iload 5
iconst_1
iconst_1
aconst_null
invokevirtual sun.util.calendar.Gregorian.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 7
start local 7 12: lload 7
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
13: lcmp
iflt 11
14: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
astore 9
start local 9 15: aload 4
aload 9
lload 7
lconst_1
lsub
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
16: aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
istore 6
end local 9 end local 7 17: goto 148
18: StackMap locals:
StackMap stack:
aload 4
aload 3
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 6
19: aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifeq 148
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
iload 6
if_icmpne 21
20: goto 148
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 7
start local 7 22: lload 7
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 24
23: goto 148
24: StackMap locals: long
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 9
start local 9 25: aload 2
aload 2
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 7
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
iload 9
i2l
ladd
lconst_1
lsub
lstore 10
start local 10 26: aload 2
lload 10
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 12
start local 12 27: aload 12
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
istore 6
end local 12 end local 10 end local 9 end local 7 28: goto 148
29: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 32
30: aload 4
aload 3
invokevirtual sun.util.calendar.BaseCalendar.getYearLength:(Lsun/util/calendar/CalendarDate;)I
istore 6
31: goto 148
32: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 36
33: aload 2
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 9
start local 9 34: aload 9
iload 5
iconst_1
iconst_1
aconst_null
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 7
end local 9 start local 7 35: goto 40
end local 7 StackMap locals:
StackMap stack:
36: iload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 39
37: aload 4
iload 5
iconst_1
iconst_1
aconst_null
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 7
start local 7 38: goto 40
end local 7 39: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 7
start local 7 40: StackMap locals: long
StackMap stack:
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
iinc 5 1
iload 5
iconst_1
iconst_1
aconst_null
invokevirtual sun.util.calendar.Gregorian.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 9
start local 9 41: lload 9
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 43
42: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 9
43: StackMap locals: long
StackMap stack:
getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 46
lload 7
aload 4
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
44: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
aload 3
45: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lcmp
ifle 46
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
46: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 49
lload 9
aload 4
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
47: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
aload 3
48: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lcmp
ifge 49
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
lload 9
lload 7
lsub
l2i
istore 6
end local 9 end local 7 50: goto 148
51: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 64
52: aload 4
getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 7
start local 7 53: aload 7
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
iconst_1
iconst_1
invokevirtual sun.util.calendar.CalendarDate.setDate:(III)Lsun/util/calendar/CalendarDate;
pop
54: aload 4
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getDayOfWeek:(Lsun/util/calendar/CalendarDate;)I
istore 8
start local 8 55: iload 8
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
isub
istore 8
56: iload 8
ifge 58
57: iinc 8 7
58: StackMap locals: sun.util.calendar.CalendarDate int
StackMap stack:
bipush 52
istore 6
59: iload 8
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
iadd
iconst_1
isub
istore 9
start local 9 60: iload 9
bipush 6
if_icmpeq 62
61: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.isLeapYear:()Z
ifeq 148
iload 9
iconst_5
if_icmpeq 62
iload 9
bipush 12
if_icmpne 148
62: StackMap locals: int
StackMap stack:
iinc 6 1
63: goto 148
end local 9 end local 8 end local 7 64: StackMap locals:
StackMap stack:
aload 2
aload 0
if_acmpne 66
65: aload 2
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
66: StackMap locals:
StackMap stack:
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 7
start local 7 67: aload 2
bipush 6
iload 7
invokevirtual java.util.GregorianCalendar.set:(II)V
68: aload 2
iconst_3
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
69: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 2
invokevirtual java.util.GregorianCalendar.getWeekYear:()I
if_icmpeq 148
70: aload 2
bipush 6
iload 7
bipush 7
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
71: aload 2
iconst_3
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
end local 7 72: goto 148
73: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 91
74: aload 4
aconst_null
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 7
start local 7 75: aload 7
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
invokevirtual sun.util.calendar.CalendarDate.setDate:(III)Lsun/util/calendar/CalendarDate;
pop
76: aload 4
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getDayOfWeek:(Lsun/util/calendar/CalendarDate;)I
istore 8
start local 8 77: aload 4
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 9
start local 9 78: iload 8
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
isub
istore 8
79: iload 8
ifge 81
80: iinc 8 7
81: StackMap locals: sun.util.calendar.CalendarDate int int
StackMap stack:
bipush 7
iload 8
isub
istore 10
start local 10 82: iconst_3
istore 6
83: iload 10
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 85
84: iinc 6 1
85: StackMap locals: int
StackMap stack:
iload 9
iload 10
bipush 21
iadd
isub
istore 9
86: iload 9
ifle 148
87: iinc 6 1
88: iload 9
bipush 7
if_icmple 148
89: iinc 6 1
90: goto 148
end local 10 end local 9 end local 8 end local 7 91: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int
StackMap stack:
aload 2
aload 0
if_acmpne 93
92: aload 2
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
93: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 7
start local 7 94: aload 2
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 8
start local 8 95: StackMap locals: int int
StackMap stack:
aload 2
iconst_4
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
96: aload 2
iconst_4
iconst_1
invokevirtual java.util.GregorianCalendar.add:(II)V
97: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.get:(I)I
iload 7
if_icmpne 148
aload 2
iconst_2
invokevirtual java.util.GregorianCalendar.get:(I)I
iload 8
if_icmpeq 95
end local 8 end local 7 98: goto 148
99: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
istore 9
start local 9 100: aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 107
101: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
astore 10
start local 10 102: aload 4
aload 10
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 7
start local 7 103: aload 10
iconst_1
invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
pop
104: aload 4
aload 10
invokevirtual sun.util.calendar.BaseCalendar.normalize:(Lsun/util/calendar/CalendarDate;)Z
pop
105: aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
istore 8
end local 10 start local 8 106: goto 112
end local 8 end local 7 107: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int top top int
StackMap stack:
aload 2
aload 0
if_acmpne 109
108: aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
109: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 7
start local 7 110: aload 2
iconst_5
aload 2
iconst_5
invokevirtual java.util.GregorianCalendar.getActualMinimum:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
111: aload 2
bipush 7
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 8
start local 8 112: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int int int int
StackMap stack:
iload 9
iload 8
isub
istore 10
start local 10 113: iload 10
ifge 115
114: iinc 10 7
115: StackMap locals: int
StackMap stack:
iload 7
iload 10
isub
istore 7
116: iload 7
bipush 6
iadd
bipush 7
idiv
istore 6
end local 10 end local 9 end local 8 end local 7 117: goto 148
118: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int
StackMap stack:
aload 2
aload 0
if_acmpne 120
119: aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
120: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.getYearOffsetInMillis:()J
lstore 7
start local 7 121: aload 2
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
iconst_1
if_icmpne 128
122: aload 2
ldc 9223372036854775807
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
123: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
124: aload 2
invokevirtual java.util.GregorianCalendar.getYearOffsetInMillis:()J
lstore 9
start local 9 125: lload 7
lload 9
lcmp
ifle 148
126: iinc 6 -1
end local 9 127: goto 148
128: StackMap locals: long
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lcmp
iflt 130
129: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 131
StackMap locals:
StackMap stack:
130: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
131: StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
astore 9
start local 9 132: aload 9
ldc -9223372036854775808
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.CalendarSystem.getCalendarDate:(JLjava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 10
start local 10 133: aload 4
aload 10
invokevirtual sun.util.calendar.BaseCalendar.getDayOfYear:(Lsun/util/calendar/CalendarDate;)J
lconst_1
lsub
ldc 24
lmul
aload 10
invokevirtual sun.util.calendar.CalendarDate.getHours:()I
i2l
ladd
lstore 11
start local 11 134: lload 11
ldc 60
lmul
lstore 11
135: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getMinutes:()I
i2l
ladd
lstore 11
136: lload 11
ldc 60
lmul
lstore 11
137: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getSeconds:()I
i2l
ladd
lstore 11
138: lload 11
ldc 1000
lmul
lstore 11
139: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getMillis:()I
i2l
ladd
lstore 11
140: aload 10
invokevirtual sun.util.calendar.CalendarDate.getYear:()I
istore 6
141: iload 6
ifgt 144
142: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 143
aload 9
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpeq 143
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
143: StackMap locals: sun.util.calendar.CalendarSystem sun.util.calendar.CalendarDate long
StackMap stack:
iconst_1
iload 6
isub
istore 6
144: StackMap locals:
StackMap stack:
lload 7
lload 11
lcmp
ifge 148
145: iinc 6 -1
end local 11 end local 10 end local 9 end local 7 146: goto 148
147: StackMap locals: java.util.GregorianCalendar int java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date sun.util.calendar.BaseCalendar int int
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
148: StackMap locals:
StackMap stack:
iload 6
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 149 0 this Ljava/util/GregorianCalendar;
0 149 1 field I
3 149 2 gc Ljava/util/GregorianCalendar;
4 149 3 date Lsun/util/calendar/BaseCalendar$Date;
5 149 4 cal Lsun/util/calendar/BaseCalendar;
6 149 5 normalizedYear I
7 149 6 value I
12 17 7 nextJan1 J
15 17 9 d Lsun/util/calendar/BaseCalendar$Date;
22 28 7 fd J
25 28 9 monthLength I
26 28 10 monthEnd J
27 28 12 d Lsun/util/calendar/BaseCalendar$Date;
35 36 7 jan1 J
38 39 7 jan1 J
40 50 7 jan1 J
34 35 9 cocal Lsun/util/calendar/BaseCalendar;
41 50 9 nextJan1 J
53 64 7 d Lsun/util/calendar/CalendarDate;
55 64 8 dayOfWeek I
60 64 9 magic I
67 72 7 maxDayOfYear I
75 91 7 d Lsun/util/calendar/CalendarDate;
77 91 8 dayOfWeek I
78 91 9 monthLength I
82 91 10 nDaysFirstWeek I
94 98 7 y I
95 98 8 m I
103 107 7 ndays I
110 117 7 ndays I
106 107 8 dow1 I
112 117 8 dow1 I
100 117 9 dow I
102 106 10 d Lsun/util/calendar/BaseCalendar$Date;
113 117 10 x I
121 146 7 current J
125 127 9 maxEnd J
132 146 9 mincal Lsun/util/calendar/CalendarSystem;
133 146 10 d Lsun/util/calendar/CalendarDate;
134 146 11 maxEnd J
MethodParameters:
Name Flags
field
private long getYearOffsetInMillis();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
isub
bipush 24
imul
i2l
lstore 1
start local 1 1: lload 1
aload 0
bipush 11
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 1
2: lload 1
ldc 60
lmul
lstore 1
3: lload 1
aload 0
bipush 12
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 1
4: lload 1
ldc 60
lmul
lstore 1
5: lload 1
aload 0
bipush 13
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 1
6: lload 1
ldc 1000
lmul
lstore 1
7: lload 1
aload 0
bipush 14
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
8: aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iadd
i2l
9: lsub
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/GregorianCalendar;
1 10 1 t J
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 1
start local 1 1: aload 1
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
putfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
2: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
ifnull 7
3: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
if_acmpeq 6
4: aload 1
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
putfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
5: goto 7
6: StackMap locals: java.util.GregorianCalendar
StackMap stack:
aload 1
aload 1
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
putfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
7: StackMap locals:
StackMap stack:
aload 1
aconst_null
putfield java.util.GregorianCalendar.originalFields:[I
8: aload 1
aconst_null
putfield java.util.GregorianCalendar.zoneOffsets:[I
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/GregorianCalendar;
1 10 1 other Ljava/util/GregorianCalendar;
public java.util.TimeZone getTimeZone();
descriptor: ()Ljava/util/TimeZone;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.util.Calendar.getTimeZone:()Ljava/util/TimeZone;
astore 1
start local 1 1: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.setZone:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
pop
2: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
ifnull 4
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
if_acmpeq 4
3: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.setZone:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
pop
4: StackMap locals: java.util.TimeZone
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/GregorianCalendar;
1 5 1 zone Ljava/util/TimeZone;
public void setTimeZone(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
1: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.setZone:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
pop
2: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
ifnull 4
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
if_acmpeq 4
3: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.setZone:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/GregorianCalendar;
0 5 1 zone Ljava/util/TimeZone;
MethodParameters:
Name Flags
zone
public final boolean isWeekDateSupported();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
public int getWeekYear();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 1
start local 1 1: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
ifne 3
2: iconst_1
iload 1
isub
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
iconst_1
iadd
if_icmple 12
4: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 2
start local 2 5: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
ifne 9
6: iload 2
bipush 52
if_icmplt 11
7: iinc 1 -1
8: goto 11
9: StackMap locals: int
StackMap stack:
iload 2
iconst_1
if_icmpne 11
10: iinc 1 1
11: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 12: StackMap locals:
StackMap stack:
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 2
start local 2 13: aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 3
start local 3 14: aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
istore 4
start local 4 15: iload 2
iload 4
if_icmple 17
iload 2
iload 3
bipush 6
isub
if_icmpge 17
16: iload 1
ireturn
17: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 5
start local 5 18: aload 5
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
19: aload 5
ldc "GMT"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
invokevirtual java.util.GregorianCalendar.setTimeZone:(Ljava/util/TimeZone;)V
20: aload 5
bipush 6
iconst_1
invokevirtual java.util.GregorianCalendar.set:(II)V
21: aload 5
invokevirtual java.util.GregorianCalendar.complete:()V
22: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
aload 5
bipush 7
invokevirtual java.util.GregorianCalendar.get:(I)I
isub
istore 6
start local 6 23: iload 6
ifeq 27
24: iload 6
ifge 26
25: iinc 6 7
26: StackMap locals: java.util.GregorianCalendar int
StackMap stack:
aload 5
bipush 6
iload 6
invokevirtual java.util.GregorianCalendar.add:(II)V
27: StackMap locals:
StackMap stack:
aload 5
bipush 6
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 7
start local 7 28: iload 2
iload 7
if_icmpge 32
29: iload 7
iload 4
if_icmpgt 47
30: iinc 1 -1
31: goto 47
32: StackMap locals: int
StackMap stack:
aload 5
iconst_1
iload 1
iconst_1
iadd
invokevirtual java.util.GregorianCalendar.set:(II)V
33: aload 5
bipush 6
iconst_1
invokevirtual java.util.GregorianCalendar.set:(II)V
34: aload 5
invokevirtual java.util.GregorianCalendar.complete:()V
35: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
aload 5
bipush 7
invokevirtual java.util.GregorianCalendar.get:(I)I
isub
istore 8
start local 8 36: iload 8
ifeq 40
37: iload 8
ifge 39
38: iinc 8 7
39: StackMap locals: int
StackMap stack:
aload 5
bipush 6
iload 8
invokevirtual java.util.GregorianCalendar.add:(II)V
40: StackMap locals:
StackMap stack:
aload 5
bipush 6
invokevirtual java.util.GregorianCalendar.get:(I)I
iconst_1
isub
istore 7
41: iload 7
ifne 43
42: bipush 7
istore 7
43: StackMap locals:
StackMap stack:
iload 7
iload 4
if_icmplt 47
44: iload 3
iload 2
isub
iconst_1
iadd
istore 9
start local 9 45: iload 9
bipush 7
iload 7
isub
if_icmpgt 47
46: iinc 1 1
end local 9 end local 8 47: StackMap locals:
StackMap stack:
iload 1
ireturn
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 48 0 this Ljava/util/GregorianCalendar;
1 48 1 year I
5 12 2 weekOfYear I
13 48 2 dayOfYear I
14 48 3 maxDayOfYear I
15 48 4 minimalDays I
18 48 5 cal Ljava/util/GregorianCalendar;
23 48 6 delta I
28 48 7 minDayOfYear I
36 47 8 del I
45 47 9 days I
public void setWeekDate(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_1
if_icmplt 1
iload 3
bipush 7
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid dayOfWeek: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 4
start local 4 3: aload 4
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
4: aload 4
iconst_0
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 5
start local 5 5: aload 4
invokevirtual java.util.GregorianCalendar.clear:()V
6: aload 4
ldc "GMT"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
invokevirtual java.util.GregorianCalendar.setTimeZone:(Ljava/util/TimeZone;)V
7: aload 4
iconst_0
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
8: aload 4
iconst_1
iload 1
invokevirtual java.util.GregorianCalendar.set:(II)V
9: aload 4
iconst_3
iconst_1
invokevirtual java.util.GregorianCalendar.set:(II)V
10: aload 4
bipush 7
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
11: iload 3
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
isub
istore 6
start local 6 12: iload 6
ifge 14
13: iinc 6 7
14: StackMap locals: java.util.GregorianCalendar int int
StackMap stack:
iload 6
bipush 7
iload 2
iconst_1
isub
imul
iadd
istore 6
15: iload 6
ifeq 18
16: aload 4
bipush 6
iload 6
invokevirtual java.util.GregorianCalendar.add:(II)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.GregorianCalendar.complete:()V
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 24
20: aload 4
invokevirtual java.util.GregorianCalendar.getWeekYear:()I
iload 1
if_icmpne 23
21: aload 4
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
if_icmpne 23
22: aload 4
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 3
if_icmpeq 24
23: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 4
iconst_0
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
25: aload 0
iconst_1
aload 4
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
26: aload 0
iconst_2
aload 4
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
27: aload 0
iconst_5
aload 4
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
28: aload 0
iconst_3
iload 2
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
29: aload 0
invokevirtual java.util.GregorianCalendar.complete:()V
30: return
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 31 0 this Ljava/util/GregorianCalendar;
0 31 1 weekYear I
0 31 2 weekOfYear I
0 31 3 dayOfWeek I
3 31 4 gc Ljava/util/GregorianCalendar;
5 31 5 era I
12 31 6 days I
MethodParameters:
Name Flags
weekYear
weekOfYear
dayOfWeek
public int getWeeksInWeekYear();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.getNormalizedCalendar:()Ljava/util/GregorianCalendar;
astore 1
start local 1 1: aload 1
invokevirtual java.util.GregorianCalendar.getWeekYear:()I
istore 2
start local 2 2: iload 2
aload 1
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
if_icmpne 4
3: aload 1
iconst_3
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
ireturn
4: StackMap locals: java.util.GregorianCalendar int
StackMap stack:
aload 1
aload 0
if_acmpne 6
5: aload 1
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 1
6: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_2
aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.setWeekDate:(III)V
7: aload 1
iconst_3
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/GregorianCalendar;
1 8 1 gc Ljava/util/GregorianCalendar;
2 8 2 weekYear I
protected void computeFields();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.isPartiallyNormalized:()Z
ifeq 8
1: aload 0
invokevirtual java.util.GregorianCalendar.getSetStateFields:()I
istore 1
start local 1 2: iload 1
iconst_m1
ixor
ldc 131071
iand
istore 2
start local 2 3: iload 2
ifne 4
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
ifnonnull 10
4: StackMap locals: int int
StackMap stack:
iload 1
aload 0
iload 2
5: iload 1
ldc 98304
iand
6: invokevirtual java.util.GregorianCalendar.computeFields:(II)I
ior
istore 1
7: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 10
iload 1
ldc 131071
if_icmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 end local 1 8: StackMap locals:
StackMap stack:
ldc 131071
istore 1
start local 1 9: aload 0
iload 1
iconst_0
invokevirtual java.util.GregorianCalendar.computeFields:(II)I
pop
10: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.setFieldsComputed:(I)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/GregorianCalendar;
2 8 1 mask I
9 12 1 mask I
3 8 2 fieldMask I
private int computeFields(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=29, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
astore 4
start local 4 2: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
ifnonnull 4
3: aload 0
iconst_2
newarray 10
putfield java.util.GregorianCalendar.zoneOffsets:[I
4: StackMap locals: int java.util.TimeZone
StackMap stack:
iload 2
ldc 98304
if_icmpeq 11
5: aload 4
instanceof sun.util.calendar.ZoneInfo
ifeq 8
6: aload 4
checkcast sun.util.calendar.ZoneInfo
aload 0
getfield java.util.GregorianCalendar.time:J
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
invokevirtual sun.util.calendar.ZoneInfo.getOffsets:(J[I)I
istore 3
7: goto 11
8: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield java.util.GregorianCalendar.time:J
invokevirtual java.util.TimeZone.getOffset:(J)I
istore 3
9: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
aload 4
invokevirtual java.util.TimeZone.getRawOffset:()I
iastore
10: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
iload 3
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
iaload
isub
iastore
11: StackMap locals:
StackMap stack:
iload 2
ifeq 17
12: iload 2
bipush 15
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 14
13: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
14: StackMap locals:
StackMap stack:
iload 2
bipush 16
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 16
15: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
16: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
iaload
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
iaload
iadd
istore 3
17: StackMap locals:
StackMap stack:
iload 3
i2l
ldc 86400000
ldiv
lstore 5
start local 5 18: iload 3
ldc 86400000
irem
istore 7
start local 7 19: lload 5
aload 0
getfield java.util.GregorianCalendar.time:J
ldc 86400000
ldiv
ladd
lstore 5
20: iload 7
aload 0
getfield java.util.GregorianCalendar.time:J
ldc 86400000
lrem
l2i
iadd
istore 7
21: iload 7
i2l
ldc 86400000
lcmp
iflt 27
22: iload 7
i2l
ldc 86400000
lsub
l2i
istore 7
23: lload 5
lconst_1
ladd
lstore 5
24: goto 28
25: StackMap locals: long int
StackMap stack:
iload 7
i2l
ldc 86400000
ladd
l2i
istore 7
26: lload 5
lconst_1
lsub
lstore 5
27: StackMap locals:
StackMap stack:
iload 7
iflt 25
28: StackMap locals:
StackMap stack:
lload 5
ldc 719163
ladd
lstore 5
29: iconst_1
istore 8
start local 8 30: lload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 60
31: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 33
aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
ldc -9223372036854775808
lcmp
ifeq 33
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.isNormalized:()Z
ifne 33
new java.lang.AssertionError
dup
32: ldc "cache control: not normalized"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
33: StackMap locals: int
StackMap stack:
getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 50
aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
ldc -9223372036854775808
lcmp
ifeq 50
34: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
35: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
36: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
37: invokevirtual sun.util.calendar.Gregorian.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
38: aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
39: lcmp
ifeq 50
new java.lang.AssertionError
dup
40: new java.lang.StringBuilder
dup
ldc "cache control: inconsictency, cachedFixedDate="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
42: ldc ", computed="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
44: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
45: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
46: aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
47: invokevirtual sun.util.calendar.Gregorian.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
48: ldc ", date="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
50: StackMap locals:
StackMap stack:
lload 5
aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
lcmp
ifeq 53
51: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual sun.util.calendar.Gregorian.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
52: aload 0
lload 5
putfield java.util.GregorianCalendar.cachedFixedDate:J
53: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
istore 9
start local 9 54: iload 9
ifgt 57
55: iconst_1
iload 9
isub
istore 9
56: iconst_0
istore 8
57: StackMap locals: int
StackMap stack:
aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
putfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
58: aload 0
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
putfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
59: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 67
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
ifgt 67
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "dow="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", date="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 9 60: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
putfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
61: aload 0
getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.JulianCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/JulianCalendar$Date;
putfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
62: getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual sun.util.calendar.JulianCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
63: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getEra:()Lsun/util/calendar/Era;
astore 10
start local 10 64: aload 10
getstatic java.util.GregorianCalendar.jeras:[Lsun/util/calendar/Era;
iconst_0
aaload
if_acmpne 66
65: iconst_0
istore 8
66: StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int top sun.util.calendar.Era
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getYear:()I
istore 9
end local 10 start local 9 67: StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int int
StackMap stack:
aload 0
iconst_0
iload 8
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
68: aload 0
iconst_1
iload 9
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
69: iload 1
iconst_3
ior
istore 10
start local 10 70: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
istore 11
start local 11 71: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
istore 12
start local 12 72: iload 1
sipush 164
iand
ifeq 77
73: aload 0
iconst_2
iload 11
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
74: aload 0
iconst_5
iload 12
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
75: aload 0
bipush 7
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
76: iload 10
sipush 164
ior
istore 10
77: StackMap locals: int int int
StackMap stack:
iload 1
sipush 32256
iand
ifeq 96
78: iload 7
ifeq 89
79: iload 7
ldc 3600000
idiv
istore 13
start local 13 80: aload 0
bipush 11
iload 13
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
81: aload 0
bipush 9
iload 13
bipush 12
idiv
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
82: aload 0
bipush 10
iload 13
bipush 12
irem
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
83: iload 7
ldc 3600000
irem
istore 14
start local 14 84: aload 0
bipush 12
iload 14
ldc 60000
idiv
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
85: iload 14
ldc 60000
irem
istore 14
86: aload 0
bipush 13
iload 14
sipush 1000
idiv
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
87: aload 0
bipush 14
iload 14
sipush 1000
irem
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
end local 14 end local 13 88: goto 95
89: StackMap locals:
StackMap stack:
aload 0
bipush 11
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
90: aload 0
bipush 9
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
91: aload 0
bipush 10
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
92: aload 0
bipush 12
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
93: aload 0
bipush 13
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
94: aload 0
bipush 14
iconst_0
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
95: StackMap locals:
StackMap stack:
iload 10
sipush 32256
ior
istore 10
96: StackMap locals:
StackMap stack:
iload 1
ldc 98304
iand
ifeq 100
97: aload 0
bipush 15
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
iaload
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
98: aload 0
bipush 16
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
iaload
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
99: iload 10
ldc 98304
ior
istore 10
100: StackMap locals:
StackMap stack:
iload 1
sipush 344
iand
ifeq 195
101: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 13
start local 13 102: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
iload 13
iconst_1
iconst_1
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 14
start local 14 103: lload 5
lload 14
lsub
l2i
iconst_1
iadd
istore 16
start local 16 104: lload 5
iload 12
i2l
lsub
lconst_1
ladd
lstore 17
start local 17 105: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpne 106
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
goto 107
StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int int int int int int long int long
StackMap stack:
106: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
StackMap locals:
StackMap stack: int
107: istore 19
start local 19 108: iload 12
iconst_1
isub
istore 20
start local 20 109: iload 13
iload 19
if_icmpne 118
110: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpgt 114
111: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual java.util.GregorianCalendar.getFixedDateJan1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 14
112: lload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 114
113: aload 0
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
lload 5
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 17
114: StackMap locals: int int
StackMap stack:
lload 5
lload 14
lsub
l2i
iconst_1
iadd
istore 21
start local 21 115: iload 16
iload 21
isub
pop
116: iload 21
istore 16
117: lload 5
lload 17
lsub
l2i
istore 20
end local 21 118: StackMap locals:
StackMap stack:
aload 0
bipush 6
iload 16
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
119: aload 0
bipush 8
iload 20
bipush 7
idiv
iconst_1
iadd
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
120: aload 0
lload 14
lload 5
invokevirtual java.util.GregorianCalendar.getWeekNumber:(JJ)I
istore 21
start local 21 121: iload 21
ifne 155
122: lload 14
lconst_1
lsub
lstore 22
start local 22 123: lload 14
ldc 365
lsub
lstore 24
start local 24 124: iload 13
iload 19
iconst_1
iadd
if_icmple 128
125: iload 13
iconst_1
isub
invokestatic sun.util.calendar.CalendarUtils.isGregorianLeapYear:(I)Z
ifeq 153
126: lload 24
lconst_1
lsub
lstore 24
127: goto 153
StackMap locals: int long long
StackMap stack:
128: iload 13
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpgt 132
129: iload 13
iconst_1
isub
invokestatic sun.util.calendar.CalendarUtils.isJulianLeapYear:(I)Z
ifeq 153
130: lload 24
lconst_1
lsub
lstore 24
131: goto 153
132: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
astore 26
start local 26 133: aload 0
lload 22
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 27
start local 27 134: iload 27
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 146
135: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 26
136: aload 26
getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
if_acmpne 143
137: aload 26
iload 27
138: iconst_1
139: iconst_1
140: aconst_null
141: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
142: goto 153
143: StackMap locals: sun.util.calendar.BaseCalendar int
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 24
144: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
astore 26
145: goto 153
StackMap locals:
StackMap stack:
146: iload 27
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpgt 153
147: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 26
148: aload 26
iload 27
149: iconst_1
150: iconst_1
151: aconst_null
152: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
end local 27 end local 26 153: StackMap locals:
StackMap stack:
aload 0
lload 24
lload 22
invokevirtual java.util.GregorianCalendar.getWeekNumber:(JJ)I
istore 21
end local 24 end local 22 154: goto 192
155: StackMap locals:
StackMap stack:
iload 13
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpgt 157
156: iload 13
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
iconst_1
isub
if_icmpge 168
157: StackMap locals:
StackMap stack:
iload 21
bipush 52
if_icmplt 192
158: lload 14
ldc 365
ladd
lstore 22
start local 22 159: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.isLeapYear:()Z
ifeq 161
160: lload 22
lconst_1
ladd
lstore 22
161: StackMap locals: long
StackMap stack:
lload 22
ldc 6
ladd
162: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
163: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 24
start local 24 164: lload 24
lload 22
lsub
l2i
istore 26
start local 26 165: iload 26
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 192
lload 5
lload 24
ldc 7
lsub
lcmp
iflt 192
166: iconst_1
istore 21
end local 26 end local 24 end local 22 167: goto 192
168: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
astore 22
start local 22 169: iload 13
iconst_1
iadd
istore 23
start local 23 170: iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
iconst_1
iadd
if_icmpne 173
171: iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpge 173
172: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
istore 23
173: StackMap locals: sun.util.calendar.BaseCalendar int
StackMap stack:
iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 175
174: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 22
175: StackMap locals:
StackMap stack:
iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpgt 178
176: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpeq 178
177: iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 184
178: StackMap locals:
StackMap stack:
aload 22
iload 23
179: iconst_1
180: iconst_1
181: aconst_null
182: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
start local 24 183: goto 186
end local 24 184: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 24
start local 24 185: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
astore 22
186: StackMap locals: long
StackMap stack:
lload 24
ldc 6
ladd
187: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
188: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 26
start local 26 189: lload 26
lload 24
lsub
l2i
istore 28
start local 28 190: iload 28
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 192
lload 5
lload 26
ldc 7
lsub
lcmp
iflt 192
191: iconst_1
istore 21
end local 28 end local 26 end local 24 end local 23 end local 22 192: StackMap locals:
StackMap stack:
aload 0
iconst_3
iload 21
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
193: aload 0
iconst_4
aload 0
lload 17
lload 5
invokevirtual java.util.GregorianCalendar.getWeekNumber:(JJ)I
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
194: iload 10
sipush 344
ior
istore 10
end local 21 end local 20 end local 19 end local 17 end local 16 end local 14 end local 13 195: StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int int int int int
StackMap stack:
iload 10
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 196 0 this Ljava/util/GregorianCalendar;
0 196 1 fieldMask I
0 196 2 tzMask I
1 196 3 zoneOffset I
2 196 4 tz Ljava/util/TimeZone;
18 196 5 fixedDate J
19 196 7 timeOfDay I
30 196 8 era I
54 60 9 year I
67 196 9 year I
64 67 10 e Lsun/util/calendar/Era;
70 196 10 mask I
71 196 11 month I
72 196 12 dayOfMonth I
80 88 13 hours I
84 88 14 r I
102 195 13 normalizedYear I
103 195 14 fixedDateJan1 J
104 195 16 dayOfYear I
105 195 17 fixedDateMonth1 J
108 195 19 cutoverYear I
109 195 20 relativeDayOfMonth I
115 118 21 realDayOfYear I
121 195 21 weekOfYear I
123 154 22 fixedDec31 J
124 154 24 prevJan1 J
133 153 26 calForJan1 Lsun/util/calendar/BaseCalendar;
134 153 27 prevYear I
159 167 22 nextJan1 J
164 167 24 nextJan1st J
165 167 26 ndays I
169 192 22 calForJan1 Lsun/util/calendar/BaseCalendar;
170 192 23 nextYear I
183 184 24 nextJan1 J
185 192 24 nextJan1 J
189 192 26 nextJan1st J
190 192 28 ndays I
MethodParameters:
Name Flags
fieldMask
tzMask
private int getWeekNumber(long, long);
descriptor: (JJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 3 0: lload 1
ldc 6
ladd
1: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
2: invokestatic sun.util.calendar.Gregorian.getDayOfWeekDateOnOrBefore:(JI)J
lstore 5
start local 5 3: lload 5
lload 1
lsub
l2i
istore 7
start local 7 4: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 5
iload 7
bipush 7
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: long int
StackMap stack:
iload 7
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 7
6: lload 5
ldc 7
lsub
lstore 5
7: StackMap locals:
StackMap stack:
lload 3
lload 5
lsub
l2i
istore 8
start local 8 8: iload 8
iflt 10
9: iload 8
bipush 7
idiv
iconst_1
iadd
ireturn
10: StackMap locals: int
StackMap stack:
iload 8
bipush 7
invokestatic sun.util.calendar.CalendarUtils.floorDivide:(II)I
iconst_1
iadd
ireturn
end local 8 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/GregorianCalendar;
0 11 1 fixedDay1 J
0 11 3 fixedDate J
3 11 5 fixedDay1st J
4 11 7 ndays I
8 11 8 normalizedDayOfPeriod I
MethodParameters:
Name Flags
fixedDay1
fixedDate
protected void computeTime();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=15, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 12
1: aload 0
getfield java.util.GregorianCalendar.originalFields:[I
ifnonnull 3
2: aload 0
bipush 17
newarray 10
putfield java.util.GregorianCalendar.originalFields:[I
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 4: goto 11
5: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 2
start local 2 6: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.isExternallySet:(I)Z
ifeq 9
7: iload 2
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMinimum:(I)I
if_icmplt 8
iload 2
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getMaximum:(I)I
if_icmple 9
8: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 1
invokestatic java.util.GregorianCalendar.getFieldName:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.originalFields:[I
iload 1
iload 2
iastore
end local 2 10: iinc 1 1
StackMap locals:
StackMap stack:
11: iload 1
bipush 17
if_icmplt 5
end local 1 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.selectFields:()I
istore 1
start local 1 13: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.isSet:(I)Z
ifeq 14
aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
goto 15
StackMap locals: int
StackMap stack:
14: sipush 1970
StackMap locals:
StackMap stack: int
15: istore 2
start local 2 16: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
istore 3
start local 3 17: iload 3
ifne 20
18: iconst_1
iload 2
isub
istore 2
19: goto 22
StackMap locals: int int
StackMap stack:
20: iload 3
iconst_1
if_icmpeq 22
21: new java.lang.IllegalArgumentException
dup
ldc "Invalid era"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
iload 2
ifgt 25
aload 0
iconst_0
invokevirtual java.util.GregorianCalendar.isSet:(I)Z
ifne 25
23: iload 1
iconst_1
ior
istore 1
24: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.setFieldsComputed:(I)V
25: StackMap locals:
StackMap stack:
lconst_0
lstore 4
start local 4 26: iload 1
bipush 11
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 29
27: lload 4
aload 0
bipush 11
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 4
28: goto 32
29: StackMap locals: long
StackMap stack:
lload 4
aload 0
bipush 10
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 4
30: iload 1
bipush 9
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 32
31: lload 4
bipush 12
aload 0
bipush 9
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
imul
i2l
ladd
lstore 4
32: StackMap locals:
StackMap stack:
lload 4
ldc 60
lmul
lstore 4
33: lload 4
aload 0
bipush 12
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 4
34: lload 4
ldc 60
lmul
lstore 4
35: lload 4
aload 0
bipush 13
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 4
36: lload 4
ldc 1000
lmul
lstore 4
37: lload 4
aload 0
bipush 14
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 4
38: lload 4
ldc 86400000
ldiv
lstore 6
start local 6 39: lload 4
ldc 86400000
lrem
lstore 4
40: goto 43
41: StackMap locals: long
StackMap stack:
lload 4
ldc 86400000
ladd
lstore 4
42: lload 6
lconst_1
lsub
lstore 6
43: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
iflt 41
44: iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmple 51
iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmple 51
45: lload 6
aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
iload 2
iload 1
invokevirtual java.util.GregorianCalendar.getFixedDate:(Lsun/util/calendar/BaseCalendar;II)J
ladd
lstore 8
start local 8 46: lload 8
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 49
47: lload 8
lstore 6
48: goto 82
49: StackMap locals: long
StackMap stack:
lload 6
aload 0
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
iload 2
iload 1
invokevirtual java.util.GregorianCalendar.getFixedDate:(Lsun/util/calendar/BaseCalendar;II)J
ladd
lstore 10
start local 10 50: goto 60
end local 10 end local 8 StackMap locals:
StackMap stack:
51: iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpge 58
iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpge 58
52: lload 6
aload 0
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
iload 2
iload 1
invokevirtual java.util.GregorianCalendar.getFixedDate:(Lsun/util/calendar/BaseCalendar;II)J
ladd
lstore 10
start local 10 53: lload 10
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 56
54: lload 10
lstore 6
55: goto 82
56: StackMap locals: java.util.GregorianCalendar int int int long long top top long
StackMap stack:
lload 10
lstore 8
start local 8 57: goto 60
end local 10 end local 8 58: StackMap locals: java.util.GregorianCalendar int int int long long
StackMap stack:
lload 6
aload 0
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
iload 2
iload 1
invokevirtual java.util.GregorianCalendar.getFixedDate:(Lsun/util/calendar/BaseCalendar;II)J
ladd
lstore 10
start local 10 59: lload 6
aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
iload 2
iload 1
invokevirtual java.util.GregorianCalendar.getFixedDate:(Lsun/util/calendar/BaseCalendar;II)J
ladd
lstore 8
start local 8 60: StackMap locals: long long
StackMap stack:
iload 1
bipush 6
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifne 61
iload 1
iconst_3
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 67
61: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 64
62: lload 10
lstore 6
63: goto 82
64: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 67
65: lload 8
lstore 6
66: goto 82
67: StackMap locals:
StackMap stack:
lload 8
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 76
68: lload 10
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 71
69: lload 8
lstore 6
70: goto 82
71: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpeq 72
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
ifnonnull 74
72: StackMap locals:
StackMap stack:
lload 8
lstore 6
73: goto 82
74: StackMap locals:
StackMap stack:
lload 10
lstore 6
75: goto 82
76: StackMap locals:
StackMap stack:
lload 10
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 79
77: lload 10
lstore 6
78: goto 82
79: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 81
80: new java.lang.IllegalArgumentException
dup
ldc "the specified date doesn't exist"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
81: StackMap locals:
StackMap stack:
lload 10
lstore 6
end local 10 end local 8 82: StackMap locals:
StackMap stack:
lload 6
ldc 719163
lsub
ldc 86400000
lmul
lload 4
ladd
lstore 8
start local 8 83: aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
astore 10
start local 10 84: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
ifnonnull 86
85: aload 0
iconst_2
newarray 10
putfield java.util.GregorianCalendar.zoneOffsets:[I
86: StackMap locals: long java.util.TimeZone
StackMap stack:
iload 1
ldc 98304
iand
istore 11
start local 11 87: iload 11
ldc 98304
if_icmpeq 96
88: aload 10
instanceof sun.util.calendar.ZoneInfo
ifeq 91
89: aload 10
checkcast sun.util.calendar.ZoneInfo
lload 8
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
invokevirtual sun.util.calendar.ZoneInfo.getOffsetsByWall:(J[I)I
pop
90: goto 96
91: StackMap locals: int
StackMap stack:
iload 1
bipush 15
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 93
92: aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
goto 94
StackMap locals:
StackMap stack:
93: aload 10
invokevirtual java.util.TimeZone.getRawOffset:()I
94: StackMap locals:
StackMap stack: int
istore 12
start local 12 95: aload 10
lload 8
iload 12
i2l
lsub
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
invokevirtual java.util.TimeZone.getOffsets:(J[I)I
pop
end local 12 96: StackMap locals:
StackMap stack:
iload 11
ifeq 101
97: iload 11
bipush 15
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 99
98: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
99: StackMap locals:
StackMap stack:
iload 11
bipush 16
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 101
100: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
101: StackMap locals:
StackMap stack:
lload 8
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
iaload
aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
iaload
iadd
i2l
lsub
lstore 8
102: aload 0
lload 8
putfield java.util.GregorianCalendar.time:J
103: aload 0
iload 1
aload 0
invokevirtual java.util.GregorianCalendar.getSetStateFields:()I
ior
iload 11
invokevirtual java.util.GregorianCalendar.computeFields:(II)I
istore 12
start local 12 104: aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 115
105: iconst_0
istore 13
start local 13 106: goto 114
107: StackMap locals: int int
StackMap stack:
aload 0
iload 13
invokevirtual java.util.GregorianCalendar.isExternallySet:(I)Z
ifne 109
108: goto 113
109: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.originalFields:[I
iload 13
iaload
aload 0
iload 13
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
if_icmpeq 113
110: new java.lang.StringBuilder
dup
aload 0
getfield java.util.GregorianCalendar.originalFields:[I
iload 13
iaload
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 13
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 111: aload 0
getfield java.util.GregorianCalendar.originalFields:[I
iconst_0
aload 0
getfield java.util.GregorianCalendar.fields:[I
iconst_0
aload 0
getfield java.util.GregorianCalendar.fields:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
112: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
iload 13
invokestatic java.util.GregorianCalendar.getFieldName:(I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
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 14 113: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
114: iload 13
bipush 17
if_icmplt 107
end local 13 115: StackMap locals:
StackMap stack:
aload 0
iload 12
invokevirtual java.util.GregorianCalendar.setFieldsNormalized:(I)V
116: return
end local 12 end local 11 end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 117 0 this Ljava/util/GregorianCalendar;
4 12 1 field I
6 10 2 value I
13 117 1 fieldMask I
16 117 2 year I
17 117 3 era I
26 117 4 timeOfDay J
39 117 6 fixedDate J
46 51 8 gfd J
57 58 8 gfd J
60 82 8 gfd J
50 51 10 jfd J
53 58 10 jfd J
59 82 10 jfd J
83 117 8 millis J
84 117 10 zone Ljava/util/TimeZone;
87 117 11 tzMask I
95 96 12 gmtOffset I
104 117 12 mask I
106 115 13 field I
111 113 14 s Ljava/lang/String;
private long getFixedDate(sun.util.calendar.BaseCalendar, int, int);
descriptor: (Lsun/util/calendar/BaseCalendar;II)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iload 3
iconst_2
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 11
2: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 4
3: iload 4
bipush 11
if_icmple 7
4: iload 2
iload 4
bipush 12
idiv
iadd
istore 2
5: iload 4
bipush 12
irem
istore 4
6: goto 11
StackMap locals: int
StackMap stack:
7: iload 4
ifge 11
8: iconst_1
newarray 10
astore 5
start local 5 9: iload 2
iload 4
bipush 12
aload 5
invokestatic sun.util.calendar.CalendarUtils.floorDivide:(II[I)I
iadd
istore 2
10: aload 5
iconst_0
iaload
istore 4
end local 5 11: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 4
iconst_1
iadd
iconst_1
12: aload 1
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpne 13
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
goto 14
StackMap locals: java.util.GregorianCalendar sun.util.calendar.BaseCalendar int int int
StackMap stack: sun.util.calendar.BaseCalendar int int int
13: aconst_null
14: StackMap locals: java.util.GregorianCalendar sun.util.calendar.BaseCalendar int int int
StackMap stack: sun.util.calendar.BaseCalendar int int int sun.util.calendar.BaseCalendar$Date
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 5
start local 5 15: iload 3
iconst_2
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 51
16: iload 3
iconst_5
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 21
17: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.isSet:(I)Z
ifeq 71
18: lload 5
aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
19: lload 5
lconst_1
lsub
lstore 5
20: goto 71
21: StackMap locals: long
StackMap stack:
iload 3
iconst_4
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 33
22: lload 5
ldc 6
ladd
23: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
24: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
start local 7 25: lload 7
lload 5
lsub
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
i2l
lcmp
iflt 27
26: lload 7
ldc 7
lsub
lstore 7
27: StackMap locals: long
StackMap stack:
iload 3
bipush 7
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 31
28: lload 7
ldc 6
ladd
29: aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
30: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
31: StackMap locals:
StackMap stack:
lload 7
bipush 7
aload 0
iconst_4
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
isub
imul
i2l
ladd
lstore 5
end local 7 32: goto 71
33: StackMap locals:
StackMap stack:
iload 3
bipush 7
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 36
34: aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 7
start local 7 35: goto 37
end local 7 36: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
istore 7
start local 7 37: StackMap locals: int
StackMap stack:
iload 3
bipush 8
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 40
38: aload 0
bipush 8
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 8
start local 8 39: goto 41
end local 8 40: StackMap locals:
StackMap stack:
iconst_1
istore 8
start local 8 41: StackMap locals: int
StackMap stack:
iload 8
iflt 46
42: lload 5
bipush 7
iload 8
imul
i2l
ladd
lconst_1
lsub
43: iload 7
44: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 5
45: goto 71
46: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 2
invokevirtual java.util.GregorianCalendar.monthLength:(II)I
bipush 7
iload 8
iconst_1
iadd
imul
iadd
istore 9
start local 9 47: lload 5
iload 9
i2l
ladd
lconst_1
lsub
48: iload 7
49: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 5
end local 9 end local 8 end local 7 50: goto 71
51: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 55
aload 1
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpne 55
52: lload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 55
53: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpeq 55
54: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 5
55: StackMap locals:
StackMap stack:
iload 3
bipush 6
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 59
56: lload 5
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
ladd
lstore 5
57: lload 5
lconst_1
lsub
lstore 5
58: goto 71
59: StackMap locals:
StackMap stack:
lload 5
ldc 6
ladd
60: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
61: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
start local 7 62: lload 7
lload 5
lsub
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
i2l
lcmp
iflt 64
63: lload 7
ldc 7
lsub
lstore 7
64: StackMap locals: long
StackMap stack:
iload 3
bipush 7
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 70
65: aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 9
start local 9 66: iload 9
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
if_icmpeq 70
67: lload 7
ldc 6
ladd
68: iload 9
69: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
end local 9 70: StackMap locals:
StackMap stack:
lload 7
ldc 7
aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
lconst_1
lsub
lmul
ladd
lstore 5
end local 7 71: StackMap locals:
StackMap stack:
lload 5
lreturn
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 72 0 this Ljava/util/GregorianCalendar;
0 72 1 cal Lsun/util/calendar/BaseCalendar;
0 72 2 year I
0 72 3 fieldMask I
1 72 4 month I
9 11 5 rem [I
15 72 5 fixedDate J
25 32 7 firstDayOfWeek J
35 36 7 dayOfWeek I
37 50 7 dayOfWeek I
39 40 8 dowim I
41 50 8 dowim I
47 50 9 lastDate I
62 71 7 firstDayOfWeek J
66 70 9 dayOfWeek I
MethodParameters:
Name Flags
cal
year
fieldMask
private java.util.GregorianCalendar getNormalizedCalendar();
descriptor: ()Ljava/util/GregorianCalendar;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.isFullyNormalized:()Z
ifeq 3
1: aload 0
astore 1
start local 1 2: goto 6
end local 1 3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 1
start local 1 4: aload 1
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
5: aload 1
invokevirtual java.util.GregorianCalendar.complete:()V
6: StackMap locals: java.util.GregorianCalendar
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/GregorianCalendar;
2 3 1 gc Ljava/util/GregorianCalendar;
4 7 1 gc Ljava/util/GregorianCalendar;
private static synchronized sun.util.calendar.BaseCalendar getJulianCalendarSystem();
descriptor: ()Lsun/util/calendar/BaseCalendar;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
ifnonnull 3
1: ldc "julian"
invokestatic sun.util.calendar.CalendarSystem.forName:(Ljava/lang/String;)Lsun/util/calendar/CalendarSystem;
checkcast sun.util.calendar.JulianCalendar
putstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
2: getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
invokevirtual sun.util.calendar.JulianCalendar.getEras:()[Lsun/util/calendar/Era;
putstatic java.util.GregorianCalendar.jeras:[Lsun/util/calendar/Era;
3: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
areturn
LocalVariableTable:
Start End Slot Name Signature
private sun.util.calendar.BaseCalendar getCutoverCalendarSystem();
descriptor: ()Lsun/util/calendar/BaseCalendar;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpge 2
1: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
private boolean isCutoverYear(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpne 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 1
iload 2
if_icmpne 4
iconst_1
ireturn
StackMap locals: int
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/GregorianCalendar;
0 5 1 normalizedYear I
3 5 2 cutoverYear I
MethodParameters:
Name Flags
normalizedYear
private long getFixedDateJan1(sun.util.calendar.BaseCalendar$Date, long);
descriptor: (Lsun/util/calendar/BaseCalendar$Date;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpeq 2
1: aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpeq 5
3: lload 2
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 5
4: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lreturn
5: StackMap locals:
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 4
start local 4 6: aload 4
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
iconst_1
iconst_1
aconst_null
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/GregorianCalendar;
0 7 1 date Lsun/util/calendar/BaseCalendar$Date;
0 7 2 fixedDate J
6 7 4 juliancal Lsun/util/calendar/BaseCalendar;
MethodParameters:
Name Flags
date
fixedDate
private long getFixedDateMonth1(sun.util.calendar.BaseCalendar$Date, long);
descriptor: (Lsun/util/calendar/BaseCalendar$Date;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpeq 2
1: aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getGregorianCutoverDate:()Lsun/util/calendar/BaseCalendar$Date;
astore 4
start local 4 3: aload 4
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
if_icmpne 6
4: aload 4
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
iconst_1
if_icmpne 6
5: lload 2
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
i2l
lsub
lconst_1
ladd
lreturn
6: StackMap locals: sun.util.calendar.BaseCalendar$Date
StackMap stack:
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
aload 4
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
if_icmpne 18
7: aload 0
invokevirtual java.util.GregorianCalendar.getLastJulianDate:()Lsun/util/calendar/BaseCalendar$Date;
astore 7
start local 7 8: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 16
9: aload 4
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
aload 7
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
if_icmpne 16
10: getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
11: aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
12: iconst_1
13: aconst_null
14: invokevirtual sun.util.calendar.JulianCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 5
start local 5 15: goto 19
end local 5 16: StackMap locals: java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date long sun.util.calendar.BaseCalendar$Date top top sun.util.calendar.BaseCalendar$Date
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 5
end local 7 start local 5 17: goto 19
end local 5 18: StackMap locals: java.util.GregorianCalendar sun.util.calendar.BaseCalendar$Date long sun.util.calendar.BaseCalendar$Date
StackMap stack:
lload 2
aload 1
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
i2l
lsub
lconst_1
ladd
lstore 5
start local 5 19: StackMap locals: long
StackMap stack:
lload 5
lreturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/GregorianCalendar;
0 20 1 date Lsun/util/calendar/BaseCalendar$Date;
0 20 2 fixedDate J
3 20 4 gCutover Lsun/util/calendar/BaseCalendar$Date;
15 16 5 fixedDateMonth1 J
17 18 5 fixedDateMonth1 J
19 20 5 fixedDateMonth1 J
8 17 7 jLastDate Lsun/util/calendar/BaseCalendar$Date;
MethodParameters:
Name Flags
date
fixedDate
private sun.util.calendar.BaseCalendar$Date getCalendarDate(long);
descriptor: (J)Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: lload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 1
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 2
StackMap locals:
StackMap stack:
1: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
2: astore 3
start local 3 3: aload 3
getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
checkcast sun.util.calendar.BaseCalendar$Date
astore 4
start local 4 4: aload 3
aload 4
lload 1
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
5: aload 4
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/GregorianCalendar;
0 6 1 fd J
3 6 3 cal Lsun/util/calendar/BaseCalendar;
4 6 4 d Lsun/util/calendar/BaseCalendar$Date;
MethodParameters:
Name Flags
fd
private sun.util.calendar.BaseCalendar$Date getGregorianCutoverDate();
descriptor: ()Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
private sun.util.calendar.BaseCalendar$Date getLastJulianDate();
descriptor: ()Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lconst_1
lsub
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/GregorianCalendar;
private int monthLength(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokevirtual java.util.GregorianCalendar.isLeapYear:(I)Z
ifeq 1
getstatic java.util.GregorianCalendar.LEAP_MONTH_LENGTH:[I
iload 1
iaload
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.util.GregorianCalendar.MONTH_LENGTH:[I
iload 1
iaload
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
0 3 1 month I
0 3 2 year I
MethodParameters:
Name Flags
month
year
private int monthLength(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 2
start local 2 1: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
ifne 3
2: iconst_1
iload 2
isub
istore 2
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual java.util.GregorianCalendar.monthLength:(II)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/GregorianCalendar;
0 4 1 month I
1 4 2 year I
MethodParameters:
Name Flags
month
private int actualMonthLength();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
istore 1
start local 1 1: iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpeq 3
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpeq 3
2: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
astore 2
start local 2 4: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 2
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(Lsun/util/calendar/CalendarDate;)J
lstore 3
start local 3 5: aload 0
aload 2
lload 3
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 5
start local 5 6: lload 5
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 2
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
i2l
ladd
lstore 7
start local 7 7: lload 7
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 9
8: lload 7
lload 5
lsub
l2i
ireturn
9: StackMap locals: java.util.GregorianCalendar int sun.util.calendar.BaseCalendar$Date long long long
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
aload 0
getfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
if_acmpeq 11
10: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
getstatic java.util.TimeZone.NO_TIMEZONE:Ljava/util/TimeZone;
invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
astore 2
11: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 2
lload 7
invokevirtual sun.util.calendar.Gregorian.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
12: aload 0
aload 2
lload 7
invokevirtual java.util.GregorianCalendar.getFixedDateMonth1:(Lsun/util/calendar/BaseCalendar$Date;J)J
lstore 7
13: lload 7
lload 5
lsub
l2i
ireturn
end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/GregorianCalendar;
1 14 1 year I
4 14 2 date Lsun/util/calendar/BaseCalendar$Date;
5 14 3 fd J
6 14 5 month1 J
7 14 7 next1 J
private int yearLength(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.isLeapYear:(I)Z
ifeq 1
sipush 366
goto 2
StackMap locals:
StackMap stack:
1: sipush 365
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
0 3 1 year I
MethodParameters:
Name Flags
year
private int yearLength();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 1
start local 1 1: aload 0
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
ifne 3
2: iconst_1
iload 1
isub
istore 1
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.yearLength:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/GregorianCalendar;
1 4 1 year I
private void pinDayOfMonth();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 1
start local 1 1: iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpgt 2
iload 1
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpge 4
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.monthLength:(I)I
istore 2
start local 2 3: goto 6
end local 2 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getNormalizedCalendar:()Ljava/util/GregorianCalendar;
astore 3
start local 3 5: aload 3
iconst_5
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 2
end local 3 start local 2 6: StackMap locals: int
StackMap stack:
aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 3
start local 3 7: iload 3
iload 2
if_icmple 9
8: aload 0
iconst_5
iload 2
invokevirtual java.util.GregorianCalendar.set:(II)V
9: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/GregorianCalendar;
1 10 1 year I
3 4 2 monthLen I
6 10 2 monthLen I
5 6 3 gc Ljava/util/GregorianCalendar;
7 10 3 dom I
private long getCurrentFixedDate();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpne 1
aload 0
getfield java.util.GregorianCalendar.cachedFixedDate:J
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(Lsun/util/calendar/CalendarDate;)J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
private static int getRolledValue(int, int, int, int);
descriptor: (IIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 2
iload 0
iload 2
if_icmplt 1
iload 0
iload 3
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 3
iload 2
isub
iconst_1
iadd
istore 4
start local 4 3: iload 1
iload 4
irem
istore 1
4: iload 0
iload 1
iadd
istore 5
start local 5 5: iload 5
iload 3
if_icmple 8
6: iload 5
iload 4
isub
istore 5
7: goto 10
StackMap locals: int int
StackMap stack:
8: iload 5
iload 2
if_icmpge 10
9: iload 5
iload 4
iadd
istore 5
10: StackMap locals:
StackMap stack:
getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 12
iload 5
iload 2
if_icmplt 11
iload 5
iload 3
if_icmple 12
StackMap locals:
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iload 5
ireturn
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 13 0 value I
0 13 1 amount I
0 13 2 min I
0 13 3 max I
3 13 4 range I
5 13 5 n I
MethodParameters:
Name Flags
value
amount
min
max
private int internalGetEra();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.util.GregorianCalendar.isSet:(I)Z
ifeq 1
aload 0
iconst_0
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
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.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
ifnonnull 4
2: aload 0
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
putfield java.util.GregorianCalendar.gdate:Lsun/util/calendar/BaseCalendar$Date;
3: aload 0
ldc -9223372036854775808
putfield java.util.GregorianCalendar.cachedFixedDate:J
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
invokevirtual java.util.GregorianCalendar.setGregorianChange:(J)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/GregorianCalendar;
0 6 1 stream Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
stream
public java.time.ZonedDateTime toZonedDateTime();
descriptor: ()Ljava/time/ZonedDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
1: aload 0
invokevirtual java.util.GregorianCalendar.getTimeZone:()Ljava/util/TimeZone;
invokevirtual java.util.TimeZone.toZoneId:()Ljava/time/ZoneId;
2: invokestatic java.time.ZonedDateTime.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/GregorianCalendar;
public static java.util.GregorianCalendar from(java.time.ZonedDateTime);
descriptor: (Ljava/time/ZonedDateTime;)Ljava/util/GregorianCalendar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.util.GregorianCalendar
dup
aload 0
invokevirtual java.time.ZonedDateTime.getZone:()Ljava/time/ZoneId;
invokestatic java.util.TimeZone.getTimeZone:(Ljava/time/ZoneId;)Ljava/util/TimeZone;
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
astore 1
start local 1 1: aload 1
new java.util.Date
dup
ldc -9223372036854775808
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
2: aload 1
iconst_2
invokevirtual java.util.GregorianCalendar.setFirstDayOfWeek:(I)V
3: aload 1
iconst_4
invokevirtual java.util.GregorianCalendar.setMinimalDaysInFirstWeek:(I)V
4: aload 1
aload 0
invokevirtual java.time.ZonedDateTime.toEpochSecond:()J
sipush 1000
invokestatic java.lang.Math.multiplyExact:(JI)J
5: aload 0
getstatic java.time.temporal.ChronoField.MILLI_OF_SECOND:Ljava/time/temporal/ChronoField;
invokevirtual java.time.ZonedDateTime.get:(Ljava/time/temporal/TemporalField;)I
i2l
6: invokestatic java.lang.Math.addExact:(JJ)J
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
7: goto 10
StackMap locals: java.time.ZonedDateTime java.util.GregorianCalendar
StackMap stack: java.lang.ArithmeticException
8: astore 2
start local 2 9: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 zdt Ljava/time/ZonedDateTime;
1 11 1 cal Ljava/util/GregorianCalendar;
9 10 2 ex Ljava/lang/ArithmeticException;
Exception table:
from to target type
4 7 8 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
zdt
}
SourceFile: "GregorianCalendar.java"
InnerClasses:
public final Category = java.util.Locale$Category of java.util.Locale
public abstract Date = sun.util.calendar.BaseCalendar$Date of sun.util.calendar.BaseCalendar
Date = sun.util.calendar.Gregorian$Date of sun.util.calendar.Gregorian
private Date = sun.util.calendar.JulianCalendar$Date of sun.util.calendar.JulianCalendar