Hi Anna,

The intent is that the names should follow javac usage: either use a qualified name or use a simple name that is in scope, such as an imported name.

That being said, javadoc does not use pure-javac code for the lookup, and there are some allowances made for historical usage. I could believe there are residual bugs in this area, and any resolution would be in favor of moving closer to javac rules where possible.

-- Jon

On 1/17/22 4:36 AM, Anna Kozlova wrote:
Hi all!

I am trying to figure out if the javadoc tool should be ok with a short class name as parameter type. Is there any specification on @link tag format?

E.g. javadoc for `java.io.File#isDirectory` contains the following "{@link java.nio.file.Files#readAttributes(Path,Class,LinkOption[])". LinkOption isn't resolved but the generated html correctly navigates the "readAttributes" method. This makes me suspect that the signatures are checked by short names only.
But this leads to the problem with the ambiguity:
```class Foo {
/**
* {@link #bar(Bar)} */ void foo() {}
     void bar(Foo2.Bar f) {}
     void bar(Foo1.Bar f) {}
}
class Foo1 {
     static class Bar {}
}
class Foo2 {
     static class Bar {}
}```
Here the link points to the first method as it is written in the class "Foo" which looks wrong, or is it ok?

Thank you,
Anna Kozlova

Reply via email to