From e0323b4c2f503f0aac7550af3844942f8dfb1640 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 10 Feb 2015 17:02:11 -0800 Subject: [PATCH] Emit the import declaration in d.ts file only if it is visible --- src/compiler/checker.ts | 38 ++++-- src/compiler/emitter.ts | 112 +++++++++++++----- src/compiler/types.ts | 4 +- .../baselines/reference/APISample_compile.js | 3 +- .../reference/APISample_compile.types | 11 +- tests/baselines/reference/APISample_linter.js | 3 +- .../reference/APISample_linter.types | 11 +- .../reference/APISample_transform.js | 3 +- .../reference/APISample_transform.types | 11 +- .../baselines/reference/APISample_watcher.js | 3 +- .../reference/APISample_watcher.types | 11 +- .../reference/es6ImportDefaultBinding.js | 2 - .../reference/es6ImportDefaultBindingAmd.js | 2 - ...rtDefaultBindingFollowedWithNamedImport.js | 6 - ...tDefaultBindingFollowedWithNamedImport1.js | 6 - ...ultBindingFollowedWithNamedImport1InEs5.js | 6 - ...aultBindingFollowedWithNamedImportInEs5.js | 6 - ...aultBindingFollowedWithNamespaceBinding.js | 1 - ...ultBindingFollowedWithNamespaceBinding1.js | 1 - ...ndingFollowedWithNamespaceBinding1InEs5.js | 1 - ...indingFollowedWithNamespaceBindingInEs5.js | 1 - .../reference/es6ImportDefaultBindingInEs5.js | 1 - .../reference/es6ImportNameSpaceImport.js | 2 - .../reference/es6ImportNameSpaceImportAmd.js | 2 - .../es6ImportNameSpaceImportInEs5.js | 2 - .../reference/es6ImportNamedImport.js | 12 -- .../reference/es6ImportNamedImportAmd.js | 12 -- .../reference/es6ImportNamedImportInEs5.js | 12 -- 28 files changed, 154 insertions(+), 131 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 864e9551721..2e4553a4bc0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -449,6 +449,19 @@ module ts { node.kind === SyntaxKind.ImportSpecifier; } + function getAnyImportSyntax(node: Node): AnyImportSyntax { + if (isImportSymbolDeclaration(node)) { + if (node.kind === SyntaxKind.ImportEqualsDeclaration) { + return node; + } + + while (node.kind !== SyntaxKind.ImportDeclaration) { + node = node.parent; + } + return node; + } + } + function getDeclarationOfImportSymbol(symbol: Symbol): Declaration { return forEach(symbol.declarations, d => isImportSymbolDeclaration(d) ? d : undefined); } @@ -990,7 +1003,7 @@ module ts { } function hasVisibleDeclarations(symbol: Symbol): SymbolVisibilityResult { - var aliasesToMakeVisible: ImportEqualsDeclaration[]; + var aliasesToMakeVisible: AnyImportSyntax[]; if (forEach(symbol.declarations, declaration => !getIsDeclarationVisible(declaration))) { return undefined; } @@ -998,19 +1011,21 @@ module ts { function getIsDeclarationVisible(declaration: Declaration) { if (!isDeclarationVisible(declaration)) { - // Mark the unexported alias as visible if its parent is visible + // Mark the non exported alias as visible if its parent is visible // because these kind of aliases can be used to name types in declaration file - if (declaration.kind === SyntaxKind.ImportEqualsDeclaration && - !(declaration.flags & NodeFlags.Export) && - isDeclarationVisible(declaration.parent)) { + + var anyImportSyntax = getAnyImportSyntax(declaration); + if (anyImportSyntax && + !(anyImportSyntax.flags & NodeFlags.Export) && // import clause without export + isDeclarationVisible(anyImportSyntax.parent)) { getNodeLinks(declaration).isVisible = true; if (aliasesToMakeVisible) { - if (!contains(aliasesToMakeVisible, declaration)) { - aliasesToMakeVisible.push(declaration); + if (!contains(aliasesToMakeVisible, anyImportSyntax)) { + aliasesToMakeVisible.push(anyImportSyntax); } } else { - aliasesToMakeVisible = [declaration]; + aliasesToMakeVisible = [anyImportSyntax]; } return true; } @@ -1680,6 +1695,13 @@ module ts { case SyntaxKind.ParenthesizedType: return isDeclarationVisible(node.parent); + // Default binding, import specifier and namespace import is visible + // only if the import declaration is exported or it is used in export assignment + case SyntaxKind.ImportClause: + case SyntaxKind.NamespaceImport: + case SyntaxKind.ImportSpecifier: + return (node.name && isUsedInExportAssignment(node)); + // Type parameters are always visible case SyntaxKind.TypeParameter: // Source file is always visible diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 000c0d0e81f..d23b56a0001 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -35,10 +35,11 @@ module ts { } interface AliasDeclarationEmitInfo { - declaration: ImportEqualsDeclaration; + declaration: AnyImportSyntax; outputPos: number; indent: number; asynchronousOutput?: string; // If the output for alias was written asynchronously, the corresponding output + isVisible?: boolean; } interface DeclarationEmit { @@ -392,6 +393,21 @@ module ts { } emitSourceFile(root); + + // create asynchronous output for the importDeclarations + if (aliasDeclarationEmitInfo.length) { + var oldWriter = writer; + forEach(aliasDeclarationEmitInfo, aliasEmitInfo => { + if (aliasEmitInfo.isVisible) { + Debug.assert(aliasEmitInfo.declaration.kind === SyntaxKind.ImportDeclaration); + createAndSetNewTextWriterWithSymbolWriter(); + Debug.assert(aliasEmitInfo.indent === 0); + writeImportDeclaration(aliasEmitInfo.declaration); + aliasEmitInfo.asynchronousOutput = writer.getText(); + } + }); + setWriter(oldWriter); + } } else { // Emit references corresponding to this file @@ -465,9 +481,9 @@ module ts { decreaseIndent = newWriter.decreaseIndent; } - function writeAsychronousImportEqualsDeclarations(importEqualsDeclarations: ImportEqualsDeclaration[]) { + function writeAsychronousImportEqualsDeclarations(anyImportSyntax: AnyImportSyntax[]) { var oldWriter = writer; - forEach(importEqualsDeclarations, aliasToWrite => { + forEach(anyImportSyntax, aliasToWrite => { var aliasEmitInfo = forEach(aliasDeclarationEmitInfo, declEmitInfo => declEmitInfo.declaration === aliasToWrite ? declEmitInfo : undefined); // If the alias was marked as not visible when we saw its declaration, we would have saved the aliasEmitInfo, but if we haven't yet visited the alias declaration // then we don't need to write it at this point. We will write it when we actually see its declaration @@ -477,12 +493,19 @@ module ts { // Writing of function bar would mark alias declaration foo as visible but we haven't yet visited that declaration so do nothing, // we would write alias foo declaration when we visit it since it would now be marked as visible if (aliasEmitInfo) { - createAndSetNewTextWriterWithSymbolWriter(); - for (var declarationIndent = aliasEmitInfo.indent; declarationIndent; declarationIndent--) { - increaseIndent(); + if (aliasToWrite.kind === SyntaxKind.ImportEqualsDeclaration) { + createAndSetNewTextWriterWithSymbolWriter(); + for (var declarationIndent = aliasEmitInfo.indent; declarationIndent; declarationIndent--) { + increaseIndent(); + } + writeImportEqualsDeclaration(aliasToWrite); + aliasEmitInfo.asynchronousOutput = writer.getText(); + } + else { + // we have to create asynchronous output only after we have collected complete information + // because it is possible to enable multiple bindings as asynchronously visible + aliasEmitInfo.isVisible = true; } - writeImportEqualsDeclaration(aliasToWrite); - aliasEmitInfo.asynchronousOutput = writer.getText(); } }); setWriter(oldWriter); @@ -724,16 +747,16 @@ module ts { } function emitImportEqualsDeclaration(node: ImportEqualsDeclaration) { - var nodeEmitInfo = { - declaration: node, - outputPos: writer.getTextPos(), - indent: writer.getIndent(), - hasWritten: resolver.isDeclarationVisible(node) - }; - aliasDeclarationEmitInfo.push(nodeEmitInfo); - if (nodeEmitInfo.hasWritten) { + if (resolver.isDeclarationVisible(node)) { writeImportEqualsDeclaration(node); } + else { + aliasDeclarationEmitInfo.push({ + declaration: node, + outputPos: writer.getTextPos(), + indent: writer.getIndent(), + }); + } } function writeImportEqualsDeclaration(node: ImportEqualsDeclaration) { @@ -767,33 +790,58 @@ module ts { } function emitImportDeclaration(node: ImportDeclaration) { - // TODO(shkamat): Do the changes so that we emit only if declaration is visible + if (node.importClause) { + aliasDeclarationEmitInfo.push({ + declaration: node, + outputPos: writer.getTextPos(), + indent: writer.getIndent(), + isVisible: (node.importClause.name && resolver.isDeclarationVisible(node.importClause)) || + isVisibleNamedBinding(node.importClause.namedBindings) + }); + } + else { + writeImportDeclaration(node); + } + } + + function isVisibleNamedBinding(namedBindings: NamespaceImport | NamedImports): boolean { + if (namedBindings) { + if (namedBindings.kind === SyntaxKind.NamespaceImport) { + return resolver.isDeclarationVisible(namedBindings); + } + else { + return forEach((namedBindings).elements, namedImport => resolver.isDeclarationVisible(namedImport)); + } + } + } + + function writeImportDeclaration(node: ImportDeclaration) { emitJsDocComments(node); if (node.flags & NodeFlags.Export) { write("export "); } write("import "); if (node.importClause) { - if (node.importClause.name) { + var beforeDefaultBindingEmitPos = writer.getTextPos(); + if (node.importClause.name && resolver.isDeclarationVisible(node.importClause)) { writeTextOfNode(currentSourceFile, node.importClause.name); - if (node.importClause.namedBindings) { - write(","); - } - write(" "); } - if (node.importClause.namedBindings) { + if (node.importClause.namedBindings && isVisibleNamedBinding(node.importClause.namedBindings)) { + if (beforeDefaultBindingEmitPos !== writer.getTextPos()) { + // If the default binding was emitted, write the separated + write(", "); + } if (node.importClause.namedBindings.kind === SyntaxKind.NamespaceImport) { write("* as "); writeTextOfNode(currentSourceFile,(node.importClause.namedBindings).name); - write(" "); } else { write("{"); emitCommaList((node.importClause.namedBindings).elements, emitImportSpecifier); - write(" } "); + write(" }"); } } - write("from "); + write(" from "); } writeTextOfNode(currentSourceFile, node.moduleSpecifier); write(";"); @@ -801,12 +849,14 @@ module ts { } function emitImportSpecifier(node: ImportSpecifier) { - write(" "); - if (node.propertyName) { - writeTextOfNode(currentSourceFile, node.propertyName); - write(" as "); + if (resolver.isDeclarationVisible(node)) { + write(" "); + if (node.propertyName) { + writeTextOfNode(currentSourceFile, node.propertyName); + write(" as "); + } + writeTextOfNode(currentSourceFile, node.name); } - writeTextOfNode(currentSourceFile, node.name); } function emitModuleDeclaration(node: ModuleDeclaration) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index d50b4bcf335..1f7a8211dfc 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1151,9 +1151,11 @@ module ts { CannotBeNamed } + export type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; + export interface SymbolVisibilityResult { accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportEqualsDeclaration[]; // aliases that need to have this symbol visible + aliasesToMakeVisible?: AnyImportSyntax[]; // aliases that need to have this symbol visible errorSymbolName?: string; // Optional symbol name that results in error errorNode?: Node; // optional node that results in error } diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 5c74f2fa688..b9bc5d96d41 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -892,9 +892,10 @@ declare module "typescript" { NotAccessible = 1, CannotBeNamed = 2, } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; interface SymbolVisibilityResult { accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportEqualsDeclaration[]; + aliasesToMakeVisible?: AnyImportSyntax[]; errorSymbolName?: string; errorNode?: Node; } diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index aebe5ea695a..5146cde791c 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -2854,6 +2854,11 @@ declare module "typescript" { CannotBeNamed = 2, >CannotBeNamed : SymbolAccessibility } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration +>ImportDeclaration : ImportDeclaration +>ImportEqualsDeclaration : ImportEqualsDeclaration + interface SymbolVisibilityResult { >SymbolVisibilityResult : SymbolVisibilityResult @@ -2861,9 +2866,9 @@ declare module "typescript" { >accessibility : SymbolAccessibility >SymbolAccessibility : SymbolAccessibility - aliasesToMakeVisible?: ImportEqualsDeclaration[]; ->aliasesToMakeVisible : ImportEqualsDeclaration[] ->ImportEqualsDeclaration : ImportEqualsDeclaration + aliasesToMakeVisible?: AnyImportSyntax[]; +>aliasesToMakeVisible : (ImportEqualsDeclaration | ImportDeclaration)[] +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration errorSymbolName?: string; >errorSymbolName : string diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 8b40586e88b..012d635e4c5 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -923,9 +923,10 @@ declare module "typescript" { NotAccessible = 1, CannotBeNamed = 2, } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; interface SymbolVisibilityResult { accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportEqualsDeclaration[]; + aliasesToMakeVisible?: AnyImportSyntax[]; errorSymbolName?: string; errorNode?: Node; } diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 1bada73385f..4292108fc73 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -2998,6 +2998,11 @@ declare module "typescript" { CannotBeNamed = 2, >CannotBeNamed : SymbolAccessibility } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration +>ImportDeclaration : ImportDeclaration +>ImportEqualsDeclaration : ImportEqualsDeclaration + interface SymbolVisibilityResult { >SymbolVisibilityResult : SymbolVisibilityResult @@ -3005,9 +3010,9 @@ declare module "typescript" { >accessibility : SymbolAccessibility >SymbolAccessibility : SymbolAccessibility - aliasesToMakeVisible?: ImportEqualsDeclaration[]; ->aliasesToMakeVisible : ImportEqualsDeclaration[] ->ImportEqualsDeclaration : ImportEqualsDeclaration + aliasesToMakeVisible?: AnyImportSyntax[]; +>aliasesToMakeVisible : (ImportEqualsDeclaration | ImportDeclaration)[] +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration errorSymbolName?: string; >errorSymbolName : string diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 74aba68a76c..8a3951bb19b 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -924,9 +924,10 @@ declare module "typescript" { NotAccessible = 1, CannotBeNamed = 2, } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; interface SymbolVisibilityResult { accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportEqualsDeclaration[]; + aliasesToMakeVisible?: AnyImportSyntax[]; errorSymbolName?: string; errorNode?: Node; } diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 6be348b4131..ab2e05ac052 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -2950,6 +2950,11 @@ declare module "typescript" { CannotBeNamed = 2, >CannotBeNamed : SymbolAccessibility } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration +>ImportDeclaration : ImportDeclaration +>ImportEqualsDeclaration : ImportEqualsDeclaration + interface SymbolVisibilityResult { >SymbolVisibilityResult : SymbolVisibilityResult @@ -2957,9 +2962,9 @@ declare module "typescript" { >accessibility : SymbolAccessibility >SymbolAccessibility : SymbolAccessibility - aliasesToMakeVisible?: ImportEqualsDeclaration[]; ->aliasesToMakeVisible : ImportEqualsDeclaration[] ->ImportEqualsDeclaration : ImportEqualsDeclaration + aliasesToMakeVisible?: AnyImportSyntax[]; +>aliasesToMakeVisible : (ImportEqualsDeclaration | ImportDeclaration)[] +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration errorSymbolName?: string; >errorSymbolName : string diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 79e2ac39802..36eaccac6a8 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -961,9 +961,10 @@ declare module "typescript" { NotAccessible = 1, CannotBeNamed = 2, } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; interface SymbolVisibilityResult { accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportEqualsDeclaration[]; + aliasesToMakeVisible?: AnyImportSyntax[]; errorSymbolName?: string; errorNode?: Node; } diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 429a63daed8..99d84a928f8 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -3123,6 +3123,11 @@ declare module "typescript" { CannotBeNamed = 2, >CannotBeNamed : SymbolAccessibility } + type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration; +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration +>ImportDeclaration : ImportDeclaration +>ImportEqualsDeclaration : ImportEqualsDeclaration + interface SymbolVisibilityResult { >SymbolVisibilityResult : SymbolVisibilityResult @@ -3130,9 +3135,9 @@ declare module "typescript" { >accessibility : SymbolAccessibility >SymbolAccessibility : SymbolAccessibility - aliasesToMakeVisible?: ImportEqualsDeclaration[]; ->aliasesToMakeVisible : ImportEqualsDeclaration[] ->ImportEqualsDeclaration : ImportEqualsDeclaration + aliasesToMakeVisible?: AnyImportSyntax[]; +>aliasesToMakeVisible : (ImportEqualsDeclaration | ImportDeclaration)[] +>AnyImportSyntax : ImportEqualsDeclaration | ImportDeclaration errorSymbolName?: string; >errorSymbolName : string diff --git a/tests/baselines/reference/es6ImportDefaultBinding.js b/tests/baselines/reference/es6ImportDefaultBinding.js index d1e69585ba4..b3c6b71a422 100644 --- a/tests/baselines/reference/es6ImportDefaultBinding.js +++ b/tests/baselines/reference/es6ImportDefaultBinding.js @@ -23,5 +23,3 @@ var x = defaultBinding; declare var a: number; export = a; //// [es6ImportDefaultBinding_1.d.ts] -import defaultBinding from "es6ImportDefaultBinding_0"; -import defaultBinding2 from "es6ImportDefaultBinding_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingAmd.js b/tests/baselines/reference/es6ImportDefaultBindingAmd.js index 24e8ee047b8..34b39cda4b7 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingAmd.js +++ b/tests/baselines/reference/es6ImportDefaultBindingAmd.js @@ -26,5 +26,3 @@ define(["require", "exports", "es6ImportDefaultBindingAmd_0"], function (require declare var a: number; export = a; //// [es6ImportDefaultBindingAmd_1.d.ts] -import defaultBinding from "es6ImportDefaultBindingAmd_0"; -import defaultBinding2 from "es6ImportDefaultBindingAmd_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js index 48fb54151ba..aa10fb6e26f 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js @@ -44,9 +44,3 @@ export declare var a: number; export declare var x: number; export declare var m: number; //// [es6ImportDefaultBindingFollowedWithNamedImport_1.d.ts] -import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; -import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; -import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; -import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; -import defaultBinding5, { x as z } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; -import defaultBinding6, { m } from "es6ImportDefaultBindingFollowedWithNamedImport_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1.js index 451e2df15b6..765d09fae79 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1.js @@ -42,9 +42,3 @@ var x1 = defaultBinding6; declare var a: number; export = a; //// [es6ImportDefaultBindingFollowedWithNamedImport1_1.d.ts] -import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; -import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; -import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; -import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; -import defaultBinding5, { x as z } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; -import defaultBinding6, { m } from "es6ImportDefaultBindingFollowedWithNamedImport1_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js index 323650fe205..2690e7a7f51 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js @@ -42,9 +42,3 @@ var x = defaultBinding6; declare var a: number; export = a; //// [es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.d.ts] -import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; -import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; -import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; -import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; -import defaultBinding5, { x as z } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; -import defaultBinding6, { m } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js index 5b211b9fcea..3613aaf5575 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js @@ -44,9 +44,3 @@ export declare var a: number; export declare var x: number; export declare var m: number; //// [es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.d.ts] -import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; -import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; -import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; -import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; -import defaultBinding5, { x as z } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; -import defaultBinding6, { m } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.js index 948c033f7de..1241140b121 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.js @@ -18,4 +18,3 @@ var x = nameSpaceBinding.a; //// [es6ImportDefaultBindingFollowedWithNamespaceBinding_0.d.ts] export declare var a: number; //// [es6ImportDefaultBindingFollowedWithNamespaceBinding_1.d.ts] -import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBinding_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.js index 86869e052fe..7f67628c18e 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.js @@ -21,4 +21,3 @@ var x = defaultBinding; declare var a: number; export = a; //// [es6ImportDefaultBindingFollowedWithNamespaceBinding_1.d.ts] -import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBinding_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js index 1052970fa99..00166b1bc41 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js @@ -21,4 +21,3 @@ var x = defaultBinding; declare var a: number; export = a; //// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.d.ts] -import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js index 5419ac20928..e8ce8b28875 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js @@ -18,4 +18,3 @@ var x = nameSpaceBinding.a; //// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0.d.ts] export declare var a: number; //// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.d.ts] -import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"; diff --git a/tests/baselines/reference/es6ImportDefaultBindingInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingInEs5.js index e2b5d70b6b3..0b703f829ca 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingInEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingInEs5.js @@ -18,4 +18,3 @@ module.exports = a; declare var a: number; export = a; //// [es6ImportDefaultBindingInEs5_1.d.ts] -import defaultBinding from "es6ImportDefaultBindingInEs5_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImport.js b/tests/baselines/reference/es6ImportNameSpaceImport.js index 6ee33d5e004..4e53d54893d 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImport.js +++ b/tests/baselines/reference/es6ImportNameSpaceImport.js @@ -20,5 +20,3 @@ var x = nameSpaceBinding.a; //// [es6ImportNameSpaceImport_0.d.ts] export declare var a: number; //// [es6ImportNameSpaceImport_1.d.ts] -import * as nameSpaceBinding from "es6ImportNameSpaceImport_0"; -import * as nameSpaceBinding2 from "es6ImportNameSpaceImport_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImportAmd.js b/tests/baselines/reference/es6ImportNameSpaceImportAmd.js index b63431d5df6..e7d0eae9ca9 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImportAmd.js +++ b/tests/baselines/reference/es6ImportNameSpaceImportAmd.js @@ -23,5 +23,3 @@ define(["require", "exports", "es6ImportNameSpaceImportAmd_0"], function (requir //// [es6ImportNameSpaceImportAmd_0.d.ts] export declare var a: number; //// [es6ImportNameSpaceImportAmd_1.d.ts] -import * as nameSpaceBinding from "es6ImportNameSpaceImportAmd_0"; -import * as nameSpaceBinding2 from "es6ImportNameSpaceImportAmd_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js index f26e9073d2c..50a03972cc2 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js +++ b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js @@ -20,5 +20,3 @@ var x = nameSpaceBinding.a; //// [es6ImportNameSpaceImportInEs5_0.d.ts] export declare var a: number; //// [es6ImportNameSpaceImportInEs5_1.d.ts] -import * as nameSpaceBinding from "es6ImportNameSpaceImportInEs5_0"; -import * as nameSpaceBinding2 from "es6ImportNameSpaceImportInEs5_0"; diff --git a/tests/baselines/reference/es6ImportNamedImport.js b/tests/baselines/reference/es6ImportNamedImport.js index 9a1eba42598..fe1dc0dbce3 100644 --- a/tests/baselines/reference/es6ImportNamedImport.js +++ b/tests/baselines/reference/es6ImportNamedImport.js @@ -96,15 +96,3 @@ export declare var z1: number; export declare var z2: number; export declare var aaaa: number; //// [es6ImportNamedImport_1.d.ts] -import { } from "es6ImportNamedImport_0"; -import { a } from "es6ImportNamedImport_0"; -import { a as b } from "es6ImportNamedImport_0"; -import { x, a as y } from "es6ImportNamedImport_0"; -import { x as z } from "es6ImportNamedImport_0"; -import { m } from "es6ImportNamedImport_0"; -import { a1, x1 } from "es6ImportNamedImport_0"; -import { a1 as a11, x1 as x11 } from "es6ImportNamedImport_0"; -import { z1 } from "es6ImportNamedImport_0"; -import { z2 as z3 } from "es6ImportNamedImport_0"; -import { aaaa } from "es6ImportNamedImport_0"; -import { aaaa as bbbb } from "es6ImportNamedImport_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportAmd.js b/tests/baselines/reference/es6ImportNamedImportAmd.js index 7510c8aeb6b..3f0cc2acee8 100644 --- a/tests/baselines/reference/es6ImportNamedImportAmd.js +++ b/tests/baselines/reference/es6ImportNamedImportAmd.js @@ -91,15 +91,3 @@ export declare var z1: number; export declare var z2: number; export declare var aaaa: number; //// [es6ImportNamedImportAmd_1.d.ts] -import { } from "es6ImportNamedImportAmd_0"; -import { a } from "es6ImportNamedImportAmd_0"; -import { a as b } from "es6ImportNamedImportAmd_0"; -import { x, a as y } from "es6ImportNamedImportAmd_0"; -import { x as z } from "es6ImportNamedImportAmd_0"; -import { m } from "es6ImportNamedImportAmd_0"; -import { a1, x1 } from "es6ImportNamedImportAmd_0"; -import { a1 as a11, x1 as x11 } from "es6ImportNamedImportAmd_0"; -import { z1 } from "es6ImportNamedImportAmd_0"; -import { z2 as z3 } from "es6ImportNamedImportAmd_0"; -import { aaaa } from "es6ImportNamedImportAmd_0"; -import { aaaa as bbbb } from "es6ImportNamedImportAmd_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.js b/tests/baselines/reference/es6ImportNamedImportInEs5.js index 79cbafeff2f..79f94a6c82c 100644 --- a/tests/baselines/reference/es6ImportNamedImportInEs5.js +++ b/tests/baselines/reference/es6ImportNamedImportInEs5.js @@ -96,15 +96,3 @@ export declare var z1: number; export declare var z2: number; export declare var aaaa: number; //// [es6ImportNamedImportInEs5_1.d.ts] -import { } from "es6ImportNamedImportInEs5_0"; -import { a } from "es6ImportNamedImportInEs5_0"; -import { a as b } from "es6ImportNamedImportInEs5_0"; -import { x, a as y } from "es6ImportNamedImportInEs5_0"; -import { x as z } from "es6ImportNamedImportInEs5_0"; -import { m } from "es6ImportNamedImportInEs5_0"; -import { a1, x1 } from "es6ImportNamedImportInEs5_0"; -import { a1 as a11, x1 as x11 } from "es6ImportNamedImportInEs5_0"; -import { z1 } from "es6ImportNamedImportInEs5_0"; -import { z2 as z3 } from "es6ImportNamedImportInEs5_0"; -import { aaaa } from "es6ImportNamedImportInEs5_0"; -import { aaaa as bbbb } from "es6ImportNamedImportInEs5_0";