diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 65768332360..c869bb3c65d 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -77,13 +77,13 @@ namespace ts { IsContainerWithLocals = IsContainer | HasLocals } - export function bindSourceFile(file: SourceFile) { + export function bindSourceFile(file: SourceFile, compilerOptions: CompilerOptions) { let start = new Date().getTime(); - bindSourceFileWorker(file); + bindSourceFileWorker(file, compilerOptions); bindTime += new Date().getTime() - start; } - function bindSourceFileWorker(file: SourceFile) { + function bindSourceFileWorker(file: SourceFile, compilerOptions: CompilerOptions) { let parent: Node; let container: Node; let blockScopeContainer: Node; @@ -941,7 +941,7 @@ namespace ts { function bindSourceFileIfExternalModule() { setExportContextFlag(file); if (isExternalModule(file)) { - bindAnonymousDeclaration(file, SymbolFlags.ValueModule, `"${removeFileExtension(file.fileName)}"`); + bindAnonymousDeclaration(file, SymbolFlags.ValueModule, `"${removeFileExtension(file.fileName, getSupportedExtensions(compilerOptions))}"`); } } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 40db300d310..def0eb4cf9f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14833,7 +14833,7 @@ namespace ts { function initializeTypeChecker() { // Bind all source files and propagate errors forEach(host.getSourceFiles(), file => { - bindSourceFile(file); + bindSourceFile(file, compilerOptions); }); // Initialize global symbol table diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index e822052a5b2..5dbc514d462 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -2,7 +2,7 @@ /* @internal */ namespace ts.NavigationBar { - export function getNavigationBarItems(sourceFile: SourceFile): ts.NavigationBarItem[] { + export function getNavigationBarItems(sourceFile: SourceFile, compilerOptions: CompilerOptions): ts.NavigationBarItem[] { // If the source file has any child items, then it included in the tree // and takes lexical ownership of all other top-level items. let hasGlobalNode = false; @@ -442,7 +442,7 @@ namespace ts.NavigationBar { hasGlobalNode = true; let rootName = isExternalModule(node) - ? "\"" + escapeString(getBaseFileName(removeFileExtension(normalizePath(node.fileName)))) + "\"" + ? "\"" + escapeString(getBaseFileName(removeFileExtension(normalizePath(node.fileName), getSupportedExtensions(compilerOptions)))) + "\"" : "" return getNavigationBarItem(rootName, diff --git a/src/services/services.ts b/src/services/services.ts index e62132dac1e..9420080abe9 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -6263,7 +6263,7 @@ namespace ts { function getNavigationBarItems(fileName: string): NavigationBarItem[] { let sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); - return NavigationBar.getNavigationBarItems(sourceFile); + return NavigationBar.getNavigationBarItems(sourceFile, host.getCompilationSettings()); } function getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[] {