On Mon, 27 Jun 2022 17:02:24 GMT, Jonathan Gibbons <[email protected]> wrote:

>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java line 
>> 270:
>> 
>>> 268:     }
>>> 269: 
>>> 270:     private  boolean isCanonicalRecordConstructor(ExecutableElement 
>>> ee) {
>> 
>> Remove extra whitespace between `private` and `boolean`.
>> 
>> I would expect javax.lang.model to provide this functionality. 
>> Unfortunately, I couldn't find it. On the other hand, a very similar method 
>> exists in jdk.javadoc.internal.doclets.toolkit.util.Utils. It would be nice 
>> if we could avoid any duplication.
>
> I don't see how we can avoid duplication at this time.

It's not actually clear that `java.lang.model` has the info to provide this 
method, since the compact constructor is a syntactic form, that has disappeared 
by the time we get to the `ExecutableElement` for the constructor.  Sure, we 
could provide the method, but it's not clear we can detect the difference 
between the compact form and the use of explicit parameters.  I guess we could 
maybe put it on `Trees` if there is enough info on the AST, if it hasn't 
already been desugared away.

At some level, it comes down to ... do we allow the `@param` tags to be only 
omitted on the compact constructor (no args provided), or on the canonical 
constructor where the param names match the component names.

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

PR: https://git.openjdk.org/jdk19/pull/70

Reply via email to