Handle when declarationSpan from declarationNode is undefined
This commit is contained in:
parent
424f2c9e00
commit
eaeeb06f9a
|
@ -273,18 +273,21 @@ namespace ts.GoToDefinition {
|
|||
function createDefinitionInfoFromName(declaration: Declaration, symbolKind: ScriptElementKind, symbolName: string, containerName: string): DefinitionInfo {
|
||||
const name = getNameOfDeclaration(declaration) || declaration;
|
||||
const sourceFile = name.getSourceFile();
|
||||
const declarationNode = FindAllReferences.getDeclarationForDeclarationSpan(declaration)!;
|
||||
return {
|
||||
const result: DefinitionInfo = {
|
||||
fileName: sourceFile.fileName,
|
||||
textSpan: createTextSpanFromNode(name, sourceFile),
|
||||
kind: symbolKind,
|
||||
name: symbolName,
|
||||
containerKind: undefined!, // TODO: GH#18217
|
||||
containerName,
|
||||
declarationSpan: FindAllReferences.isDeclarationNodeWithStartAndEnd(declarationNode) ?
|
||||
createTextSpanFromNode(declarationNode.start, sourceFile, declarationNode.end) :
|
||||
createTextSpanFromNode(declarationNode, sourceFile),
|
||||
};
|
||||
const declarationNode = FindAllReferences.getDeclarationForDeclarationSpan(declaration);
|
||||
if (declarationNode) {
|
||||
result.declarationSpan = FindAllReferences.isDeclarationNodeWithStartAndEnd(declarationNode) ?
|
||||
createTextSpanFromNode(declarationNode.start, sourceFile, declarationNode.end) :
|
||||
createTextSpanFromNode(declarationNode, sourceFile);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function createDefinitionFromSignatureDeclaration(typeChecker: TypeChecker, decl: SignatureDeclaration): DefinitionInfo {
|
||||
|
|
Loading…
Reference in a new issue