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