From 68cd382d8fb59a06b253e35864e426c2150265a9 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 9 Jul 2018 17:26:35 -0700 Subject: [PATCH 1/2] Check for a module sysmbol existing before calling getReferencedSymbolsForModule --- src/services/findAllReferences.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 6bc55f54ff7..1830be27053 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -234,7 +234,8 @@ namespace ts.FindAllReferences.Core { export function getReferencedSymbolsForNode(position: number, node: Node, program: Program, sourceFiles: ReadonlyArray, cancellationToken: CancellationToken, options: Options = {}, sourceFilesSet: ReadonlyMap = arrayToSet(sourceFiles, f => f.fileName)): SymbolAndEntries[] | undefined { if (isSourceFile(node)) { const reference = GoToDefinition.getReferenceAtPosition(node, position, program); - return reference && getReferencedSymbolsForModule(program, program.getTypeChecker().getMergedSymbol(reference.file.symbol), /*excludeImportTypeOfExportEquals*/ false, sourceFiles, sourceFilesSet); + const moduleSymbol = reference && program.getTypeChecker().getMergedSymbol(reference.file.symbol); + return moduleSymbol && getReferencedSymbolsForModule(program, moduleSymbol, /*excludeImportTypeOfExportEquals*/ false, sourceFiles, sourceFilesSet); } if (!options.implementations) { From 2c70030c8ae394e1ce82da4cae6441004d025e60 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 9 Jul 2018 17:28:10 -0700 Subject: [PATCH 2/2] Compare normalized fileNames --- src/services/services.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/services.ts b/src/services/services.ts index d294f53830c..a68ce35b0a8 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1537,7 +1537,8 @@ namespace ts { } function getDocumentHighlights(fileName: string, position: number, filesToSearch: ReadonlyArray): DocumentHighlights[] | undefined { - Debug.assert(filesToSearch.some(f => normalizePath(f) === fileName)); + const normalizedFileName = normalizePath(fileName); + Debug.assert(filesToSearch.some(f => normalizePath(f) === normalizedFileName)); synchronizeHostData(); const sourceFilesToSearch = map(filesToSearch, f => Debug.assertDefined(program.getSourceFile(f))); const sourceFile = getValidSourceFile(fileName);