From 3f52686974afd9e04a44a6e12702f4587b61c3c5 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 21 Oct 2015 15:37:58 -0700 Subject: [PATCH] cleanup a bit, think toward the future --- src/compiler/declarationEmitter.ts | 17 +++++++++-------- src/compiler/emitter.ts | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 82983dab39..57e9b47b37 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -739,14 +739,15 @@ namespace ts { if ((!root) && (compilerOptions.out || compilerOptions.outFile)) { let moduleSymbol = resolver.getSymbolAtLocation(moduleSpecifier); - if (moduleSymbol && moduleSymbol.valueDeclaration && - moduleSymbol.valueDeclaration.kind === SyntaxKind.SourceFile && - !isDeclarationFile(moduleSymbol.valueDeclaration)) { - let nonRelativeModuleName = getExternalModuleNameFromPath(host, (moduleSymbol.valueDeclaration as SourceFile).fileName); - write("\""); - write(nonRelativeModuleName); - write("\""); - return; + if (moduleSymbol) { + let moduleDeclaration = getDeclarationOfKind(moduleSymbol, SyntaxKind.SourceFile) as SourceFile; + if (moduleDeclaration && !isDeclarationFile(moduleDeclaration)) { + let nonRelativeModuleName = getExternalModuleNameFromPath(host, moduleDeclaration.fileName); + write("\""); + write(nonRelativeModuleName); + write("\""); + return; + } } } diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 278bf02660..1e95c82722 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -6766,7 +6766,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } if (resolvePath) { - text = `"${lookupSpecifierName(externalImports[i])}"`; + let name = lookupSpecifierName(externalImports[i]); + if (name) { + text = `"${name}"`; + } } write(text); } @@ -6791,7 +6794,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi specifier = (declaration as ImportDeclaration|ExportDeclaration).moduleSpecifier; } let moduleSymbol = resolver.getSymbolAtLocation(specifier); - return getExternalModuleNameFromPath(host, (moduleSymbol.valueDeclaration as SourceFile).fileName); + let moduleDeclaration = getDeclarationOfKind(moduleSymbol, SyntaxKind.SourceFile) as SourceFile; + if (!moduleDeclaration || isDeclarationFile(moduleDeclaration)) { + return; + } + return getExternalModuleNameFromPath(host, moduleDeclaration.fileName); } interface AMDDependencyNames { @@ -6825,7 +6832,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi let externalModuleName = getExternalModuleNameText(importNode); if (resolvePath) { - externalModuleName = `"${lookupSpecifierName(importNode)}"`; + let name = lookupSpecifierName(importNode); + if (name) { + externalModuleName = `"${name}"`; + } } // Find the name of the module alias, if there is one