On Tue, 3 Feb 2026 15:51:25 GMT, Hannes Wallnöfer <[email protected]> wrote:

> Please review a change that brings the implementation of 
> `DocTrees.getElement(DocTreePath)` in agreement with `javax.lang.model` 
> behavior by returning `null` for `DocTree` instances referring to a primitive 
> or array type. Additionally, this adds some missing functionality to the 
> implementation of the related `DocTrees.getType(DocTreePath)` method and 
> improves test coverage for both methods. 
> 
> Internally, the member lookup part in method 
> `JavacTrees.attributeDocReference` is split into a separate `resolveMember` 
> method that can also be used by `getType`. 
> 
> We also improve attribution of references with explicit module name by 
> attempting to attribute the referenced type and checking whether the module 
> matches the name in the reference afterwards. This allows us to support 
> parameterized types in references with explicit module id. 
> 
> In `test/langtools/tools/javac/doctree/ReferenceTest.java` we add some 
> missing test coverage such as for type parameter references, and add tests 
> for `DocTrees.getType(DocTreePath)` to the existing tests for 
> `DocTrees.getElement(DocTreePath)`. The former was previously ony covered in 
> javadoc tests.

src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java line 368:

> 366: 
> 367:                 try {
> 368:                    Type t = 
> attr.attribType(dcReference.qualifierExpression, env);

nit: uneven indentation here

src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java line 518:

> 516:         }
> 517: 
> 518:         ClassSymbol sym = (ClassSymbol) types.skipTypeVars(type, 
> false).tsym;

I could be wrong but this `types.skipTypeVars` invocation should be 
unnecessary. `tsym` should always be the erased version. I have found another 
instance of this pattern in javadoc which probably can be removed too

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29547#discussion_r2859855176
PR Review Comment: https://git.openjdk.org/jdk/pull/29547#discussion_r2859961317

Reply via email to