microsoft / microsoft/TypeScript
`{@link Class.name}` resolves wrongly to `Function.name`
@sandersn is already working on this.
Since Mar 20, 2025.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
🔎 Search Terms
JSDoc, TSDoc, Link, Resolve, Name
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries
⏯ Playground Link
💻 Code
class Test {
/**
* Hello
*/
name:string = "Test"
}
/**
* {@link Test.name}
*/
function a(t:Test) {
return t.name;
}
🙁 Actual behavior
The Test.name reference in the JSDoc/TSDoc resolves to the symbol Function.name. This is not correct because the Test class has an own property declaration for name.
In my real world usecase am generating markdowns from my typescript code via TypeScript compiler API and I get the wrong symbol using typeChecker.getSymbolAtLocation(tsDocLinkNode.name) leading to wrong documentation links.
🙂 Expected behavior
The correct documentation of my name property should be shown.
The typeChecker should resolve this expression to the correct symbol to allow tooling to resolve these cross references and link to the respective documentation page.
Additional information about the issue
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.