Skip to content

Commit b092784

Browse files
committed
ICU-23102 Simplify GregorianCalendar
Remove unnecessary fNormalizedGregorianCutover which is not read for any decision making nor in ICU4J.
1 parent 32d9a90 commit b092784

File tree

2 files changed

+7
-16
lines changed

2 files changed

+7
-16
lines changed

icu4c/source/i18n/gregocal.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ static const UDate kPapalCutover = (2299161.0 - kEpochStartAsJulianDay) * U_MILL
156156
GregorianCalendar::GregorianCalendar(UErrorCode& status)
157157
: Calendar(status),
158158
fGregorianCutover(kPapalCutover),
159-
fCutoverJulianDay(kCutoverJulianDay), fNormalizedGregorianCutover(fGregorianCutover), fGregorianCutoverYear(kDefaultCutoverYear),
159+
fCutoverJulianDay(kCutoverJulianDay), fGregorianCutoverYear(kDefaultCutoverYear),
160160
fIsGregorian(true), fInvertGregorian(false)
161161
{
162162
setTimeInMillis(getNow(), status);
@@ -189,7 +189,7 @@ GregorianCalendar::GregorianCalendar(TimeZone* zone, const Locale& aLocale,
189189
UErrorCode& status)
190190
: Calendar(zone, aLocale, status),
191191
fGregorianCutover(kPapalCutover),
192-
fCutoverJulianDay(kCutoverJulianDay), fNormalizedGregorianCutover(fGregorianCutover), fGregorianCutoverYear(kDefaultCutoverYear),
192+
fCutoverJulianDay(kCutoverJulianDay), fGregorianCutoverYear(kDefaultCutoverYear),
193193
fIsGregorian(true), fInvertGregorian(false)
194194
{
195195
setTimeInMillis(getNow(), status);
@@ -201,7 +201,7 @@ GregorianCalendar::GregorianCalendar(const TimeZone& zone, const Locale& aLocale
201201
UErrorCode& status)
202202
: Calendar(zone, aLocale, status),
203203
fGregorianCutover(kPapalCutover),
204-
fCutoverJulianDay(kCutoverJulianDay), fNormalizedGregorianCutover(fGregorianCutover), fGregorianCutoverYear(kDefaultCutoverYear),
204+
fCutoverJulianDay(kCutoverJulianDay), fGregorianCutoverYear(kDefaultCutoverYear),
205205
fIsGregorian(true), fInvertGregorian(false)
206206
{
207207
setTimeInMillis(getNow(), status);
@@ -213,7 +213,7 @@ GregorianCalendar::GregorianCalendar(int32_t year, int32_t month, int32_t date,
213213
UErrorCode& status)
214214
: Calendar(TimeZone::createDefault(), Locale::getDefault(), status),
215215
fGregorianCutover(kPapalCutover),
216-
fCutoverJulianDay(kCutoverJulianDay), fNormalizedGregorianCutover(fGregorianCutover), fGregorianCutoverYear(kDefaultCutoverYear),
216+
fCutoverJulianDay(kCutoverJulianDay), fGregorianCutoverYear(kDefaultCutoverYear),
217217
fIsGregorian(true), fInvertGregorian(false)
218218
{
219219
set(UCAL_ERA, AD);
@@ -253,7 +253,7 @@ GregorianCalendar::~GregorianCalendar()
253253
GregorianCalendar::GregorianCalendar(const GregorianCalendar &source)
254254
: Calendar(source),
255255
fGregorianCutover(source.fGregorianCutover),
256-
fCutoverJulianDay(source.fCutoverJulianDay), fNormalizedGregorianCutover(source.fNormalizedGregorianCutover), fGregorianCutoverYear(source.fGregorianCutoverYear),
256+
fCutoverJulianDay(source.fCutoverJulianDay), fGregorianCutoverYear(source.fGregorianCutoverYear),
257257
fIsGregorian(source.fIsGregorian), fInvertGregorian(source.fInvertGregorian)
258258
{
259259
}
@@ -274,7 +274,6 @@ GregorianCalendar::operator=(const GregorianCalendar &right)
274274
{
275275
Calendar::operator=(right);
276276
fGregorianCutover = right.fGregorianCutover;
277-
fNormalizedGregorianCutover = right.fNormalizedGregorianCutover;
278277
fGregorianCutoverYear = right.fGregorianCutoverYear;
279278
fCutoverJulianDay = right.fCutoverJulianDay;
280279
}
@@ -311,12 +310,11 @@ GregorianCalendar::setGregorianChange(UDate date, UErrorCode& status)
311310

312311
if (cutoverDay <= INT32_MIN) {
313312
cutoverDay = INT32_MIN;
314-
fGregorianCutover = fNormalizedGregorianCutover = cutoverDay * kOneDay;
313+
fGregorianCutover = cutoverDay * kOneDay;
315314
} else if (cutoverDay >= INT32_MAX) {
316315
cutoverDay = INT32_MAX;
317-
fGregorianCutover = fNormalizedGregorianCutover = cutoverDay * kOneDay;
316+
fGregorianCutover = cutoverDay * kOneDay;
318317
} else {
319-
fNormalizedGregorianCutover = cutoverDay * kOneDay;
320318
fGregorianCutover = date;
321319
}
322320

icu4c/source/i18n/unicode/gregocal.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -675,13 +675,6 @@ class U_I18N_API GregorianCalendar: public Calendar {
675675
*/
676676
int32_t fCutoverJulianDay;
677677

678-
/**
679-
* Midnight, local time (using this Calendar's TimeZone) at or before the
680-
* gregorianCutover. This is a pure date value with no time of day or
681-
* timezone component.
682-
*/
683-
UDate fNormalizedGregorianCutover;// = gregorianCutover;
684-
685678
/**
686679
* The year of the gregorianCutover, with 0 representing
687680
* 1 BC, -1 representing 2 BC, etc.

0 commit comments

Comments
 (0)