diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index a997e231dfa..6f3491ed1fa 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1633,16 +1633,19 @@ module ts { if (node.externalModuleName && node.parent.kind === SyntaxKind.SourceFile && compilerOptions.module === ModuleKind.AMD) { if (node.flags & NodeFlags.Export) { writeLine(); + emitLeadingComments(node); emitStart(node); emitModuleMemberName(node); write(" = "); emit(node.name); write(";"); emitEnd(node); + emitTrailingComments(node); } } else { writeLine(); + emitLeadingComments(node); emitStart(node); if (!(node.flags & NodeFlags.Export)) write("var "); emitModuleMemberName(node); @@ -1659,6 +1662,7 @@ module ts { } write(";"); emitEnd(node); + emitTrailingComments(node); } } } diff --git a/tests/baselines/reference/aliasUsedAsNameValue.js b/tests/baselines/reference/aliasUsedAsNameValue.js index af9ab422ab5..4ae9a6a530c 100644 --- a/tests/baselines/reference/aliasUsedAsNameValue.js +++ b/tests/baselines/reference/aliasUsedAsNameValue.js @@ -26,6 +26,8 @@ function b(a) { } exports.b = b; //// [aliasUsedAsNameValue_2.js] +/// +/// var mod = require("aliasUsedAsNameValue_0"); var b = require("aliasUsedAsNameValue_1"); exports.a = function () { diff --git a/tests/baselines/reference/amdDependencyComment1.js b/tests/baselines/reference/amdDependencyComment1.js index 18fa8147e54..ee4ed88ff74 100644 --- a/tests/baselines/reference/amdDependencyComment1.js +++ b/tests/baselines/reference/amdDependencyComment1.js @@ -5,5 +5,6 @@ import m1 = require("m2") m1.f(); //// [amdDependencyComment1.js] +/// var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/declFileForExportedImport.js b/tests/baselines/reference/declFileForExportedImport.js index 2934d3e7b73..110865677c1 100644 --- a/tests/baselines/reference/declFileForExportedImport.js +++ b/tests/baselines/reference/declFileForExportedImport.js @@ -14,6 +14,7 @@ var z = b.x; //// [declFileForExportedImport_0.js] exports.x; //// [declFileForExportedImport_1.js] +/// exports.a = require('declFileForExportedImport_0'); var y = exports.a.x; exports.b = exports.a; diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js index c07ac176806..b6edb961b36 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js @@ -30,6 +30,7 @@ a.test1(null, null, null); var m2; module.exports = m2; //// [declFileImportModuleWithExportAssignment_1.js] +/**This is on import declaration*/ var a1 = require("declFileImportModuleWithExportAssignment_0"); exports.a = a1; exports.a.test1(null, null, null); diff --git a/tests/baselines/reference/enumFromExternalModule.js b/tests/baselines/reference/enumFromExternalModule.js index 7d15d9c394b..8e92cbbbda7 100644 --- a/tests/baselines/reference/enumFromExternalModule.js +++ b/tests/baselines/reference/enumFromExternalModule.js @@ -16,5 +16,6 @@ var x = f.Mode.Open; })(exports.Mode || (exports.Mode = {})); var Mode = exports.Mode; //// [enumFromExternalModule_1.js] +/// var f = require('enumFromExternalModule_0'); var x = 0 /* Open */; diff --git a/tests/baselines/reference/exportEqualMemberMissing.js b/tests/baselines/reference/exportEqualMemberMissing.js index 714fb700198..17a44dd50dd 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.js +++ b/tests/baselines/reference/exportEqualMemberMissing.js @@ -25,5 +25,6 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' does not var server; module.exports = server; //// [exportEqualMemberMissing_1.js] +/// var connect = require('exportEqualMemberMissing_0'); connect().use(connect.static('foo')); diff --git a/tests/baselines/reference/exportImportAlias.js b/tests/baselines/reference/exportImportAlias.js index 05e950a3919..f445d7b2bc5 100644 --- a/tests/baselines/reference/exportImportAlias.js +++ b/tests/baselines/reference/exportImportAlias.js @@ -110,6 +110,7 @@ var X; })(X || (X = {})); var Z; (function (Z) { + // 'y' should be a fundule here Z.y = X.Y; })(Z || (Z = {})); var m = Z.y(); diff --git a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js index 72517dfcb42..edbdf6b90a5 100644 --- a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js +++ b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js @@ -24,6 +24,7 @@ function foo() { exports.foo = foo; ; //// [externalModuleRefernceResolutionOrderInImportDeclaration_file3.js] +/// var file1 = require('externalModuleRefernceResolutionOrderInImportDeclaration_file1'); file1.foo(); file1.bar(); diff --git a/tests/baselines/reference/importDecl.js b/tests/baselines/reference/importDecl.js index b6c9715df64..5073753f3cb 100644 --- a/tests/baselines/reference/importDecl.js +++ b/tests/baselines/reference/importDecl.js @@ -135,6 +135,11 @@ function foo2() { } exports.foo2 = foo2; //// [importDecl_1.js] +/// +/// +/// +/// +/// var m4 = require("importDecl_require"); exports.x4 = m4.x; exports.d4 = m4.d; @@ -148,11 +153,14 @@ exports.f4 = m4.foo(); var f3 = m4.foo(); })(exports.m1 || (exports.m1 = {})); var m1 = exports.m1; +//Emit global only usage var glo_m4 = require("importDecl_require1"); exports.useGlo_m4_d4 = glo_m4.d; exports.useGlo_m4_f4 = glo_m4.foo(); +//Emit even when used just in function type var fncOnly_m4 = require("importDecl_require2"); exports.useFncOnly_m4_f4 = fncOnly_m4.foo(); +// only used privately no need to emit var private_m4 = require("importDecl_require3"); (function (usePrivate_m4_m1) { var x3 = private_m4.x; @@ -160,8 +168,10 @@ var private_m4 = require("importDecl_require3"); var f3 = private_m4.foo(); })(exports.usePrivate_m4_m1 || (exports.usePrivate_m4_m1 = {})); var usePrivate_m4_m1 = exports.usePrivate_m4_m1; +// Do not emit unused import var m5 = require("importDecl_require4"); exports.d = m5.foo2(); +// Do not emit multiple used import statements var multiImport_m4 = require("importDecl_require"); exports.useMultiImport_m4_x4 = multiImport_m4.x; exports.useMultiImport_m4_d4 = multiImport_m4.d; diff --git a/tests/baselines/reference/importUsedInExtendsList1.js b/tests/baselines/reference/importUsedInExtendsList1.js index e9b7b142e16..3c9f296d2c2 100644 --- a/tests/baselines/reference/importUsedInExtendsList1.js +++ b/tests/baselines/reference/importUsedInExtendsList1.js @@ -25,6 +25,7 @@ var __extends = this.__extends || function (d, b) { __.prototype = b.prototype; d.prototype = new __(); }; +/// var foo = require('importUsedInExtendsList1_require'); var Sub = (function (_super) { __extends(Sub, _super); diff --git a/tests/baselines/reference/localAliasExportAssignment.js b/tests/baselines/reference/localAliasExportAssignment.js index 66f30c04e36..ce0f57d57cb 100644 --- a/tests/baselines/reference/localAliasExportAssignment.js +++ b/tests/baselines/reference/localAliasExportAssignment.js @@ -20,5 +20,6 @@ connect(); var server; module.exports = server; //// [localAliasExportAssignment_1.js] +/// var connect = require('localAliasExportAssignment_0'); connect(); diff --git a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js index 947c3c1fc0d..fb8a9c8e241 100644 --- a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js +++ b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js @@ -164,6 +164,7 @@ exports.createWidget1 = createWidget1; })(exports.SpecializedWidget || (exports.SpecializedWidget = {})); var SpecializedWidget = exports.SpecializedWidget; //// [privacyCannotNameAccessorDeclFile_exporter.js] +/// var Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); var Widgets1 = require("GlobalWidgets"); function createExportedWidget1() { diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js index d113b0a8095..3a95daf0ede 100644 --- a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js +++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js @@ -128,6 +128,7 @@ exports.createWidget1 = createWidget1; })(exports.SpecializedWidget || (exports.SpecializedWidget = {})); var SpecializedWidget = exports.SpecializedWidget; //// [privacyCannotNameVarTypeDeclFile_exporter.js] +/// var Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); var Widgets1 = require("GlobalWidgets"); function createExportedWidget1() { diff --git a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js index 3db10b3da1a..42250b88e89 100644 --- a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js +++ b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js @@ -184,6 +184,7 @@ exports.createWidget1 = createWidget1; })(exports.SpecializedWidget || (exports.SpecializedWidget = {})); var SpecializedWidget = exports.SpecializedWidget; //// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.js] +/// var Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); var Widgets1 = require("GlobalWidgets"); function createExportedWidget1() { diff --git a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js index 603a51467e8..75a91f38c54 100644 --- a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js +++ b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js @@ -191,6 +191,7 @@ exports.createWidget1 = createWidget1; })(exports.SpecializedWidget || (exports.SpecializedWidget = {})); var SpecializedWidget = exports.SpecializedWidget; //// [privacyFunctionReturnTypeDeclFile_exporter.js] +/// var Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); var Widgets1 = require("GlobalWidgets"); function createExportedWidget1() { diff --git a/tests/baselines/reference/privacyGloImport.js b/tests/baselines/reference/privacyGloImport.js index b03cedf3c78..db29e2ae2fa 100644 --- a/tests/baselines/reference/privacyGloImport.js +++ b/tests/baselines/reference/privacyGloImport.js @@ -185,6 +185,20 @@ var m1; m1_M2_private.v1 = c1; m1_M2_private.v2; })(m1_M2_private || (m1_M2_private = {})); + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} var m1_im1_private = m1_M1_public; m1.m1_im1_private_v1_public = m1_im1_private.c1; m1.m1_im1_private_v2_public = new m1_im1_private.c1(); @@ -203,6 +217,24 @@ var m1; var m1_im2_private_v2_private = new m1_im2_private.c1(); var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); m1.m1_im1_public = m1_M1_public; m1.m1_im2_public = m1_M2_private; })(m1 || (m1 = {})); diff --git a/tests/baselines/reference/privacyImport.js b/tests/baselines/reference/privacyImport.js index ad806dd4809..c093903106e 100644 --- a/tests/baselines/reference/privacyImport.js +++ b/tests/baselines/reference/privacyImport.js @@ -388,6 +388,20 @@ export module m3 { m1_M2_private.v1 = c1; m1_M2_private.v2; })(m1_M2_private || (m1_M2_private = {})); + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} var m1_im1_private = m1_M1_public; m1.m1_im1_private_v1_public = m1_im1_private.c1; m1.m1_im1_private_v2_public = new m1_im1_private.c1(); @@ -406,6 +420,24 @@ export module m3 { var m1_im2_private_v2_private = new m1_im2_private.c1(); var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); m1.m1_im1_public = m1_M1_public; m1.m1_im2_public = m1_M2_private; })(exports.m1 || (exports.m1 = {})); @@ -442,6 +474,20 @@ var m2; m2_M2_private.v1 = c1; m2_M2_private.v2; })(m2_M2_private || (m2_M2_private = {})); + //export declare module "m2_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + //declare module "m2_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} var m1_im1_private = m2_M1_public; m2.m1_im1_private_v1_public = m1_im1_private.c1; m2.m1_im1_private_v2_public = new m1_im1_private.c1(); @@ -460,6 +506,25 @@ var m2; var m1_im2_private_v2_private = new m1_im2_private.c1(); var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); + //import m1_im3_private = require("m2_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im4_private = require("m2_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); + // Parse error to export module m2.m1_im1_public = m2_M1_public; m2.m1_im2_public = m2_M2_private; })(m2 || (m2 = {})); @@ -500,6 +565,13 @@ var glo_M1_public = exports.glo_M1_public; glo_M3_private.v2; })(exports.glo_M3_private || (exports.glo_M3_private = {})); var glo_M3_private = exports.glo_M3_private; +//export declare module "glo_M4_private" { +// export function f1(); +// export class c1 { +// } +// export var v1: { new (): c1; }; +// export var v2: c1; +//} var glo_im1_private = glo_M1_public; exports.glo_im1_private_v1_public = glo_im1_private.c1; exports.glo_im1_private_v2_public = new glo_im1_private.c1(); @@ -509,6 +581,15 @@ var glo_im1_private_v1_private = glo_im1_private.c1; var glo_im1_private_v2_private = new glo_im1_private.c1(); var glo_im1_private_v3_private = glo_im1_private.f1; var glo_im1_private_v4_private = glo_im1_private.f1(); +//import glo_im2_private = require("glo_M2_public"); +//export var glo_im2_private_v1_public = glo_im2_private.c1; +//export var glo_im2_private_v2_public = new glo_im2_private.c1(); +//export var glo_im2_private_v3_public = glo_im2_private.f1; +//export var glo_im2_private_v4_public = glo_im2_private.f1(); +//var glo_im2_private_v1_private = glo_im2_private.c1; +//var glo_im2_private_v2_private = new glo_im2_private.c1(); +//var glo_im2_private_v3_private = glo_im2_private.f1; +//var glo_im2_private_v4_private = glo_im2_private.f1(); var glo_im3_private = glo_M3_private; exports.glo_im3_private_v1_public = glo_im3_private.c1; exports.glo_im3_private_v2_public = new glo_im3_private.c1(); @@ -518,6 +599,16 @@ var glo_im3_private_v1_private = glo_im3_private.c1; var glo_im3_private_v2_private = new glo_im3_private.c1(); var glo_im3_private_v3_private = glo_im3_private.f1; var glo_im3_private_v4_private = glo_im3_private.f1(); +//import glo_im4_private = require("glo_M4_private"); +//export var glo_im4_private_v1_public = glo_im4_private.c1; +//export var glo_im4_private_v2_public = new glo_im4_private.c1(); +//export var glo_im4_private_v3_public = glo_im4_private.f1; +//export var glo_im4_private_v4_public = glo_im4_private.f1(); +//var glo_im4_private_v1_private = glo_im4_private.c1; +//var glo_im4_private_v2_private = new glo_im4_private.c1(); +//var glo_im4_private_v3_private = glo_im4_private.f1; +//var glo_im4_private_v4_private = glo_im4_private.f1(); +// Parse error to export module exports.glo_im1_public = glo_M1_public; exports.glo_im2_public = glo_M3_private; //export import glo_im3_public = require("glo_M2_public"); diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.js b/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.js index 466e480a0df..ae9885d7018 100644 --- a/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.js +++ b/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.js @@ -212,6 +212,7 @@ var m_private; })(exports.m_public || (exports.m_public = {})); var m_public = exports.m_public; (function (import_public) { + // Privacy errors - importing private elements import_public.im_public_c_private = m_private.c_private; import_public.im_public_e_private = m_private.e_private; import_public.im_public_f_private = m_private.f_private; @@ -232,6 +233,7 @@ var m_public = exports.m_public; import_public.publicUse_im_public_mi_private = new import_public.im_public_mi_private.c(); var privateUse_im_public_mu_private; import_public.publicUse_im_public_mu_private; + // No Privacy errors - importing public elements import_public.im_public_c_public = m_public.c_public; import_public.im_public_e_public = m_public.e_public; import_public.im_public_f_public = m_public.f_public; @@ -256,6 +258,7 @@ var m_public = exports.m_public; var import_public = exports.import_public; var import_private; (function (import_private) { + // No Privacy errors - importing private elements import_private.im_private_c_private = m_private.c_private; import_private.im_private_e_private = m_private.e_private; import_private.im_private_f_private = m_private.f_private; @@ -276,6 +279,7 @@ var import_private; import_private.publicUse_im_private_mi_private = new import_private.im_private_mi_private.c(); var privateUse_im_private_mu_private; import_private.publicUse_im_private_mu_private; + // No privacy Error - importing public elements import_private.im_private_c_public = m_public.c_public; import_private.im_private_e_public = m_public.e_public; import_private.im_private_f_public = m_public.f_public; diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.js b/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.js index b58db63b13f..c47e2ffd059 100644 --- a/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.js +++ b/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.js @@ -213,6 +213,7 @@ define(["require", "exports"], function (require, exports) { })(exports.m_public || (exports.m_public = {})); var m_public = exports.m_public; (function (import_public) { + // No Privacy errors - importing private elements var im_private_c_private = m_private.c_private; var im_private_e_private = m_private.e_private; var im_private_f_private = m_private.f_private; @@ -233,6 +234,7 @@ define(["require", "exports"], function (require, exports) { import_public.publicUse_im_private_mi_private = new im_private_mi_private.c(); var privateUse_im_private_mu_private; import_public.publicUse_im_private_mu_private; + // No Privacy errors - importing public elements var im_private_c_public = m_public.c_public; var im_private_e_public = m_public.e_public; var im_private_f_public = m_public.f_public; @@ -257,6 +259,7 @@ define(["require", "exports"], function (require, exports) { var import_public = exports.import_public; var import_private; (function (import_private) { + // No Privacy errors - importing private elements var im_private_c_private = m_private.c_private; var im_private_e_private = m_private.e_private; var im_private_f_private = m_private.f_private; @@ -277,6 +280,7 @@ define(["require", "exports"], function (require, exports) { import_private.publicUse_im_private_mi_private = new im_private_mi_private.c(); var privateUse_im_private_mu_private; import_private.publicUse_im_private_mu_private; + // No privacy Error - importing public elements var im_private_c_public = m_public.c_public; var im_private_e_public = m_public.e_public; var im_private_f_public = m_public.f_public; diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js index 350f9676a7b..4ae42e1118e 100644 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js @@ -66,6 +66,9 @@ var c_public = (function () { })(); exports.c_public = c_public; //// [privacyTopLevelAmbientExternalModuleImportWithExport_core.js] +/// +/// +// Privacy errors - importing private elements exports.im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); exports.im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); exports.im_public_mi_public = require("m"); diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.js b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.js index 13109b9ac81..aeeccb82a2d 100644 --- a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.js +++ b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.js @@ -159,6 +159,7 @@ define(["require", "exports"], function (require, exports) { var mi_public = m_public.mi_public; })(exports.m_public || (exports.m_public = {})); var m_public = exports.m_public; + // Privacy errors - importing private elements exports.im_public_c_private = m_private.c_private; exports.im_public_e_private = m_private.e_private; exports.im_public_f_private = m_private.f_private; @@ -179,6 +180,7 @@ define(["require", "exports"], function (require, exports) { exports.publicUse_im_public_mi_private = new exports.im_public_mi_private.c(); var privateUse_im_public_mu_private; exports.publicUse_im_public_mu_private; + // No Privacy errors - importing public elements exports.im_public_c_public = m_public.c_public; exports.im_public_e_public = m_public.e_public; exports.im_public_f_public = m_public.f_public; diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js index f5bfea9863e..acc9f6e438e 100644 --- a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js +++ b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js @@ -160,6 +160,7 @@ define(["require", "exports"], function (require, exports) { var mi_public = m_public.mi_public; })(exports.m_public || (exports.m_public = {})); var m_public = exports.m_public; + // No Privacy errors - importing private elements var im_private_c_private = m_private.c_private; var im_private_e_private = m_private.e_private; var im_private_f_private = m_private.f_private; @@ -180,6 +181,7 @@ define(["require", "exports"], function (require, exports) { exports.publicUse_im_private_mi_private = new im_private_mi_private.c(); var privateUse_im_private_mu_private; exports.publicUse_im_private_mu_private; + // No Privacy errors - importing public elements var im_private_c_public = m_public.c_public; var im_private_e_public = m_public.e_public; var im_private_f_public = m_public.f_public; diff --git a/tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.js b/tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.js index 9ff12ce92bc..e7ac9c48bb8 100644 --- a/tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.js +++ b/tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.js @@ -1,3 +1,4 @@ +// only used privately no need to emit var private_m4 = require("private_m4"); (function (usePrivate_m4_m1) { var x3 = private_m4.x; diff --git a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/useModule.js b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/useModule.js index 2e815be2bd5..f458d0b1f17 100644 --- a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/useModule.js +++ b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/useModule.js @@ -1,3 +1,4 @@ +// Do not emit unused import var m5 = require("m5"); exports.d = m5.foo2(); exports.x = m5.foo2; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.js b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.js index 384226c77f3..2de3f23432a 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.js +++ b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.js @@ -11,6 +11,7 @@ exports.f4 = m4.foo(); var f3 = m4.foo(); })(exports.m1 || (exports.m1 = {})); var m1 = exports.m1; +// Do not emit multiple used import statements var multiImport_m4 = require("m4"); exports.useMultiImport_m4_x4 = multiImport_m4.x; exports.useMultiImport_m4_d4 = multiImport_m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.js b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.js index 056b8619f39..80a5c980876 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.js +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.js @@ -11,5 +11,6 @@ exports.f4 = m4.foo(); var f3 = m4.foo(); })(exports.m1 || (exports.m1 = {})); var m1 = exports.m1; +// Do not emit unused import var m5 = require("m5"); exports.d = m5.foo2(); diff --git a/tests/baselines/reference/staticInstanceResolution3.js b/tests/baselines/reference/staticInstanceResolution3.js index 16d9527a193..92a4e6522c7 100644 --- a/tests/baselines/reference/staticInstanceResolution3.js +++ b/tests/baselines/reference/staticInstanceResolution3.js @@ -23,5 +23,6 @@ var Promise = (function () { })(); exports.Promise = Promise; //// [staticInstanceResolution3_1.js] +/// var WinJS = require('staticInstanceResolution3_0'); WinJS.Promise.timeout(10); diff --git a/tests/baselines/reference/topLevelAmbientModule.js b/tests/baselines/reference/topLevelAmbientModule.js index cae0d90f55e..086f46cf7ce 100644 --- a/tests/baselines/reference/topLevelAmbientModule.js +++ b/tests/baselines/reference/topLevelAmbientModule.js @@ -13,5 +13,6 @@ var z = foo.x + 10; //// [foo_0.js] //// [foo_1.js] +/// var foo = require("foo"); var z = foo.x + 10; diff --git a/tests/baselines/reference/topLevelModuleDeclarationAndFile.js b/tests/baselines/reference/topLevelModuleDeclarationAndFile.js index 4ac3d91e28d..2215b7fd0ab 100644 --- a/tests/baselines/reference/topLevelModuleDeclarationAndFile.js +++ b/tests/baselines/reference/topLevelModuleDeclarationAndFile.js @@ -20,6 +20,7 @@ var z2 = foo.y() + 10; // Should resolve //// [foo_0.js] exports.x = 42; //// [foo_2.js] +/// var foo = require("vs/foo_0"); var z1 = foo.x + 10; var z2 = foo.y() + 10; diff --git a/tests/baselines/reference/typeofAmbientExternalModules.js b/tests/baselines/reference/typeofAmbientExternalModules.js index f3b7b0b5d00..1bfd549fb04 100644 --- a/tests/baselines/reference/typeofAmbientExternalModules.js +++ b/tests/baselines/reference/typeofAmbientExternalModules.js @@ -33,6 +33,8 @@ var D = (function () { })(); module.exports = D; //// [typeofAmbientExternalModules_2.js] +/// +/// var ext = require('typeofAmbientExternalModules_0'); var exp = require('typeofAmbientExternalModules_1'); var y1 = ext; diff --git a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js index 60fc1a3892b..6b2cccba5a9 100644 --- a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js +++ b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js @@ -18,6 +18,7 @@ function mkdirSync(path, mode) { } exports.mkdirSync = mkdirSync; //// [voidAsNonAmbiguousReturnType_1.js] +/// var fs = require("voidAsNonAmbiguousReturnType_0"); function main() { fs.mkdirSync('test');