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;
invokestatic java.util.Locale.getDefault:()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
invokestatic java.util.Locale.getDefault:()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
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 jcal 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 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: 37
3: 55
4: 94
5: 125
6: 135
7: 145
8: 168
9: 8
10: 9
11: 9
12: 8
13: 8
14: 8
default: 196
}
8: StackMap locals: int int
StackMap stack:
goto 196
9: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
istore 5
start local 5 10: aload 0
iload 1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 6
start local 6 11: iload 6
iload 2
iadd
iload 5
irem
istore 7
start local 7 12: iload 7
ifge 14
13: iload 7
iload 5
iadd
istore 7
14: StackMap locals: int int int
StackMap stack:
aload 0
dup
getfield java.util.GregorianCalendar.time:J
ldc 3600000
iload 7
iload 6
isub
imul
i2l
ladd
putfield java.util.GregorianCalendar.time:J
15: 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 8
start local 8 16: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
aload 8
invokevirtual sun.util.calendar.CalendarDate.getDayOfMonth:()I
if_icmpeq 25
17: aload 8
aload 0
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
18: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
iadd
19: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
20: invokevirtual sun.util.calendar.CalendarDate.setDate:(III)Lsun/util/calendar/CalendarDate;
pop
21: iload 1
bipush 10
if_icmpne 24
22: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 23
aload 0
bipush 9
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iconst_1
if_icmpeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: sun.util.calendar.CalendarDate
StackMap stack:
aload 8
bipush 12
invokevirtual sun.util.calendar.CalendarDate.addHours:(I)Lsun/util/calendar/CalendarDate;
pop
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
aload 8
invokevirtual sun.util.calendar.BaseCalendar.getTime:(Lsun/util/calendar/CalendarDate;)J
putfield java.util.GregorianCalendar.time:J
25: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.util.calendar.CalendarDate.getHours:()I
istore 9
start local 9 26: aload 0
iload 1
iload 9
iload 5
irem
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
27: iload 1
bipush 10
if_icmpne 30
28: aload 0
bipush 11
iload 9
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
29: goto 32
30: StackMap locals: int
StackMap stack:
aload 0
bipush 9
iload 9
bipush 12
idiv
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
31: aload 0
bipush 10
iload 9
bipush 12
irem
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
32: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.util.calendar.CalendarDate.getZoneOffset:()I
istore 10
start local 10 33: aload 8
invokevirtual sun.util.calendar.CalendarDate.getDaylightSaving:()I
istore 11
start local 11 34: aload 0
bipush 15
iload 10
iload 11
isub
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
35: aload 0
bipush 16
iload 11
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
36: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 37: 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 46
38: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
bipush 12
irem
istore 5
start local 5 39: iload 5
ifge 41
40: iinc 5 12
41: StackMap locals: int
StackMap stack:
aload 0
iconst_2
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
42: aload 0
iload 5
invokevirtual java.util.GregorianCalendar.monthLength:(I)I
istore 6
start local 6 43: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 6
if_icmple 54
44: aload 0
iconst_5
iload 6
invokevirtual java.util.GregorianCalendar.set:(II)V
end local 6 end local 5 45: goto 54
46: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
iconst_1
iadd
istore 5
start local 5 47: aload 0
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 2
iadd
iload 5
irem
istore 6
start local 6 48: iload 6
ifge 50
49: iload 6
iload 5
iadd
istore 6
50: StackMap locals: int int
StackMap stack:
aload 0
iconst_2
iload 6
invokevirtual java.util.GregorianCalendar.set:(II)V
51: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 7
start local 7 52: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iload 7
if_icmple 54
53: aload 0
iconst_5
iload 7
invokevirtual java.util.GregorianCalendar.set:(II)V
end local 7 end local 6 end local 5 54: StackMap locals:
StackMap stack:
return
55: 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 56: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
57: aload 0
bipush 7
aload 0
bipush 7
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
58: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 6
start local 6 59: iload 6
iload 2
iadd
istore 7
start local 7 60: aload 0
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 72
61: iload 7
iload 3
if_icmple 64
iload 7
iload 4
if_icmpge 64
62: aload 0
iconst_3
iload 7
invokevirtual java.util.GregorianCalendar.set:(II)V
63: return
64: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 8
start local 8 65: lload 8
bipush 7
iload 6
iload 3
isub
imul
i2l
lsub
lstore 10
start local 10 66: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
lload 10
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 68
67: iinc 3 1
68: StackMap locals: long long
StackMap stack:
lload 8
bipush 7
iload 4
aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
isub
imul
i2l
ladd
lstore 8
69: aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
lload 8
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 196
70: iinc 4 -1
71: goto 196
end local 10 end local 8 72: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 8
start local 8 73: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
if_icmpne 76
74: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 10
start local 10 75: goto 80
end local 10 StackMap locals: long
StackMap stack:
76: iload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 79
77: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
astore 10
start local 10 78: goto 80
end local 10 79: StackMap locals:
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 10
start local 10 80: 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 81: aload 10
lload 11
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 83
82: iinc 3 1
83: StackMap locals: long
StackMap stack:
lload 8
bipush 7
iload 4
iload 6
isub
imul
i2l
ladd
lstore 8
84: lload 8
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 85
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 86
StackMap locals:
StackMap stack:
85: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
86: astore 10
87: aload 10
lload 8
invokevirtual sun.util.calendar.BaseCalendar.getYearFromFixedDate:(J)I
iload 5
if_icmpeq 89
88: iinc 4 -1
89: StackMap locals:
StackMap stack:
iload 6
iload 2
iload 3
iload 4
invokestatic java.util.GregorianCalendar.getRolledValue:(IIII)I
iconst_1
isub
istore 7
90: 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 91: aload 0
iconst_2
aload 13
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
92: aload 0
iconst_5
aload 13
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
93: return
end local 13 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 94: 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 95: 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 96: iload 6
ifge 98
97: iinc 6 7
98: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 7
start local 7 99: iload 5
ifeq 103
100: 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 101: aload 0
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 11
start local 11 102: goto 105
end local 11 end local 9 103: 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 104: 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 105: StackMap locals: long int
StackMap stack:
lload 9
ldc 6
ladd
106: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
107: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 12
start local 12 108: lload 12
lload 9
lsub
l2i
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 110
109: lload 12
ldc 7
lsub
lstore 12
110: StackMap locals: long
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
111: 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 112: lload 12
iload 14
bipush 7
imul
i2l
ladd
iload 6
i2l
ladd
lstore 15
start local 15 113: lload 15
lload 9
lcmp
ifge 116
114: lload 9
lstore 15
115: goto 118
StackMap locals: int long
StackMap stack:
116: lload 15
lload 9
iload 11
i2l
ladd
lcmp
iflt 118
117: lload 9
iload 11
i2l
ladd
lconst_1
lsub
lstore 15
118: StackMap locals:
StackMap stack:
iload 5
ifeq 122
119: aload 0
lload 15
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 18
start local 18 120: aload 18
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
istore 17
end local 18 start local 17 121: goto 123
end local 17 122: StackMap locals:
StackMap stack:
lload 15
lload 9
lsub
l2i
iconst_1
iadd
istore 17
start local 17 123: StackMap locals: int
StackMap stack:
aload 0
iconst_5
iload 17
invokevirtual java.util.GregorianCalendar.set:(II)V
124: 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 125: 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 128
126: 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
127: goto 196
128: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 129: 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 130: 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 131: aload 0
lload 7
iload 9
i2l
ladd
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 10
start local 10 132: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 133
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 133
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
133: 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
134: return
end local 10 end local 9 end local 7 end local 5 135: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
istore 4
136: 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 138
137: goto 196
138: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 139: lload 5
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
i2l
lsub
lconst_1
ladd
lstore 7
start local 7 140: 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 141: 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 142: aload 0
iconst_2
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getMonth:()I
iconst_1
isub
invokevirtual java.util.GregorianCalendar.set:(II)V
143: aload 0
iconst_5
aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
144: return
end local 10 end local 9 end local 7 end local 5 145: 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 151
146: aload 0
iconst_3
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 5
start local 5 147: iload 5
iconst_1
if_icmple 151
iload 5
bipush 52
if_icmpge 151
148: aload 0
iconst_3
iload 5
invokevirtual java.util.GregorianCalendar.set:(II)V
149: bipush 7
istore 4
150: goto 196
end local 5 151: StackMap locals:
StackMap stack:
iload 2
bipush 7
irem
istore 2
152: iload 2
ifne 154
153: return
154: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 155: lload 5
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 7
start local 7 156: lload 5
iload 2
i2l
ladd
lstore 5
157: lload 5
lload 7
lcmp
ifge 160
158: lload 5
ldc 7
ladd
lstore 5
159: goto 162
StackMap locals: long long
StackMap stack:
160: lload 5
lload 7
ldc 7
ladd
lcmp
iflt 162
161: lload 5
ldc 7
lsub
lstore 5
162: StackMap locals:
StackMap stack:
aload 0
lload 5
invokevirtual java.util.GregorianCalendar.getCalendarDate:(J)Lsun/util/calendar/BaseCalendar$Date;
astore 9
start local 9 163: aload 0
iconst_0
aload 9
invokevirtual sun.util.calendar.BaseCalendar$Date.getNormalizedYear:()I
ifgt 164
iconst_0
goto 165
StackMap locals: java.util.GregorianCalendar int int int int long long sun.util.calendar.BaseCalendar$Date
StackMap stack: java.util.GregorianCalendar int
164: 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
165: invokevirtual java.util.GregorianCalendar.set:(II)V
166: 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
167: return
end local 9 end local 7 end local 5 168: StackMap locals:
StackMap stack:
iconst_1
istore 3
169: 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 179
170: aload 0
iconst_5
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 5
start local 5 171: 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 172: iload 6
bipush 7
irem
istore 7
start local 7 173: iload 6
bipush 7
idiv
istore 4
174: iload 5
iconst_1
isub
bipush 7
irem
istore 8
start local 8 175: iload 8
iload 7
if_icmpge 177
176: iinc 4 1
177: 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
178: goto 196
end local 8 end local 7 end local 6 end local 5 179: StackMap locals: java.util.GregorianCalendar int int int int
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.getCurrentFixedDate:()J
lstore 5
start local 5 180: 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 181: aload 0
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 9
start local 9 182: iload 9
bipush 7
irem
istore 10
start local 10 183: iload 9
bipush 7
idiv
istore 4
184: lload 5
lload 7
lsub
l2i
bipush 7
irem
istore 11
start local 11 185: iload 11
iload 10
if_icmpge 187
186: iinc 4 1
187: 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 188: lload 7
iload 12
bipush 7
imul
i2l
ladd
iload 11
i2l
ladd
lstore 5
189: lload 5
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 190
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 191
StackMap locals: int
StackMap stack:
190: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
191: astore 13
start local 13 192: 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 193: aload 13
aload 14
lload 5
invokevirtual sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate:(Lsun/util/calendar/CalendarDate;J)V
194: aload 0
iconst_5
aload 14
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
invokevirtual java.util.GregorianCalendar.set:(II)V
195: 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 196: 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
197: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 198 0 this Ljava/util/GregorianCalendar;
0 198 1 field I
0 198 2 amount I
6 198 3 min I
7 198 4 max I
10 37 5 unit I
11 37 6 h I
12 37 7 nh I
16 37 8 d Lsun/util/calendar/CalendarDate;
26 37 9 hourOfDay I
33 37 10 zoneOffset I
34 37 11 saving I
39 45 5 mon I
43 45 6 monthLen I
47 54 5 yearLength I
48 54 6 mon I
52 54 7 monthLen I
56 94 5 y I
59 94 6 woy I
60 94 7 value I
65 72 8 fd J
66 72 10 day1 J
73 94 8 fd J
75 76 10 cal Lsun/util/calendar/BaseCalendar;
78 79 10 cal Lsun/util/calendar/BaseCalendar;
80 94 10 cal Lsun/util/calendar/BaseCalendar;
81 94 11 day1 J
91 94 13 d Lsun/util/calendar/BaseCalendar$Date;
95 125 5 isCutoverYear Z
96 125 6 dow I
99 125 7 fd J
101 103 9 month1 J
104 125 9 month1 J
102 103 11 monthLength I
105 125 11 monthLength I
108 125 12 monthDay1st J
112 125 14 value I
113 125 15 nfd J
121 122 17 dayOfMonth I
123 125 17 dayOfMonth I
120 121 18 d Lsun/util/calendar/BaseCalendar$Date;
129 135 5 fd J
130 135 7 month1 J
131 135 9 value I
132 135 10 d Lsun/util/calendar/BaseCalendar$Date;
139 145 5 fd J
140 145 7 jan1 J
141 145 9 value I
142 145 10 d Lsun/util/calendar/BaseCalendar$Date;
147 151 5 weekOfYear I
155 168 5 fd J
156 168 7 dowFirst J
163 168 9 d Lsun/util/calendar/BaseCalendar$Date;
171 179 5 dom I
172 179 6 monthLength I
173 179 7 lastDays I
175 179 8 x I
180 196 5 fd J
181 196 7 month1 J
182 196 9 monthLength I
183 196 10 lastDays I
185 196 11 x I
188 196 12 value I
192 196 13 cal Lsun/util/calendar/BaseCalendar;
193 196 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: 114
2: 8
3: 51
4: 69
5: 18
6: 29
7: 143
8: 95
default: 143
}
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 144
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 144
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 144
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfMonth:()I
iload 6
if_icmpne 21
20: goto 144
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 144
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 144
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 144
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 144
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 144
iload 9
iconst_5
if_icmpeq 62
iload 9
bipush 12
if_icmpne 144
62: StackMap locals: int
StackMap stack:
iinc 6 1
63: goto 144
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 2
bipush 6
aload 0
bipush 6
invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
67: aload 2
iconst_3
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
68: goto 144
69: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 87
70: aload 4
aconst_null
invokevirtual sun.util.calendar.BaseCalendar.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
astore 7
start local 7 71: 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
72: aload 4
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getDayOfWeek:(Lsun/util/calendar/CalendarDate;)I
istore 8
start local 8 73: aload 4
aload 7
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 9
start local 9 74: iload 8
aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
isub
istore 8
75: iload 8
ifge 77
76: iinc 8 7
77: StackMap locals: sun.util.calendar.CalendarDate int int
StackMap stack:
bipush 7
iload 8
isub
istore 10
start local 10 78: iconst_3
istore 6
79: iload 10
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 81
80: iinc 6 1
81: StackMap locals: int
StackMap stack:
iload 9
iload 10
bipush 21
iadd
isub
istore 9
82: iload 9
ifle 144
83: iinc 6 1
84: iload 9
bipush 7
if_icmple 144
85: iinc 6 1
86: goto 144
end local 10 end local 9 end local 8 end local 7 87: 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 89
88: aload 2
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
89: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 7
start local 7 90: aload 2
iconst_2
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
istore 8
start local 8 91: StackMap locals: int int
StackMap stack:
aload 2
iconst_4
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
92: aload 2
iconst_4
iconst_1
invokevirtual java.util.GregorianCalendar.add:(II)V
93: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.get:(I)I
iload 7
if_icmpne 144
aload 2
iconst_2
invokevirtual java.util.GregorianCalendar.get:(I)I
iload 8
if_icmpeq 91
end local 8 end local 7 94: goto 144
95: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
istore 9
start local 9 96: aload 2
iload 5
invokevirtual java.util.GregorianCalendar.isCutoverYear:(I)Z
ifne 103
97: aload 3
invokevirtual sun.util.calendar.BaseCalendar$Date.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.BaseCalendar$Date
astore 10
start local 10 98: aload 4
aload 10
invokevirtual sun.util.calendar.BaseCalendar.getMonthLength:(Lsun/util/calendar/CalendarDate;)I
istore 7
start local 7 99: aload 10
iconst_1
invokevirtual sun.util.calendar.BaseCalendar$Date.setDayOfMonth:(I)Lsun/util/calendar/CalendarDate;
pop
100: aload 4
aload 10
invokevirtual sun.util.calendar.BaseCalendar.normalize:(Lsun/util/calendar/CalendarDate;)Z
pop
101: aload 10
invokevirtual sun.util.calendar.BaseCalendar$Date.getDayOfWeek:()I
istore 8
end local 10 start local 8 102: goto 108
end local 8 end local 7 103: 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 105
104: aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
105: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.actualMonthLength:()I
istore 7
start local 7 106: aload 2
iconst_5
aload 2
iconst_5
invokevirtual java.util.GregorianCalendar.getActualMinimum:(I)I
invokevirtual java.util.GregorianCalendar.set:(II)V
107: aload 2
bipush 7
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 8
start local 8 108: 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 109: iload 10
ifge 111
110: iinc 10 7
111: StackMap locals: int
StackMap stack:
iload 7
iload 10
isub
istore 7
112: iload 7
bipush 6
iadd
bipush 7
idiv
istore 6
end local 10 end local 9 end local 8 end local 7 113: goto 144
114: 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 116
115: aload 0
invokevirtual java.util.GregorianCalendar.clone:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 2
116: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.getYearOffsetInMillis:()J
lstore 7
start local 7 117: aload 2
invokevirtual java.util.GregorianCalendar.internalGetEra:()I
iconst_1
if_icmpne 124
118: aload 2
ldc 9223372036854775807
invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
119: aload 2
iconst_1
invokevirtual java.util.GregorianCalendar.get:(I)I
istore 6
120: aload 2
invokevirtual java.util.GregorianCalendar.getYearOffsetInMillis:()J
lstore 9
start local 9 121: lload 7
lload 9
lcmp
ifle 144
122: iinc 6 -1
end local 9 123: goto 144
124: StackMap locals: long
StackMap stack:
aload 2
invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
aload 0
getfield java.util.GregorianCalendar.gregorianCutover:J
lcmp
iflt 126
125: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
goto 127
StackMap locals:
StackMap stack:
126: invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
127: StackMap locals:
StackMap stack: sun.util.calendar.BaseCalendar
astore 9
start local 9 128: 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 129: 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 130: lload 11
ldc 60
lmul
lstore 11
131: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getMinutes:()I
i2l
ladd
lstore 11
132: lload 11
ldc 60
lmul
lstore 11
133: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getSeconds:()I
i2l
ladd
lstore 11
134: lload 11
ldc 1000
lmul
lstore 11
135: lload 11
aload 10
invokevirtual sun.util.calendar.CalendarDate.getMillis:()I
i2l
ladd
lstore 11
136: aload 10
invokevirtual sun.util.calendar.CalendarDate.getYear:()I
istore 6
137: iload 6
ifgt 140
138: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 139
aload 9
getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
if_acmpeq 139
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
139: StackMap locals: sun.util.calendar.CalendarSystem sun.util.calendar.CalendarDate long
StackMap stack:
iconst_1
iload 6
isub
istore 6
140: StackMap locals:
StackMap stack:
lload 7
lload 11
lcmp
ifge 144
141: iinc 6 -1
end local 11 end local 10 end local 9 end local 7 142: goto 144
143: 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
144: 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 145 0 this Ljava/util/GregorianCalendar;
0 145 1 field I
3 145 2 gc Ljava/util/GregorianCalendar;
4 145 3 date Lsun/util/calendar/BaseCalendar$Date;
5 145 4 cal Lsun/util/calendar/BaseCalendar;
6 145 5 normalizedYear I
7 145 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
71 87 7 d Lsun/util/calendar/CalendarDate;
73 87 8 dayOfWeek I
74 87 9 monthLength I
78 87 10 nDaysFirstWeek I
90 94 7 y I
91 94 8 m I
99 103 7 ndays I
106 113 7 ndays I
102 103 8 dow1 I
108 113 8 dow1 I
96 113 9 dow I
98 102 10 d Lsun/util/calendar/BaseCalendar$Date;
109 113 10 x I
117 142 7 current J
121 123 9 maxEnd J
128 142 9 mincal Lsun/util/calendar/CalendarSystem;
129 142 10 d Lsun/util/calendar/CalendarDate;
130 142 11 maxEnd J
MethodParameters:
Name Flags
field
private final long getYearOffsetInMillis();
descriptor: ()J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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
protected void computeFields();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual java.util.GregorianCalendar.isPartiallyNormalized:()Z
ifeq 9
2: aload 0
invokevirtual java.util.GregorianCalendar.getSetStateFields:()I
istore 1
3: iload 1
iconst_m1
ixor
ldc 131071
iand
istore 2
start local 2 4: iload 2
ifne 5
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
ifnonnull 11
5: StackMap locals: int int
StackMap stack:
iload 1
aload 0
iload 2
6: iload 1
ldc 98304
iand
7: invokevirtual java.util.GregorianCalendar.computeFields:(II)I
ior
istore 1
8: getstatic java.util.GregorianCalendar.$assertionsDisabled:Z
ifne 11
iload 1
ldc 131071
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 9: StackMap locals:
StackMap stack:
ldc 131071
istore 1
10: aload 0
iload 1
iconst_0
invokevirtual java.util.GregorianCalendar.computeFields:(II)I
pop
11: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.util.GregorianCalendar.setFieldsComputed:(I)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/GregorianCalendar;
1 13 1 mask I
4 9 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 183
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
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
getstatic java.util.GregorianCalendar.jcal:Lsun/util/calendar/JulianCalendar;
if_acmpne 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 146
122: lload 14
lconst_1
lsub
lstore 22
start local 22 123: iload 13
iload 19
iconst_1
iadd
if_icmple 128
124: lload 14
ldc 365
lsub
lstore 24
start local 24 125: iload 13
iconst_1
isub
invokestatic sun.util.calendar.CalendarUtils.isGregorianLeapYear:(I)Z
ifeq 144
126: lload 24
lconst_1
lsub
lstore 24
127: goto 144
end local 24 128: StackMap locals: int long
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
astore 26
start local 26 129: iload 13
iconst_1
isub
istore 27
start local 27 130: iload 27
iload 19
if_icmpne 132
131: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 26
132: StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int int int int int int long int long int int int long top top sun.util.calendar.BaseCalendar int
StackMap stack:
aload 26
iload 27
133: iconst_1
134: iconst_1
135: aconst_null
136: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
start local 24 137: goto 143
138: StackMap locals: java.util.GregorianCalendar int int int java.util.TimeZone long int int int int int int int long int long int int int long long sun.util.calendar.BaseCalendar int
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
iinc 27 -1
iload 27
139: iconst_1
140: iconst_1
141: aconst_null
142: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
143: StackMap locals:
StackMap stack:
lload 24
lload 22
lcmp
ifgt 138
end local 27 end local 26 144: 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 145: goto 180
146: StackMap locals:
StackMap stack:
iload 13
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpgt 148
147: iload 13
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
iconst_1
isub
if_icmpge 159
148: StackMap locals:
StackMap stack:
iload 21
bipush 52
if_icmplt 180
149: lload 14
ldc 365
ladd
lstore 22
start local 22 150: aload 0
getfield java.util.GregorianCalendar.cdate:Lsun/util/calendar/BaseCalendar$Date;
invokevirtual sun.util.calendar.BaseCalendar$Date.isLeapYear:()Z
ifeq 152
151: lload 22
lconst_1
ladd
lstore 22
152: StackMap locals: long
StackMap stack:
lload 22
ldc 6
ladd
153: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
154: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 24
start local 24 155: lload 24
lload 22
lsub
l2i
istore 26
start local 26 156: iload 26
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 180
lload 5
lload 24
ldc 7
lsub
lcmp
iflt 180
157: iconst_1
istore 21
end local 26 end local 24 end local 22 158: goto 180
159: StackMap locals:
StackMap stack:
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
astore 22
start local 22 160: iload 13
iconst_1
iadd
istore 23
start local 23 161: iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYearJulian:I
iconst_1
iadd
if_icmpne 164
162: iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpge 164
163: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
istore 23
164: StackMap locals: sun.util.calendar.BaseCalendar int
StackMap stack:
iload 23
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverYear:I
if_icmpne 166
165: aload 0
invokevirtual java.util.GregorianCalendar.getCutoverCalendarSystem:()Lsun/util/calendar/BaseCalendar;
astore 22
166: StackMap locals:
StackMap stack:
aload 22
iload 23
167: iconst_1
168: iconst_1
169: aconst_null
170: invokevirtual sun.util.calendar.BaseCalendar.getFixedDate:(IIILsun/util/calendar/BaseCalendar$Date;)J
lstore 24
start local 24 171: lload 24
lload 5
lcmp
ifge 174
172: aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lstore 24
173: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
astore 22
174: StackMap locals: long
StackMap stack:
lload 24
ldc 6
ladd
175: aload 0
invokevirtual java.util.GregorianCalendar.getFirstDayOfWeek:()I
176: invokestatic sun.util.calendar.BaseCalendar.getDayOfWeekDateOnOrBefore:(JI)J
lstore 26
start local 26 177: lload 26
lload 24
lsub
l2i
istore 28
start local 28 178: iload 28
aload 0
invokevirtual java.util.GregorianCalendar.getMinimalDaysInFirstWeek:()I
if_icmplt 180
lload 5
lload 26
ldc 7
lsub
lcmp
iflt 180
179: iconst_1
istore 21
end local 28 end local 26 end local 24 end local 23 end local 22 180: StackMap locals:
StackMap stack:
aload 0
iconst_3
iload 21
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
181: aload 0
iconst_4
aload 0
lload 17
lload 5
invokevirtual java.util.GregorianCalendar.getWeekNumber:(JJ)I
invokevirtual java.util.GregorianCalendar.internalSet:(II)V
182: 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 183: 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 184 0 this Ljava/util/GregorianCalendar;
0 184 1 fieldMask I
0 184 2 tzMask I
1 184 3 zoneOffset I
2 184 4 tz Ljava/util/TimeZone;
18 184 5 fixedDate J
19 184 7 timeOfDay I
30 184 8 era I
54 60 9 year I
67 184 9 year I
64 67 10 e Lsun/util/calendar/Era;
70 184 10 mask I
71 184 11 month I
72 184 12 dayOfMonth I
80 88 13 hours I
84 88 14 r I
102 183 13 normalizedYear I
103 183 14 fixedDateJan1 J
104 183 16 dayOfYear I
105 183 17 fixedDateMonth1 J
108 183 19 cutoverYear I
109 183 20 relativeDayOfMonth I
115 118 21 realDayOfYear I
121 183 21 weekOfYear I
123 145 22 fixedDec31 J
125 128 24 prevJan1 J
137 145 24 prevJan1 J
129 144 26 calForJan1 Lsun/util/calendar/BaseCalendar;
130 144 27 prevYear I
150 158 22 nextJan1 J
155 158 24 nextJan1st J
156 158 26 ndays I
160 180 22 calForJan1 Lsun/util/calendar/BaseCalendar;
161 180 23 nextYear I
171 180 24 nextJan1 J
177 180 26 nextJan1st J
178 180 28 ndays I
MethodParameters:
Name Flags
fieldMask
tzMask
private final int getWeekNumber(long, long);
descriptor: (JJ)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=14, 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 75
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 75
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
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 59: 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 60: StackMap locals: long long
StackMap stack:
lload 8
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 69
61: lload 10
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
iflt 64
62: lload 8
lstore 6
63: goto 75
64: 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 65
aload 0
getfield java.util.GregorianCalendar.calsys:Lsun/util/calendar/BaseCalendar;
ifnonnull 67
65: StackMap locals:
StackMap stack:
lload 8
lstore 6
66: goto 75
67: StackMap locals:
StackMap stack:
lload 10
lstore 6
68: goto 75
69: StackMap locals:
StackMap stack:
lload 10
aload 0
getfield java.util.GregorianCalendar.gregorianCutoverDate:J
lcmp
ifge 72
70: lload 10
lstore 6
71: goto 75
72: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 74
73: new java.lang.IllegalArgumentException
dup
ldc "the specified date doesn't exist"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
74: StackMap locals:
StackMap stack:
lload 10
lstore 6
end local 10 end local 8 75: StackMap locals:
StackMap stack:
lload 6
ldc 719163
lsub
ldc 86400000
lmul
lload 4
ladd
lstore 8
start local 8 76: aload 0
invokevirtual java.util.GregorianCalendar.getZone:()Ljava/util/TimeZone;
astore 10
start local 10 77: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
ifnonnull 79
78: aload 0
iconst_2
newarray 10
putfield java.util.GregorianCalendar.zoneOffsets:[I
79: StackMap locals: long java.util.TimeZone
StackMap stack:
iload 1
ldc 98304
iand
istore 11
start local 11 80: iload 11
ldc 98304
if_icmpeq 89
81: aload 10
instanceof sun.util.calendar.ZoneInfo
ifeq 84
82: 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
83: goto 89
84: StackMap locals: int
StackMap stack:
iload 1
bipush 15
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 86
85: aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
goto 87
StackMap locals:
StackMap stack:
86: aload 10
invokevirtual java.util.TimeZone.getRawOffset:()I
87: StackMap locals:
StackMap stack: int
istore 12
start local 12 88: 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 89: StackMap locals:
StackMap stack:
iload 11
ifeq 94
90: iload 11
bipush 15
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 92
91: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_0
aload 0
bipush 15
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
92: StackMap locals:
StackMap stack:
iload 11
bipush 16
invokestatic java.util.GregorianCalendar.isFieldSet:(II)Z
ifeq 94
93: aload 0
getfield java.util.GregorianCalendar.zoneOffsets:[I
iconst_1
aload 0
bipush 16
invokevirtual java.util.GregorianCalendar.internalGet:(I)I
iastore
94: 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
95: aload 0
lload 8
putfield java.util.GregorianCalendar.time:J
96: 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 97: aload 0
invokevirtual java.util.GregorianCalendar.isLenient:()Z
ifne 107
98: iconst_0
istore 13
start local 13 99: goto 106
100: StackMap locals: int int
StackMap stack:
aload 0
iload 13
invokevirtual java.util.GregorianCalendar.isExternallySet:(I)Z
ifne 102
101: goto 105
102: 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 105
103: 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
104: new java.lang.IllegalArgumentException
dup
iload 13
invokestatic java.util.GregorianCalendar.getFieldName:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
105: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
106: iload 13
bipush 17
if_icmplt 100
end local 13 107: StackMap locals:
StackMap stack:
aload 0
iload 12
invokevirtual java.util.GregorianCalendar.setFieldsNormalized:(I)V
108: 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 109 0 this Ljava/util/GregorianCalendar;
4 12 1 field I
6 10 2 value I
13 109 1 fieldMask I
16 109 2 year I
17 109 3 era I
26 109 4 timeOfDay J
39 109 6 fixedDate J
46 51 8 gfd J
57 58 8 gfd J
59 75 8 gfd J
50 51 10 jfd J
53 58 10 jfd J
60 75 10 jfd J
76 109 8 millis J
77 109 10 zone Ljava/util/TimeZone;
80 109 11 tzMask I
88 89 12 gmtOffset I
97 109 12 mask I
99 107 13 field I
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 final java.util.GregorianCalendar getNormalizedCalendar();
descriptor: ()Ljava/util/GregorianCalendar;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final synchronized sun.util.calendar.BaseCalendar getJulianCalendarSystem();
descriptor: ()Lsun/util/calendar/BaseCalendar;
flags: (0x003a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, 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=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.GregorianCalendar.getGregorianCutoverDate:()Lsun/util/calendar/BaseCalendar$Date;
astore 1
start local 1 1: aload 1
invokevirtual sun.util.calendar.CalendarDate.getMonth:()I
iconst_1
if_icmpne 4
2: aload 1
invokevirtual sun.util.calendar.CalendarDate.getDayOfMonth:()I
iconst_1
if_icmpne 4
3: getstatic java.util.GregorianCalendar.gcal:Lsun/util/calendar/Gregorian;
areturn
4: StackMap locals: sun.util.calendar.CalendarDate
StackMap stack:
invokestatic java.util.GregorianCalendar.getJulianCalendarSystem:()Lsun/util/calendar/BaseCalendar;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/GregorianCalendar;
1 5 1 date Lsun/util/calendar/CalendarDate;
private final boolean isCutoverYear(int);
descriptor: (I)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final long getFixedDateJan1(sun.util.calendar.BaseCalendar$Date, long);
descriptor: (Lsun/util/calendar/BaseCalendar$Date;J)J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 jcal Lsun/util/calendar/BaseCalendar;
MethodParameters:
Name Flags
date
fixedDate
private final long getFixedDateMonth1(sun.util.calendar.BaseCalendar$Date, long);
descriptor: (Lsun/util/calendar/BaseCalendar$Date;J)J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final sun.util.calendar.BaseCalendar$Date getCalendarDate(long);
descriptor: (J)Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final sun.util.calendar.BaseCalendar$Date getGregorianCutoverDate();
descriptor: ()Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final sun.util.calendar.BaseCalendar$Date getLastJulianDate();
descriptor: ()Lsun/util/calendar/BaseCalendar$Date;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int monthLength(int, int);
descriptor: (II)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int monthLength(int);
descriptor: (I)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int actualMonthLength();
descriptor: ()I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int yearLength(int);
descriptor: (I)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int yearLength();
descriptor: ()I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final void pinDayOfMonth();
descriptor: ()V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final long getCurrentFixedDate();
descriptor: ()J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 final int getRolledValue(int, int, int, int);
descriptor: (IIII)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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 final int internalGetEra();
descriptor: ()I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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
}
SourceFile: "GregorianCalendar.java"
InnerClasses:
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