8280470: Confusing instanceof check in HijrahChronology.range

Reviewed-by: rriggs, naoto, dfuchs, iris
This commit is contained in:
Andrey Turbanov 2022-01-25 08:08:17 +00:00
parent a59d717fd6
commit 53804720a0

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -533,18 +533,14 @@ public final class HijrahChronology extends AbstractChronology implements Serial
@Override @Override
public ValueRange range(ChronoField field) { public ValueRange range(ChronoField field) {
checkCalendarInit(); checkCalendarInit();
if (field instanceof ChronoField) { return switch (field) {
ChronoField f = field; case DAY_OF_MONTH -> ValueRange.of(1, 1, getMinimumMonthLength(), getMaximumMonthLength());
return switch (f) { case DAY_OF_YEAR -> ValueRange.of(1, getMaximumDayOfYear());
case DAY_OF_MONTH -> ValueRange.of(1, 1, getMinimumMonthLength(), getMaximumMonthLength()); case ALIGNED_WEEK_OF_MONTH -> ValueRange.of(1, 5);
case DAY_OF_YEAR -> ValueRange.of(1, getMaximumDayOfYear()); case YEAR, YEAR_OF_ERA -> ValueRange.of(getMinimumYear(), getMaximumYear());
case ALIGNED_WEEK_OF_MONTH -> ValueRange.of(1, 5); case ERA -> ValueRange.of(1, 1);
case YEAR, YEAR_OF_ERA -> ValueRange.of(getMinimumYear(), getMaximumYear()); default -> field.range();
case ERA -> ValueRange.of(1, 1); };
default -> field.range();
};
}
return field.range();
} }
//----------------------------------------------------------------------- //-----------------------------------------------------------------------