On Mon, 27 Jun 2022 17:20:21 GMT, Jonathan Gibbons <[email protected]> wrote:
>> 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. [JDK-8289249](https://bugs.openjdk.org/browse/JDK-8289249) ------------- PR: https://git.openjdk.org/jdk19/pull/70
