On Thu, 5 May 2022 10:17:16 GMT, Pavel Rappo <[email protected]> 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