BasicGJChronology.smali
.class abstract Lorg/joda/time/chrono/BasicGJChronology;
.super Lorg/joda/time/chrono/BasicChronology;
.source "BasicGJChronology.java"
# static fields
.field private static final FEB_29:J = 0x12fd73400L
.field private static final MAX_DAYS_PER_MONTH_ARRAY:[I
.field private static final MAX_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
.field private static final MIN_DAYS_PER_MONTH_ARRAY:[I
.field private static final MIN_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
.field private static final serialVersionUID:J = 0x7d53cd7eccL
# direct methods
.method static constructor <clinit>()V
.registers 10
.prologue
const-wide/32 v8, 0x5265c00
const-wide/16 v2, 0x0
const/16 v1, 0xc
.line 42
new-array v0, v1, [I
fill-array-data v0, :array_42
sput-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MIN_DAYS_PER_MONTH_ARRAY:[I
.line 45
new-array v0, v1, [I
fill-array-data v0, :array_5e
sput-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MAX_DAYS_PER_MONTH_ARRAY:[I
.line 53
new-array v0, v1, [J
sput-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MIN_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
.line 54
new-array v0, v1, [J
sput-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MAX_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
.line 58
const/4 v0, 0x0
move-wide v4, v2
:goto_1f
const/16 v1, 0xb
if-ge v0, v1, :cond_40
.line 59
sget-object v1, Lorg/joda/time/chrono/BasicGJChronology;->MIN_DAYS_PER_MONTH_ARRAY:[I
aget v1, v1, v0
int-to-long v6, v1
mul-long/2addr v6, v8
.line 61
add-long/2addr v4, v6
.line 62
sget-object v1, Lorg/joda/time/chrono/BasicGJChronology;->MIN_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
add-int/lit8 v6, v0, 0x1
aput-wide v4, v1, v6
.line 64
sget-object v1, Lorg/joda/time/chrono/BasicGJChronology;->MAX_DAYS_PER_MONTH_ARRAY:[I
aget v1, v1, v0
int-to-long v6, v1
mul-long/2addr v6, v8
.line 66
add-long/2addr v2, v6
.line 67
sget-object v1, Lorg/joda/time/chrono/BasicGJChronology;->MAX_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
add-int/lit8 v6, v0, 0x1
aput-wide v2, v1, v6
.line 58
add-int/lit8 v0, v0, 0x1
goto :goto_1f
.line 69
:cond_40
return-void
.line 42
nop
:array_42
.array-data 4
0x1f
0x1c
0x1f
0x1e
0x1f
0x1e
0x1f
0x1f
0x1e
0x1f
0x1e
0x1f
.end array-data
.line 45
:array_5e
.array-data 4
0x1f
0x1d
0x1f
0x1e
0x1f
0x1e
0x1f
0x1f
0x1e
0x1f
0x1e
0x1f
.end array-data
.end method
.method constructor <init>(Lorg/joda/time/Chronology;Ljava/lang/Object;I)V
.registers 4
.prologue
.line 75
invoke-direct {p0, p1, p2, p3}, Lorg/joda/time/chrono/BasicChronology;-><init>(Lorg/joda/time/Chronology;Ljava/lang/Object;I)V
.line 76
return-void
.end method
# virtual methods
.method getDaysInMonthMax(I)I
.registers 4
.prologue
.line 134
sget-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MAX_DAYS_PER_MONTH_ARRAY:[I
add-int/lit8 v1, p1, -0x1
aget v0, v0, v1
return v0
.end method
.method getDaysInMonthMaxForSet(JI)I
.registers 7
.prologue
const/16 v0, 0x1c
.line 139
if-gt p3, v0, :cond_7
const/4 v1, 0x1
if-ge p3, v1, :cond_b
:cond_7
invoke-virtual {p0, p1, p2}, Lorg/joda/time/chrono/BasicGJChronology;->getDaysInMonthMax(J)I
move-result v0
:cond_b
return v0
.end method
.method getDaysInYearMonth(II)I
.registers 5
.prologue
.line 125
invoke-virtual {p0, p1}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v0
if-eqz v0, :cond_d
.line 126
sget-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MAX_DAYS_PER_MONTH_ARRAY:[I
add-int/lit8 v1, p2, -0x1
aget v0, v0, v1
.line 128
:goto_c
return v0
:cond_d
sget-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MIN_DAYS_PER_MONTH_ARRAY:[I
add-int/lit8 v1, p2, -0x1
aget v0, v0, v1
goto :goto_c
.end method
.method getMonthOfYear(JI)I
.registers 13
.prologue
const/4 v3, 0x4
const/4 v2, 0x3
const/4 v1, 0x2
const/4 v0, 0x1
const/16 v4, 0xa
.line 93
invoke-virtual {p0, p3}, Lorg/joda/time/chrono/BasicGJChronology;->getYearMillis(I)J
move-result-wide v6
sub-long v6, p1, v6
shr-long/2addr v6, v4
long-to-int v5, v6
.line 98
invoke-virtual {p0, p3}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v6
if-eqz v6, :cond_66
const v6, 0xea515a
if-ge v5, v6, :cond_3d
const v4, 0x7528ad
if-ge v5, v4, :cond_2d
const v3, 0x27e949
if-ge v5, v3, :cond_24
:cond_23
:goto_23
return v0
:cond_24
const v0, 0x4d3f64
if-ge v5, v0, :cond_2b
move v0, v1
goto :goto_23
:cond_2b
move v0, v2
goto :goto_23
:cond_2d
const v0, 0x9bc85f
if-ge v5, v0, :cond_34
move v0, v3
goto :goto_23
:cond_34
const v0, 0xc3b1a8
if-ge v5, v0, :cond_3b
const/4 v0, 0x5
goto :goto_23
:cond_3b
const/4 v0, 0x6
goto :goto_23
:cond_3d
const v0, 0x160c39e
if-ge v5, v0, :cond_54
const v0, 0x1123aa3
if-ge v5, v0, :cond_49
const/4 v0, 0x7
goto :goto_23
:cond_49
const v0, 0x13a23ec
if-ge v5, v0, :cond_51
const/16 v0, 0x8
goto :goto_23
:cond_51
const/16 v0, 0x9
goto :goto_23
:cond_54
const v0, 0x188ace7
if-ge v5, v0, :cond_5b
move v0, v4
goto :goto_23
:cond_5b
const v0, 0x1af4c99
if-ge v5, v0, :cond_63
const/16 v0, 0xb
goto :goto_23
:cond_63
const/16 v0, 0xc
goto :goto_23
:cond_66
const v6, 0xe907c3
if-ge v5, v6, :cond_8e
const v4, 0x73df16
if-ge v5, v4, :cond_7e
const v3, 0x27e949
if-lt v5, v3, :cond_23
const v0, 0x4bf5cd
if-ge v5, v0, :cond_7c
move v0, v1
goto :goto_23
:cond_7c
move v0, v2
goto :goto_23
:cond_7e
const v0, 0x9a7ec8
if-ge v5, v0, :cond_85
move v0, v3
goto :goto_23
:cond_85
const v0, 0xc26811
if-ge v5, v0, :cond_8c
const/4 v0, 0x5
goto :goto_23
:cond_8c
const/4 v0, 0x6
goto :goto_23
:cond_8e
const v0, 0x15f7a07
if-ge v5, v0, :cond_a6
const v0, 0x110f10c
if-ge v5, v0, :cond_9a
const/4 v0, 0x7
goto :goto_23
:cond_9a
const v0, 0x138da55
if-ge v5, v0, :cond_a2
const/16 v0, 0x8
goto :goto_23
:cond_a2
const/16 v0, 0x9
goto/16 :goto_23
:cond_a6
const v0, 0x1876350
if-ge v5, v0, :cond_ae
move v0, v4
goto/16 :goto_23
:cond_ae
const v0, 0x1ae0302
if-ge v5, v0, :cond_b7
const/16 v0, 0xb
goto/16 :goto_23
:cond_b7
const/16 v0, 0xc
goto/16 :goto_23
.end method
.method getTotalMillisByYearMonth(II)J
.registers 5
.prologue
.line 144
invoke-virtual {p0, p1}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v0
if-eqz v0, :cond_d
.line 145
sget-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MAX_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
add-int/lit8 v1, p2, -0x1
aget-wide v0, v0, v1
.line 147
:goto_c
return-wide v0
:cond_d
sget-object v0, Lorg/joda/time/chrono/BasicGJChronology;->MIN_TOTAL_MILLIS_BY_MONTH_ARRAY:[J
add-int/lit8 v1, p2, -0x1
aget-wide v0, v0, v1
goto :goto_c
.end method
.method getYearDifference(JJ)J
.registers 14
.prologue
.line 153
invoke-virtual {p0, p1, p2}, Lorg/joda/time/chrono/BasicGJChronology;->getYear(J)I
move-result v6
.line 154
invoke-virtual {p0, p3, p4}, Lorg/joda/time/chrono/BasicGJChronology;->getYear(J)I
move-result v7
.line 157
invoke-virtual {p0, v6}, Lorg/joda/time/chrono/BasicGJChronology;->getYearMillis(I)J
move-result-wide v0
sub-long v2, p1, v0
.line 158
invoke-virtual {p0, v7}, Lorg/joda/time/chrono/BasicGJChronology;->getYearMillis(I)J
move-result-wide v0
sub-long v0, p3, v0
.line 161
const-wide v4, 0x12fd73400L
cmp-long v4, v0, v4
if-ltz v4, :cond_4f
.line 162
invoke-virtual {p0, v7}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v4
if-eqz v4, :cond_39
.line 163
invoke-virtual {p0, v6}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v4
if-nez v4, :cond_4f
.line 164
const-wide/32 v4, 0x5265c00
sub-long/2addr v0, v4
move-wide v4, v2
move-wide v2, v0
.line 171
:goto_2f
sub-int v0, v6, v7
.line 172
cmp-long v1, v4, v2
if-gez v1, :cond_37
.line 173
add-int/lit8 v0, v0, -0x1
.line 175
:cond_37
int-to-long v0, v0
return-wide v0
.line 166
:cond_39
const-wide v4, 0x12fd73400L
cmp-long v4, v2, v4
if-ltz v4, :cond_4f
invoke-virtual {p0, v6}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v4
if-eqz v4, :cond_4f
.line 167
const-wide/32 v4, 0x5265c00
sub-long/2addr v2, v4
move-wide v4, v2
move-wide v2, v0
goto :goto_2f
:cond_4f
move-wide v4, v2
move-wide v2, v0
goto :goto_2f
.end method
.method isLeapDay(J)Z
.registers 6
.prologue
.line 81
invoke-virtual {p0}, Lorg/joda/time/chrono/BasicGJChronology;->dayOfMonth()Lorg/joda/time/DateTimeField;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lorg/joda/time/DateTimeField;->get(J)I
move-result v0
const/16 v1, 0x1d
if-ne v0, v1, :cond_18
invoke-virtual {p0}, Lorg/joda/time/chrono/BasicGJChronology;->monthOfYear()Lorg/joda/time/DateTimeField;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lorg/joda/time/DateTimeField;->isLeap(J)Z
move-result v0
if-eqz v0, :cond_18
const/4 v0, 0x1
:goto_17
return v0
:cond_18
const/4 v0, 0x0
goto :goto_17
.end method
.method setYear(JI)J
.registers 9
.prologue
.line 180
invoke-virtual {p0, p1, p2}, Lorg/joda/time/chrono/BasicGJChronology;->getYear(J)I
move-result v1
.line 181
invoke-virtual {p0, p1, p2, v1}, Lorg/joda/time/chrono/BasicGJChronology;->getDayOfYear(JI)I
move-result v0
.line 182
invoke-virtual {p0, p1, p2}, Lorg/joda/time/chrono/BasicGJChronology;->getMillisOfDay(J)I
move-result v2
.line 184
const/16 v3, 0x3b
if-le v0, v3, :cond_1e
.line 185
invoke-virtual {p0, v1}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v1
if-eqz v1, :cond_26
.line 187
invoke-virtual {p0, p3}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v1
if-nez v1, :cond_1e
.line 189
add-int/lit8 v0, v0, -0x1
.line 200
:cond_1e
:goto_1e
const/4 v1, 0x1
invoke-virtual {p0, p3, v1, v0}, Lorg/joda/time/chrono/BasicGJChronology;->getYearMonthDayMillis(III)J
move-result-wide v0
.line 201
int-to-long v2, v2
add-long/2addr v0, v2
.line 203
return-wide v0
.line 193
:cond_26
invoke-virtual {p0, p3}, Lorg/joda/time/chrono/BasicGJChronology;->isLeapYear(I)Z
move-result v1
if-eqz v1, :cond_1e
.line 195
add-int/lit8 v0, v0, 0x1
goto :goto_1e
.end method