Microsoft/TypeScript

getDefinitionAtPosition doesn't distinguish different kinds in a merged declaration

Open

#22 467 ouverte le 10 mars 2018

Voir sur GitHub
 (13 commentaires) (0 réactions) (0 assignés)TypeScript (6 726 forks)batch import
BugDomain: APIGood First IssueHelp Wanted

Métriques du dépôt

Stars
 (48 455 stars)
Métriques de merge PR
 (Merge moyen 6j 17h) (9 PRs mergées en 30 j)

Description

TypeScript Version: 2.7.2

Search Terms: getDefinitionAtPosition kind

Code

namespace A { export interface B {} }
class A {}
interface A {}

var x: A; // do getDefinitionAtPosition on the A reference here

Expected behavior: In the result, each of the individual declarations should have the appropriate kind:

[
    { fileName: 'test.ts', textSpan: { start: 10, length: 1 }, kind: 'module', name: 'A', ... },
    { fileName: 'test.ts', textSpan: { start: 44, length: 1 }, kind: 'class', name: 'A', ... },
    { fileName: 'test.ts', textSpan: { start: 59, length: 1 }, kind: 'interface', name: 'A', ... }
]

Actual behavior: All declarations have the same kind:

[
    { fileName: 'test.ts', textSpan: { start: 10, length: 1 }, kind: 'class', name: 'A', ... },
    { fileName: 'test.ts', textSpan: { start: 44, length: 1 }, kind: 'class', name: 'A', ... },
    { fileName: 'test.ts', textSpan: { start: 59, length: 1 }, kind: 'class', name: 'A', ... }
]

Guide contributeur