RFR: JDK-8286153: Remove redundant casts and other cleanup

Jonathan Gibbons jjg at openjdk.java.net
Thu May 5 14:48:26 UTC 2022


On Thu, 5 May 2022 10:17:16 GMT, Pavel Rappo <prappo at openjdk.org> wrote:

>> Please review some cleanup updates to address issues reported by an IDE.
>> 
>> The seeds for the change were a series of redundant casts, that have now all been removed.  Various other warnings and suggestions were made by the IDE for the affected files. There were a number of places with redundant type arguments, for which the general fix was in favor of using `var` instead of `<>`.
>> 
>> Some `switch` statements were converted to the enhanced `switch` form, which also revealed a couple of places where `RECORD` should have been added alongside `ENUM`.
>
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java line 1063:
> 
>> 1061:                 if (enclosing != null) {
>> 1062:                     return switch (enclosing.getKind()) {
>> 1063:                         case CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE -> visit(enclosing);
> 
> Whoa! `RECORD` was missing. Does it make sense to accompany this PR with a small test that crashes javadoc with a type nested in a non-included record?

That's one possibility. 

Other possibilities:
* a separate issue to audit use of ENUM to make sure there is matching RECORD entries, or 
* avoid using `default` to implicitly enable completeness checking, or
* rewrite code to use `isDeclaredType`.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8543


More information about the javadoc-dev mailing list