abstract class oadd.org.joda.time.chrono.BasicGJChronology extends oadd.org.joda.time.chrono.BasicChronology
{
private static final long serialVersionUID;
private static final int[] MIN_DAYS_PER_MONTH_ARRAY;
private static final int[] MAX_DAYS_PER_MONTH_ARRAY;
private static final long[] MIN_TOTAL_MILLIS_BY_MONTH_ARRAY;
private static final long[] MAX_TOTAL_MILLIS_BY_MONTH_ARRAY;
private static final long FEB_29;
void <init>(oadd.org.joda.time.Chronology, java.lang.Object, int)
{
oadd.org.joda.time.Chronology v;
int v;
java.lang.Object v;
oadd.org.joda.time.chrono.BasicGJChronology v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: oadd.org.joda.time.Chronology;
v := @parameter: java.lang.Object;
v := @parameter: int;
specialinvoke v.<oadd.org.joda.time.chrono.BasicChronology: void <init>(oadd.org.joda.time.Chronology,java.lang.Object,int)>(v, v, v);
return;
}
boolean isLeapDay(long)
{
oadd.org.joda.time.DateTimeField v, v;
int v;
long v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v, v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: long;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: oadd.org.joda.time.DateTimeField dayOfMonth()>();
v = virtualinvoke v.<oadd.org.joda.time.DateTimeField: int get(long)>(v);
if v != 29 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: oadd.org.joda.time.DateTimeField monthOfYear()>();
v = virtualinvoke v.<oadd.org.joda.time.DateTimeField: boolean isLeap(long)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
int getMonthOfYear(long, int)
{
long v, v, v, v;
byte v;
int v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: long;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: long getYearMillis(int)>(v);
v = v - v;
v = v >> 10;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
if v >= 15356250 goto label;
if v >= 7678125 goto label;
if v >= 2615625 goto label;
v = 1;
goto label;
label:
if v >= 5062500 goto label;
v = 2;
goto label;
label:
v = 3;
goto label;
label:
if v >= 10209375 goto label;
v = 4;
goto label;
label:
if v >= 12825000 goto label;
v = 5;
goto label;
label:
v = 6;
goto label;
label:
if v >= 23118750 goto label;
if v >= 17971875 goto label;
v = 7;
goto label;
label:
if v >= 20587500 goto label;
v = 8;
goto label;
label:
v = 9;
goto label;
label:
if v >= 25734375 goto label;
v = 10;
goto label;
label:
if v >= 28265625 goto label;
v = 11;
goto label;
label:
v = 12;
goto label;
label:
if v >= 15271875 goto label;
if v >= 7593750 goto label;
if v >= 2615625 goto label;
v = 1;
goto label;
label:
if v >= 4978125 goto label;
v = 2;
goto label;
label:
v = 3;
goto label;
label:
if v >= 10125000 goto label;
v = 4;
goto label;
label:
if v >= 12740625 goto label;
v = 5;
goto label;
label:
v = 6;
goto label;
label:
if v >= 23034375 goto label;
if v >= 17887500 goto label;
v = 7;
goto label;
label:
if v >= 20503125 goto label;
v = 8;
goto label;
label:
v = 9;
goto label;
label:
if v >= 25650000 goto label;
v = 10;
goto label;
label:
if v >= 28181250 goto label;
v = 11;
goto label;
label:
v = 12;
label:
return v;
}
int getDaysInYearMonth(int, int)
{
int[] v, v;
int v, v, v, v, v, v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = <oadd.org.joda.time.chrono.BasicGJChronology: int[] MAX_DAYS_PER_MONTH_ARRAY>;
v = v - 1;
v = v[v];
return v;
label:
v = <oadd.org.joda.time.chrono.BasicGJChronology: int[] MIN_DAYS_PER_MONTH_ARRAY>;
v = v - 1;
v = v[v];
return v;
}
int getDaysInMonthMax(int)
{
int[] v;
int v, v, v;
oadd.org.joda.time.chrono.BasicGJChronology v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: int;
v = <oadd.org.joda.time.chrono.BasicGJChronology: int[] MAX_DAYS_PER_MONTH_ARRAY>;
v = v - 1;
v = v[v];
return v;
}
int getDaysInMonthMaxForSet(long, int)
{
int v, v;
long v;
oadd.org.joda.time.chrono.BasicGJChronology v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: long;
v := @parameter: int;
if v > 28 goto label;
if v >= 1 goto label;
label:
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getDaysInMonthMax(long)>(v);
goto label;
label:
v = 28;
label:
return v;
}
long getTotalMillisByYearMonth(int, int)
{
long v, v;
long[] v, v;
int v, v, v, v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = <oadd.org.joda.time.chrono.BasicGJChronology: long[] MAX_TOTAL_MILLIS_BY_MONTH_ARRAY>;
v = v - 1;
v = v[v];
return v;
label:
v = <oadd.org.joda.time.chrono.BasicGJChronology: long[] MIN_TOTAL_MILLIS_BY_MONTH_ARRAY>;
v = v - 1;
v = v[v];
return v;
}
long getYearDifference(long, long)
{
long v, v, v, v, v, v;
byte v, v, v;
int v, v, v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v, v, v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: long;
v := @parameter: long;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getYear(long)>(v);
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getYear(long)>(v);
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: long getYearMillis(int)>(v);
v = v - v;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: long getYearMillis(int)>(v);
v = v - v;
v = v cmp 5097600000L;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v != 0 goto label;
v = v - 86400000L;
goto label;
label:
v = v cmp 5097600000L;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = v - 86400000L;
label:
v = v - v;
v = v cmp v;
if v >= 0 goto label;
v = v - 1;
label:
return v;
}
long setYear(long, int)
{
long v, v, v;
int v, v, v, v;
oadd.org.joda.time.chrono.BasicGJChronology v;
boolean v, v, v;
v := @this: oadd.org.joda.time.chrono.BasicGJChronology;
v := @parameter: long;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getYear(long)>(v);
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getDayOfYear(long,int)>(v, v);
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: int getMillisOfDay(long)>(v);
if v <= 59 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v != 0 goto label;
v = v - 1;
goto label;
label:
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: boolean isLeapYear(int)>(v);
if v == 0 goto label;
v = v + 1;
label:
v = virtualinvoke v.<oadd.org.joda.time.chrono.BasicGJChronology: long getYearMonthDayMillis(int,int,int)>(v, 1, v);
v = v + v;
return v;
}
static void <clinit>()
{
long v, v, v, v;
long[] v, v, v, v;
int[] v, v, v, v;
int v, v, v, v, v;
v = newarray (int)[12];
v[0] = 31;
v[1] = 28;
v[2] = 31;
v[3] = 30;
v[4] = 31;
v[5] = 30;
v[6] = 31;
v[7] = 31;
v[8] = 30;
v[9] = 31;
v[10] = 30;
v[11] = 31;
<oadd.org.joda.time.chrono.BasicGJChronology: int[] MIN_DAYS_PER_MONTH_ARRAY> = v;
v = newarray (int)[12];
v[0] = 31;
v[1] = 29;
v[2] = 31;
v[3] = 30;
v[4] = 31;
v[5] = 30;
v[6] = 31;
v[7] = 31;
v[8] = 30;
v[9] = 31;
v[10] = 30;
v[11] = 31;
<oadd.org.joda.time.chrono.BasicGJChronology: int[] MAX_DAYS_PER_MONTH_ARRAY> = v;
v = newarray (long)[12];
<oadd.org.joda.time.chrono.BasicGJChronology: long[] MIN_TOTAL_MILLIS_BY_MONTH_ARRAY> = v;
v = newarray (long)[12];
<oadd.org.joda.time.chrono.BasicGJChronology: long[] MAX_TOTAL_MILLIS_BY_MONTH_ARRAY> = v;
v = 0L;
v = 0L;
v = 0;
label:
if v >= 11 goto label;
v = <oadd.org.joda.time.chrono.BasicGJChronology: int[] MIN_DAYS_PER_MONTH_ARRAY>;
v = v[v];
v = v * 86400000L;
v = v + v;
v = <oadd.org.joda.time.chrono.BasicGJChronology: long[] MIN_TOTAL_MILLIS_BY_MONTH_ARRAY>;
v = v + 1;
v[v] = v;
v = <oadd.org.joda.time.chrono.BasicGJChronology: int[] MAX_DAYS_PER_MONTH_ARRAY>;
v = v[v];
v = v * 86400000L;
v = v + v;
v = <oadd.org.joda.time.chrono.BasicGJChronology: long[] MAX_TOTAL_MILLIS_BY_MONTH_ARRAY>;
v = v + 1;
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
}