From c92addf8218c586f1c0f5be60e26c1e6e254ee8e Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Aug 2014 13:20:02 -0700 Subject: [PATCH] Revert "remove documentsByName" This reverts commit 5d26599811f9c8432b3c782f90f264d9255cf49d. --- src/services/services.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 8217e81aff..57b8781d05 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1221,6 +1221,7 @@ module ts { var program: Program; var typeChecker: TypeChecker; var useCaseSensitivefilenames = false; + var documentsByName: Map = {}; var documentRegistry = documentRegistry; var cancellationToken = new CancellationTokenObject(host.getCancellationToken()); var activeCompletionSession: CompletionSession; // The current active completion session, used to get the completion entry details @@ -1231,8 +1232,7 @@ module ts { } function getSourceFile(filename: string): SourceFile { - Debug.assert(!!program, "'getSoruceFile(filename)' is called before 'program' is initialized, consider calling 'synchronizeHostData()' first"); - return program.getSourceFile(filename); + return lookUp(documentsByName, filename); } function createCompilerHost(): CompilerHost { @@ -1291,6 +1291,7 @@ module ts { var filename = oldSourceFiles[i].filename; if (!hostCache.contains(filename) || changesInCompilationSettingsAffectSyntax) { documentRegistry.releaseDocument(filename, oldSettings); + delete documentsByName[filename]; } } } @@ -1332,6 +1333,9 @@ module ts { else { sourceFile = documentRegistry.acquireDocument(filename, compilationSettings, scriptSnapshot, hostCache.getByteOrderMark(filename), version, isOpen, []); } + + // Remeber the new sourceFile + documentsByName[filename] = sourceFile; } // Now create a new compiler