On Wed, 16 Jun 2021 10:57:07 GMT, Patrick Concannon <pconcan...@openjdk.org> wrote:
>> Hi, >> >> Could someone please review my code for updating the code in the `java.time` >> packages to make use of the switch expressions? >> >> Kind regards, >> Patrick > > Patrick Concannon has updated the pull request with a new target base due to > a merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains four additional > commits since the last revision: > > - 8268469: Removed excessive spacing; corrected misplaced comments > - Merge remote-tracking branch 'origin/master' into JDK-8268469 > - Merge remote-tracking branch 'origin/master' into JDK-8268469 > - 8268469: Update java.time to use switch expressions src/java.base/share/classes/java/time/LocalDate.java line 607: > 605: if (field instanceof ChronoField chronoField) { > 606: if (chronoField.isDateBased()) { > 607: int n = switch (chronoField) { This logic is harder to read than before, and it requires the CPU to perform an extra branch on `(n == -1)`. It should just be a `return switch ...` src/java.base/share/classes/java/time/LocalDateTime.java line 1181: > 1179: if (unit instanceof ChronoUnit chronoUnit) { > 1180: return switch (chronoUnit) { > 1181: case NANOS -> plusNanos(amountToAdd); Still has unnecessary alignment There are lots of cases in the PR where `->` is still aligned. I'd like to see all of them unaligned. src/java.base/share/classes/java/time/Month.java line 480: > 478: int leap = leapYear ? 1 : 0; > 479: return switch (this) { > 480: case JANUARY -> 1; Unnecessary alignment ------------- PR: https://git.openjdk.java.net/jdk/pull/4433