RFR: JDK-8285869: Selective cleanup in doclint Checker class
Pavel Rappo
prappo at openjdk.java.net
Tue May 3 12:19:33 UTC 2022
On Fri, 29 Apr 2022 00:29:50 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:
> Please review some localized cleanup for the doclint Checker class, primarily focused on upgrading to the use of "enhanced `switch`"
>
> The output of one test was changed because of some improvements in one switch statement to eliminate the use of fall-through semantics.
It's nice to see many `break` go.
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java line 737:
> 735: private Element getEnclosingPackageOrClass(Element e) {
> 736: while (e != null) {
> 737: if (e.getKind().isDeclaredType() || e.getKind() == ElementKind.PACKAGE) {
This change does not seem to be equivalent: `isDeclaredType()` accepts more kinds than the `switch` did. Does it matter here?
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java line 866:
> 864: if (paramElement == null) {
> 865: switch (env.currElement.getKind()) {
> 866: case CLASS, ENUM, INTERFACE, ANNOTATION_TYPE -> {
Neither an enum nor annotation can be generic.
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java line 1127:
> 1125: return false;
> 1126:
> 1127: return switch (e.getKind()) {
While uniformity of constructs is good, to me, the previous variant read better. Does this have to be a switch expression?
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java line 1171:
> 1169:
> 1170: private boolean isDefaultConstructor() {
> 1171: return switch (env.currElement.getKind()) {
Similar to the above.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8460
More information about the compiler-dev
mailing list