Microsoft/TypeScript

getDefinitionAtPosition doesn't distinguish different kinds in a merged declaration

Open

#22.467 aberto em 10 de mar. de 2018

Ver no GitHub
 (13 comments) (0 reactions) (0 assignees)TypeScript (6.726 forks)batch import
BugDomain: APIGood First IssueHelp Wanted

Métricas do repositório

Stars
 (48.455 stars)
Métricas de merge de PR
 (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)

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', ... }
]

Guia do colaborador