On Thu, 5 May 2022 10:17:16 GMT, Pavel Rappo <pra...@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

Reply via email to