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

>> 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.

Reading JLS 
[8.10.4](https://docs.oracle.com/javase/specs/jls/se18/html/jls-8.html#jls-8.10.4)
 we could suggest `isCanonicalConstructor` for `java.lang.model`, use that, and 
ignore whether it is a compact t constructor or an explicitly declared 
canonical constructor.

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

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

Reply via email to