Add check for undefined declarations

This commit is contained in:
Andy Hanson
2017-02-27 14:18:46 -08:00
parent 36eb1ced1d
commit cc4a3a830f
2 changed files with 12 additions and 2 deletions

View File

@@ -198,11 +198,11 @@ namespace ts.GoToDefinition {
return false;
}
function tryAddSignature(signatureDeclarations: Declaration[], selectConstructors: boolean, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) {
function tryAddSignature(signatureDeclarations: Declaration[] | undefined, selectConstructors: boolean, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) {
const declarations: Declaration[] = [];
let definition: Declaration | undefined;
for (const d of signatureDeclarations) {
if (signatureDeclarations) for (const d of signatureDeclarations) {
if (selectConstructors ? d.kind === SyntaxKind.Constructor : isSignatureDeclaration(d)) {
declarations.push(d);
if ((<FunctionLikeDeclaration>d).body) definition = d;

View File

@@ -0,0 +1,10 @@
/// <reference path='fourslash.ts' />
// @Filename: /node_modules/foo/index.js
////not read
// @Filename: /a.ts
////import { f } from "foo";
/////**/f();
verify.goToDefinition("", []);