From f3e4befc3efac6ba80c4fa5d2d918a123635edc4 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Tue, 8 Dec 2015 13:28:55 -0800 Subject: [PATCH] merge with master --- src/compiler/checker.ts | 2 ++ tests/baselines/reference/exportStarForValues.js | 2 ++ tests/baselines/reference/exportStarForValues10.js | 3 +++ tests/baselines/reference/exportStarForValues2.js | 3 +++ tests/baselines/reference/exportStarForValues3.js | 5 +++++ tests/baselines/reference/exportStarForValues4.js | 3 +++ tests/baselines/reference/exportStarForValues5.js | 2 ++ tests/baselines/reference/exportStarForValues6.js | 2 ++ tests/baselines/reference/exportStarForValues7.js | 3 +++ tests/baselines/reference/exportStarForValues8.js | 5 +++++ tests/baselines/reference/exportStarForValues9.js | 3 +++ tests/baselines/reference/exportStarForValuesInSystem.js | 2 ++ 12 files changed, 35 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 50fdd87e31d..777a25a4c12 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15025,6 +15025,8 @@ namespace ts { } const hasExportAssignment = getExportAssignmentSymbol(moduleSymbol) !== undefined; + // if module has export assignment then 'resolveExternalModuleSymbol' will return resolved symbol for export assignment + // otherwise it will return moduleSymbol itself moduleSymbol = resolveExternalModuleSymbol(moduleSymbol); const symbolLinks = getSymbolLinks(moduleSymbol); diff --git a/tests/baselines/reference/exportStarForValues.js b/tests/baselines/reference/exportStarForValues.js index bd82373d52a..dd432ecc1d3 100644 --- a/tests/baselines/reference/exportStarForValues.js +++ b/tests/baselines/reference/exportStarForValues.js @@ -10,8 +10,10 @@ var x; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x; }); diff --git a/tests/baselines/reference/exportStarForValues10.js b/tests/baselines/reference/exportStarForValues10.js index 781316cb8f9..dca5dad9b7a 100644 --- a/tests/baselines/reference/exportStarForValues10.js +++ b/tests/baselines/reference/exportStarForValues10.js @@ -14,6 +14,7 @@ var x = 1; //// [file0.js] System.register([], function(exports_1) { + "use strict"; var v; return { setters:[], @@ -24,6 +25,7 @@ System.register([], function(exports_1) { }); //// [file1.js] System.register([], function(exports_1) { + "use strict"; return { setters:[], execute: function() { @@ -32,6 +34,7 @@ System.register([], function(exports_1) { }); //// [file2.js] System.register(["file0"], function(exports_1) { + "use strict"; var x; function exportStar_1(m) { var exports = {}; diff --git a/tests/baselines/reference/exportStarForValues2.js b/tests/baselines/reference/exportStarForValues2.js index 3d6b24ae433..e45d5bdd3ba 100644 --- a/tests/baselines/reference/exportStarForValues2.js +++ b/tests/baselines/reference/exportStarForValues2.js @@ -14,12 +14,15 @@ var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); //// [file3.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); diff --git a/tests/baselines/reference/exportStarForValues3.js b/tests/baselines/reference/exportStarForValues3.js index c5136e57eef..9efe5ccf8e5 100644 --- a/tests/baselines/reference/exportStarForValues3.js +++ b/tests/baselines/reference/exportStarForValues3.js @@ -26,20 +26,25 @@ var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); //// [file3.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); //// [file4.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); //// [file5.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); diff --git a/tests/baselines/reference/exportStarForValues4.js b/tests/baselines/reference/exportStarForValues4.js index 2e7b84a6c2f..34b13bb00f3 100644 --- a/tests/baselines/reference/exportStarForValues4.js +++ b/tests/baselines/reference/exportStarForValues4.js @@ -18,12 +18,15 @@ var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file3.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; var x = 1; }); diff --git a/tests/baselines/reference/exportStarForValues5.js b/tests/baselines/reference/exportStarForValues5.js index 48caf8bdb85..dc4d4c8b68e 100644 --- a/tests/baselines/reference/exportStarForValues5.js +++ b/tests/baselines/reference/exportStarForValues5.js @@ -10,7 +10,9 @@ export var x; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); diff --git a/tests/baselines/reference/exportStarForValues6.js b/tests/baselines/reference/exportStarForValues6.js index e393ad3fe7e..69357d87ee0 100644 --- a/tests/baselines/reference/exportStarForValues6.js +++ b/tests/baselines/reference/exportStarForValues6.js @@ -10,6 +10,7 @@ export var x = 1; //// [file1.js] System.register([], function(exports_1) { + "use strict"; return { setters:[], execute: function() { @@ -18,6 +19,7 @@ System.register([], function(exports_1) { }); //// [file2.js] System.register([], function(exports_1) { + "use strict"; var x; return { setters:[], diff --git a/tests/baselines/reference/exportStarForValues7.js b/tests/baselines/reference/exportStarForValues7.js index 1e249f45906..39a152fdc89 100644 --- a/tests/baselines/reference/exportStarForValues7.js +++ b/tests/baselines/reference/exportStarForValues7.js @@ -14,13 +14,16 @@ export var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; exports.x = 1; }); //// [file3.js] define(["require", "exports", "file2"], function (require, exports, file2_1) { + "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } diff --git a/tests/baselines/reference/exportStarForValues8.js b/tests/baselines/reference/exportStarForValues8.js index aca678ddd17..f8e7678a40c 100644 --- a/tests/baselines/reference/exportStarForValues8.js +++ b/tests/baselines/reference/exportStarForValues8.js @@ -26,17 +26,21 @@ export var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file2.js] define(["require", "exports"], function (require, exports) { + "use strict"; exports.x = 1; }); //// [file3.js] define(["require", "exports"], function (require, exports) { + "use strict"; exports.x = 1; }); //// [file4.js] define(["require", "exports", "file2", "file3"], function (require, exports, file2_1, file3_1) { + "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } @@ -46,6 +50,7 @@ define(["require", "exports", "file2", "file3"], function (require, exports, fil }); //// [file5.js] define(["require", "exports", "file4"], function (require, exports, file4_1) { + "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } diff --git a/tests/baselines/reference/exportStarForValues9.js b/tests/baselines/reference/exportStarForValues9.js index 76758d8a2a0..e057e4d4027 100644 --- a/tests/baselines/reference/exportStarForValues9.js +++ b/tests/baselines/reference/exportStarForValues9.js @@ -18,9 +18,11 @@ export var x = 1; //// [file1.js] define(["require", "exports"], function (require, exports) { + "use strict"; }); //// [file3.js] define(["require", "exports", "file2"], function (require, exports, file2_1) { + "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } @@ -29,6 +31,7 @@ define(["require", "exports", "file2"], function (require, exports, file2_1) { }); //// [file2.js] define(["require", "exports", "file3"], function (require, exports, file3_1) { + "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } diff --git a/tests/baselines/reference/exportStarForValuesInSystem.js b/tests/baselines/reference/exportStarForValuesInSystem.js index 29b839731a8..a33465f7e2e 100644 --- a/tests/baselines/reference/exportStarForValuesInSystem.js +++ b/tests/baselines/reference/exportStarForValuesInSystem.js @@ -10,6 +10,7 @@ var x = 1; //// [file1.js] System.register([], function(exports_1) { + "use strict"; return { setters:[], execute: function() { @@ -18,6 +19,7 @@ System.register([], function(exports_1) { }); //// [file2.js] System.register([], function(exports_1) { + "use strict"; var x; return { setters:[],