From 166af8caf21c8d423cfb1f244d558e438ffac83b Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 6 Sep 2017 20:18:43 -0700 Subject: [PATCH] Accepted baselines. --- tests/baselines/reference/asOperator3.js | 11 +++- tests/baselines/reference/asOperatorASI.js | 9 ++- ...taggedTemplateStringsHexadecimalEscapes.js | 9 ++- ...sPlainCharactersThatArePartsOfEscapes01.js | 9 ++- ...gedTemplateStringsTypeArgumentInference.js | 63 ++++++++++--------- ...emplateStringsWithIncompatibleTypedTags.js | 27 +++++--- ...StringsWithManyCallAndMemberExpressions.js | 9 ++- ...gedTemplateStringsWithMultilineTemplate.js | 9 ++- ...dTemplateStringsWithOverloadResolution1.js | 19 ++++-- ...dTemplateStringsWithOverloadResolution2.js | 11 +++- ...dTemplateStringsWithOverloadResolution3.js | 51 ++++++++------- ...aggedTemplateStringsWithTagNamedDeclare.js | 9 ++- ...taggedTemplateStringsWithTagsTypedAsAny.js | 29 +++++---- ...tionExpressionsInSubstitutionExpression.js | 9 ++- .../taggedTemplateStringsWithTypedTags.js | 25 +++++--- ...taggedTemplateStringsWithUnicodeEscapes.js | 9 ++- ...gedTemplateStringsWithWhitespaceEscapes.js | 9 ++- .../taggedTemplateUntypedTagCall01.js | 9 ++- .../taggedTemplateWithConstructableTag01.js | 9 ++- .../taggedTemplateWithConstructableTag02.js | 9 ++- .../reference/templateStringInModuleName.js | 11 +++- .../templateStringInObjectLiteral.js | 11 +++- .../templateStringInPropertyName1.js | 9 ++- .../templateStringInPropertyName2.js | 9 ++- .../templateStringInTaggedTemplate.js | 9 ++- ...emplateStringsArrayTypeDefinedInES5Mode.js | 9 ++- ...mplateStringsArrayTypeNotDefinedES5Mode.js | 9 ++- 27 files changed, 300 insertions(+), 111 deletions(-) diff --git a/tests/baselines/reference/asOperator3.js b/tests/baselines/reference/asOperator3.js index 770a853ad25..c1d81bfe17c 100644 --- a/tests/baselines/reference/asOperator3.js +++ b/tests/baselines/reference/asOperator3.js @@ -11,12 +11,19 @@ var g = tag `Hello ${123} World` as string; var h = tag `Hello` as string; //// [asOperator3.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var a = "" + (123 + 456); var b = "leading " + (123 + 456); var c = 123 + 456 + " trailing"; var d = "Hello " + 123 + " World"; var e = "Hello"; var f = 1 + (1 + " end of string"); -var g = (_a = ["Hello ", " World"], _a.raw = ["Hello ", " World"], tag(_a, 123)); -var h = (_b = ["Hello"], _b.raw = ["Hello"], tag(_b)); +var g = tag(_a || (_a = __getTemplateObject(["Hello ", " World"], ["Hello ", " World"])), 123); +var h = tag(_b || (_b = __getTemplateObject(["Hello"], ["Hello"]))); var _a, _b; diff --git a/tests/baselines/reference/asOperatorASI.js b/tests/baselines/reference/asOperatorASI.js index 342dc03d2ef..1205824c670 100644 --- a/tests/baselines/reference/asOperatorASI.js +++ b/tests/baselines/reference/asOperatorASI.js @@ -12,6 +12,13 @@ as(Foo); // should emit //// [asOperatorASI.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var Foo = /** @class */ (function () { function Foo() { } @@ -19,7 +26,7 @@ var Foo = /** @class */ (function () { }()); // Example 1 var x = 10; -(_a = ["Hello world"], _a.raw = ["Hello world"], as(_a)); // should not error +as(_a || (_a = __getTemplateObject(["Hello world"], ["Hello world"]))); // should not error // Example 2 var y = 20; as(Foo); // should emit diff --git a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js index 3df09abb2db..a0aeae561e0 100644 --- a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js @@ -5,11 +5,18 @@ function f(...args: any[]) { f `\x0D${ "Interrupted CRLF" }\x0A`; //// [taggedTemplateStringsHexadecimalEscapes.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } } -(_a = ["\r", "\n"], _a.raw = ["\\x0D", "\\x0A"], f(_a, "Interrupted CRLF")); +f(_a || (_a = __getTemplateObject(["\r", "\n"], ["\\x0D", "\\x0A"])), "Interrupted CRLF"); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js index 10610fb28a9..a74d112ee3d 100644 --- a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js +++ b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js @@ -6,11 +6,18 @@ function f(...x: any[]) { f `0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n` //// [taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f() { var x = []; for (var _i = 0; _i < arguments.length; _i++) { x[_i] = arguments[_i]; } } -(_a = ["0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n"], _a.raw = ["0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n"], f(_a)); +f(_a || (_a = __getTemplateObject(["0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n"], ["0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2028 2029 0085 t v f b r n"]))); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js index e0427c28b87..262eee663cd 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js @@ -92,67 +92,74 @@ var arr: any[]; //// [taggedTemplateStringsTypeArgumentInference.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; // Generic tag with one parameter function noParams(n) { } -(_a = [""], _a.raw = [""], noParams(_a)); +noParams(_a || (_a = __getTemplateObject([""], [""]))); // Generic tag with parameter which does not use type parameter function noGenericParams(n) { } -(_b = [""], _b.raw = [""], noGenericParams(_b)); +noGenericParams(_b || (_b = __getTemplateObject([""], [""]))); // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n, m) { } -(_c = ["", ""], _c.raw = ["", ""], someGenerics1a(_c, 3)); +someGenerics1a(_c || (_c = __getTemplateObject(["", ""], ["", ""])), 3); function someGenerics1b(n, m) { } -(_d = ["", ""], _d.raw = ["", ""], someGenerics1b(_d, 3)); +someGenerics1b(_d || (_d = __getTemplateObject(["", ""], ["", ""])), 3); // Generic tag with argument of function type whose parameter is of type parameter type function someGenerics2a(strs, n) { } -(_e = ["", ""], _e.raw = ["", ""], someGenerics2a(_e, function (n) { return n; })); +someGenerics2a(_e || (_e = __getTemplateObject(["", ""], ["", ""])), function (n) { return n; }); function someGenerics2b(strs, n) { } -(_f = ["", ""], _f.raw = ["", ""], someGenerics2b(_f, function (n, x) { return n; })); +someGenerics2b(_f || (_f = __getTemplateObject(["", ""], ["", ""])), function (n, x) { return n; }); // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter function someGenerics3(strs, producer) { } -(_g = ["", ""], _g.raw = ["", ""], someGenerics3(_g, function () { return ''; })); -(_h = ["", ""], _h.raw = ["", ""], someGenerics3(_h, function () { return undefined; })); -(_j = ["", ""], _j.raw = ["", ""], someGenerics3(_j, function () { return 3; })); +someGenerics3(_g || (_g = __getTemplateObject(["", ""], ["", ""])), function () { return ''; }); +someGenerics3(_h || (_h = __getTemplateObject(["", ""], ["", ""])), function () { return undefined; }); +someGenerics3(_j || (_j = __getTemplateObject(["", ""], ["", ""])), function () { return 3; }); // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type function someGenerics4(strs, n, f) { } -(_k = ["", "", ""], _k.raw = ["", "", ""], someGenerics4(_k, 4, function () { return null; })); -(_l = ["", "", ""], _l.raw = ["", "", ""], someGenerics4(_l, '', function () { return 3; })); -(_m = ["", "", ""], _m.raw = ["", "", ""], someGenerics4(_m, null, null)); +someGenerics4(_k || (_k = __getTemplateObject(["", "", ""], ["", "", ""])), 4, function () { return null; }); +someGenerics4(_l || (_l = __getTemplateObject(["", "", ""], ["", "", ""])), '', function () { return 3; }); +someGenerics4(_m || (_m = __getTemplateObject(["", "", ""], ["", "", ""])), null, null); // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type function someGenerics5(strs, n, f) { } -(_o = ["", " ", ""], _o.raw = ["", " ", ""], someGenerics5(_o, 4, function () { return null; })); -(_p = ["", "", ""], _p.raw = ["", "", ""], someGenerics5(_p, '', function () { return 3; })); -(_q = ["", "", ""], _q.raw = ["", "", ""], someGenerics5(_q, null, null)); +someGenerics5(_o || (_o = __getTemplateObject(["", " ", ""], ["", " ", ""])), 4, function () { return null; }); +someGenerics5(_p || (_p = __getTemplateObject(["", "", ""], ["", "", ""])), '', function () { return 3; }); +someGenerics5(_q || (_q = __getTemplateObject(["", "", ""], ["", "", ""])), null, null); // Generic tag with multiple arguments of function types that each have parameters of the same generic type function someGenerics6(strs, a, b, c) { } -(_r = ["", "", "", ""], _r.raw = ["", "", "", ""], someGenerics6(_r, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); -(_s = ["", "", "", ""], _s.raw = ["", "", "", ""], someGenerics6(_s, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); -(_t = ["", "", "", ""], _t.raw = ["", "", "", ""], someGenerics6(_t, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); +someGenerics6(_r || (_r = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); +someGenerics6(_s || (_s = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); +someGenerics6(_t || (_t = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Generic tag with multiple arguments of function types that each have parameters of different generic type function someGenerics7(strs, a, b, c) { } -(_u = ["", "", "", ""], _u.raw = ["", "", "", ""], someGenerics7(_u, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); -(_v = ["", "", "", ""], _v.raw = ["", "", "", ""], someGenerics7(_v, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); -(_w = ["", "", "", ""], _w.raw = ["", "", "", ""], someGenerics7(_w, function (n) { return n; }, function (n) { return n; }, function (n) { return n; })); +someGenerics7(_u || (_u = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); +someGenerics7(_v || (_v = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); +someGenerics7(_w || (_w = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Generic tag with argument of generic function type function someGenerics8(strs, n) { return n; } -var x = (_x = ["", ""], _x.raw = ["", ""], someGenerics8(_x, someGenerics7)); -(_y = ["", "", "", ""], _y.raw = ["", "", "", ""], x(_y, null, null, null)); +var x = someGenerics8(_x || (_x = __getTemplateObject(["", ""], ["", ""])), someGenerics7); +x(_y || (_y = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), null, null, null); // Generic tag with multiple parameters of generic type passed arguments with no best common type function someGenerics9(strs, a, b, c) { return null; } -var a9a = (_z = ["", "", "", ""], _z.raw = ["", "", "", ""], someGenerics9(_z, '', 0, [])); +var a9a = someGenerics9(_z || (_z = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), '', 0, []); var a9a; -var a9e = (_0 = ["", "", "", ""], _0.raw = ["", "", "", ""], someGenerics9(_0, undefined, { x: 6, z: new Date() }, { x: 6, y: '' })); +var a9e = someGenerics9(_0 || (_0 = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); var a9e; // Generic tag with multiple parameters of generic type passed arguments with a single best common type -var a9d = (_1 = ["", "", "", ""], _1.raw = ["", "", "", ""], someGenerics9(_1, { x: 3 }, { x: 6 }, { x: 6 })); +var a9d = someGenerics9(_1 || (_1 = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), { x: 3 }, { x: 6 }, { x: 6 }); var a9d; // Generic tag with multiple parameters of generic type where one argument is of type 'any' var anyVar; -var a = (_2 = ["", "", "", ""], _2.raw = ["", "", "", ""], someGenerics9(_2, 7, anyVar, 4)); +var a = someGenerics9(_2 || (_2 = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), 7, anyVar, 4); var a; // Generic tag with multiple parameters of generic type where one argument is [] and the other is not 'any' -var arr = (_3 = ["", "", "", ""], _3.raw = ["", "", "", ""], someGenerics9(_3, [], null, undefined)); +var arr = someGenerics9(_3 || (_3 = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), [], null, undefined); var arr; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js index 16f1a3faea0..69c828fae3d 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js @@ -34,16 +34,23 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithIncompatibleTypedTags.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var f; -(_a = ["abc"], _a.raw = ["abc"], f(_a)); -(_b = ["abc", "def", "ghi"], _b.raw = ["abc", "def", "ghi"], f(_b, 1, 2)); -(_c = ["abc"], _c.raw = ["abc"], f(_c)).member; -(_d = ["abc", "def", "ghi"], _d.raw = ["abc", "def", "ghi"], f(_d, 1, 2)).member; -(_e = ["abc"], _e.raw = ["abc"], f(_e))["member"]; -(_f = ["abc", "def", "ghi"], _f.raw = ["abc", "def", "ghi"], f(_f, 1, 2))["member"]; -(_g = ["abc", "def", "ghi"], _g.raw = ["abc", "def", "ghi"], (_h = ["abc"], _h.raw = ["abc"], f(_h))[0].member(_g, 1, 2)); -(_j = ["abc", "def", "ghi"], _j.raw = ["abc", "def", "ghi"], (_k = ["abc", "def", "ghi"], _k.raw = ["abc", "def", "ghi"], f(_k, 1, 2))["member"].member(_j, 1, 2)); -(_l = ["abc", "def", "ghi"], _l.raw = ["abc", "def", "ghi"], (_m = ["abc", "def", "ghi"], _m.raw = ["abc", "def", "ghi"], f(_m, true, true))["member"].member(_l, 1, 2)); +f(_a || (_a = __getTemplateObject(["abc"], ["abc"]))); +f(_b || (_b = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_c || (_c = __getTemplateObject(["abc"], ["abc"]))).member; +f(_d || (_d = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2).member; +f(_e || (_e = __getTemplateObject(["abc"], ["abc"])))["member"]; +f(_f || (_f = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"]; +f(_g || (_g = __getTemplateObject(["abc"], ["abc"])))[0].member(_h || (_h = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_j || (_j = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"].member(_k || (_k = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_l || (_l = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), true, true)["member"].member(_m || (_m = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _h, _g, _k, _j, _m, _l; +var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js index a896a811ffb..5ca2043061e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js @@ -16,6 +16,13 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; //// [taggedTemplateStringsWithManyCallAndMemberExpressions.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var f; -var x = new new new (_a = ["abc", "def"], _a.raw = ["abc", "def"], f(_a, 0)).member("hello")(42) === true; +var x = new new new f(_a || (_a = __getTemplateObject(["abc", "def"], ["abc", "def"])), 0).member("hello")(42) === true; var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js index 9ffc0cadfef..aba46d003a0 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js @@ -8,11 +8,18 @@ f ` `; //// [taggedTemplateStringsWithMultilineTemplate.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } } -(_a = ["\n\n"], _a.raw = ["\n\\\n\n"], f(_a)); +f(_a || (_a = __getTemplateObject(["\n\n"], ["\n\\\n\n"]))); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js index 19211c2fa8a..fe44bf2f743 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js @@ -23,6 +23,13 @@ var z = foo `${1}${2}${3}`; // any (with error) //// [taggedTemplateStringsWithOverloadResolution1.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function foo() { var stuff = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -36,10 +43,10 @@ var c = foo([], 1, 2); // boolean var d = foo([], 1, true); // boolean (with error) var e = foo([], 1, "2"); // {} var f = foo([], 1, 2, 3); // any (with error) -var u = (_a = [""], _a.raw = [""], foo(_a)); // number -var v = (_b = ["", ""], _b.raw = ["", ""], foo(_b, 1)); // string -var w = (_c = ["", "", ""], _c.raw = ["", "", ""], foo(_c, 1, 2)); // boolean -var x = (_d = ["", "", ""], _d.raw = ["", "", ""], foo(_d, 1, true)); // boolean (with error) -var y = (_e = ["", "", ""], _e.raw = ["", "", ""], foo(_e, 1, "2")); // {} -var z = (_f = ["", "", "", ""], _f.raw = ["", "", "", ""], foo(_f, 1, 2, 3)); // any (with error) +var u = foo(_a || (_a = __getTemplateObject([""], [""]))); // number +var v = foo(_b || (_b = __getTemplateObject(["", ""], ["", ""])), 1); // string +var w = foo(_c || (_c = __getTemplateObject(["", "", ""], ["", "", ""])), 1, 2); // boolean +var x = foo(_d || (_d = __getTemplateObject(["", "", ""], ["", "", ""])), 1, true); // boolean (with error) +var y = foo(_e || (_e = __getTemplateObject(["", "", ""], ["", "", ""])), 1, "2"); // {} +var z = foo(_f || (_f = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), 1, 2, 3); // any (with error) var _a, _b, _c, _d, _e, _f; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js index 779585ac264..35cc1f14c34 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js @@ -18,6 +18,13 @@ var c = foo2 `${1}`; var d = foo2([], 1); //// [taggedTemplateStringsWithOverloadResolution2.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function foo1() { var stuff = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -25,7 +32,7 @@ function foo1() { } return undefined; } -var a = (_a = ["", ""], _a.raw = ["", ""], foo1(_a, 1)); +var a = foo1(_a || (_a = __getTemplateObject(["", ""], ["", ""])), 1); var b = foo1([], 1); function foo2() { var stuff = []; @@ -34,6 +41,6 @@ function foo2() { } return undefined; } -var c = (_b = ["", ""], _b.raw = ["", ""], foo2(_b, 1)); +var c = foo2(_b || (_b = __getTemplateObject(["", ""], ["", ""])), 1); var d = foo2([], 1); var _a, _b; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js index df89f2aeea7..6e5bacfa370 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js @@ -73,42 +73,49 @@ fn5 `${ (n) => n.substr(0) }`; //// [taggedTemplateStringsWithOverloadResolution3.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function fn1() { return null; } -var s = (_a = ["", ""], _a.raw = ["", ""], fn1(_a, undefined)); +var s = fn1(_a || (_a = __getTemplateObject(["", ""], ["", ""])), undefined); // No candidate overloads found -(_b = ["", ""], _b.raw = ["", ""], fn1(_b, {})); // Error +fn1(_b || (_b = __getTemplateObject(["", ""], ["", ""])), {}); // Error function fn2() { return undefined; } -var d1 = (_c = ["", "", ""], _c.raw = ["", "", ""], fn2(_c, 0, undefined)); // contextually typed -var d2 = (_d = ["", "", ""], _d.raw = ["", "", ""], fn2(_d, 0, undefined)); // any +var d1 = fn2(_c || (_c = __getTemplateObject(["", "", ""], ["", "", ""])), 0, undefined); // contextually typed +var d2 = fn2(_d || (_d = __getTemplateObject(["", "", ""], ["", "", ""])), 0, undefined); // any d1.foo(); // error d2(); // no error (typed as any) // Generic and non-generic overload where generic overload is the only candidate -(_e = ["", "", ""], _e.raw = ["", "", ""], fn2(_e, 0, '')); // OK +fn2(_e || (_e = __getTemplateObject(["", "", ""], ["", "", ""])), 0, ''); // OK // Generic and non-generic overload where non-generic overload is the only candidate -(_f = ["", "", ""], _f.raw = ["", "", ""], fn2(_f, '', 0)); // OK +fn2(_f || (_f = __getTemplateObject(["", "", ""], ["", "", ""])), '', 0); // OK function fn3() { return null; } -var s = (_g = ["", ""], _g.raw = ["", ""], fn3(_g, 3)); -var s = (_h = ["", "", "", ""], _h.raw = ["", "", "", ""], fn3(_h, '', 3, '')); -var n = (_j = ["", "", "", ""], _j.raw = ["", "", "", ""], fn3(_j, 5, 5, 5)); +var s = fn3(_g || (_g = __getTemplateObject(["", ""], ["", ""])), 3); +var s = fn3(_h || (_h = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), '', 3, ''); +var n = fn3(_j || (_j = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), 5, 5, 5); var n; // Generic overloads with differing arity tagging with arguments matching each overload type parameter count -var s = (_k = ["", ""], _k.raw = ["", ""], fn3(_k, 4)); -var s = (_l = ["", "", "", ""], _l.raw = ["", "", "", ""], fn3(_l, '', '', '')); -var n = (_m = ["", "", "", ""], _m.raw = ["", "", "", ""], fn3(_m, '', '', 3)); +var s = fn3(_k || (_k = __getTemplateObject(["", ""], ["", ""])), 4); +var s = fn3(_l || (_l = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), '', '', ''); +var n = fn3(_m || (_m = __getTemplateObject(["", "", "", ""], ["", "", "", ""])), '', '', 3); // Generic overloads with differing arity tagging with argument count that doesn't match any overload -(_o = [""], _o.raw = [""], fn3(_o)); // Error +fn3(_o || (_o = __getTemplateObject([""], [""]))); // Error function fn4() { } // Generic overloads with constraints tagged with types that satisfy the constraints -(_p = ["", "", ""], _p.raw = ["", "", ""], fn4(_p, '', 3)); -(_q = ["", "", ""], _q.raw = ["", "", ""], fn4(_q, 3, '')); -(_r = ["", "", ""], _r.raw = ["", "", ""], fn4(_r, 3, undefined)); -(_s = ["", "", ""], _s.raw = ["", "", ""], fn4(_s, '', null)); +fn4(_p || (_p = __getTemplateObject(["", "", ""], ["", "", ""])), '', 3); +fn4(_q || (_q = __getTemplateObject(["", "", ""], ["", "", ""])), 3, ''); +fn4(_r || (_r = __getTemplateObject(["", "", ""], ["", "", ""])), 3, undefined); +fn4(_s || (_s = __getTemplateObject(["", "", ""], ["", "", ""])), '', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints -(_t = ["", "", ""], _t.raw = ["", "", ""], fn4(_t, null, null)); // Error +fn4(_t || (_t = __getTemplateObject(["", "", ""], ["", "", ""])), null, null); // Error // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints -(_u = ["", "", ""], _u.raw = ["", "", ""], fn4(_u, true, null)); -(_v = ["", "", ""], _v.raw = ["", "", ""], fn4(_v, null, true)); +fn4(_u || (_u = __getTemplateObject(["", "", ""], ["", "", ""])), true, null); +fn4(_v || (_v = __getTemplateObject(["", "", ""], ["", "", ""])), null, true); function fn5() { return undefined; } -(_w = ["", ""], _w.raw = ["", ""], fn5(_w, function (n) { return n.toFixed(); })); // will error; 'n' should have type 'string'. -(_x = ["", ""], _x.raw = ["", ""], fn5(_x, function (n) { return n.substr(0); })); +fn5(_w || (_w = __getTemplateObject(["", ""], ["", ""])), function (n) { return n.toFixed(); }); // will error; 'n' should have type 'string'. +fn5(_x || (_x = __getTemplateObject(["", ""], ["", ""])), function (n) { return n.substr(0); }); var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js index 7a96d4b5e4d..47803b78a1d 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js @@ -5,11 +5,18 @@ function declare(x: any, ...ys: any[]) { declare `Hello ${0} world!`; //// [taggedTemplateStringsWithTagNamedDeclare.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function declare(x) { var ys = []; for (var _i = 1; _i < arguments.length; _i++) { ys[_i - 1] = arguments[_i]; } } -(_a = ["Hello ", " world!"], _a.raw = ["Hello ", " world!"], declare(_a, 0)); +declare(_a || (_a = __getTemplateObject(["Hello ", " world!"], ["Hello ", " world!"])), 0); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js index cd3d8ba6701..e404fbfd103 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js @@ -26,17 +26,24 @@ f.thisIsNotATag(`abc`); f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithTagsTypedAsAny.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var f; -(_a = ["abc"], _a.raw = ["abc"], f(_a)); -(_b = ["abc", "def", "ghi"], _b.raw = ["abc", "def", "ghi"], f(_b, 1, 2)); -(_c = ["abc"], _c.raw = ["abc"], f.g.h(_c)); -(_d = ["abc", "def", "ghi"], _d.raw = ["abc", "def", "ghi"], f.g.h(_d, 1, 2)); -(_e = ["abc"], _e.raw = ["abc"], f(_e)).member; -(_f = ["abc", "def", "ghi"], _f.raw = ["abc", "def", "ghi"], f(_f, 1, 2)).member; -(_g = ["abc"], _g.raw = ["abc"], f(_g))["member"]; -(_h = ["abc", "def", "ghi"], _h.raw = ["abc", "def", "ghi"], f(_h, 1, 2))["member"]; -(_j = ["abc", "def", "ghi"], _j.raw = ["abc", "def", "ghi"], (_k = ["abc"], _k.raw = ["abc"], f(_k))["member"].someOtherTag(_j, 1, 2)); -(_l = ["abc", "def", "ghi"], _l.raw = ["abc", "def", "ghi"], (_m = ["abc", "def", "ghi"], _m.raw = ["abc", "def", "ghi"], f(_m, 1, 2))["member"].someOtherTag(_l, 1, 2)); +f(_a || (_a = __getTemplateObject(["abc"], ["abc"]))); +f(_b || (_b = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f.g.h(_c || (_c = __getTemplateObject(["abc"], ["abc"]))); +f.g.h(_d || (_d = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_e || (_e = __getTemplateObject(["abc"], ["abc"]))).member; +f(_f || (_f = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2).member; +f(_g || (_g = __getTemplateObject(["abc"], ["abc"])))["member"]; +f(_h || (_h = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"]; +f(_j || (_j = __getTemplateObject(["abc"], ["abc"])))["member"].someOtherTag(_k || (_k = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_l || (_l = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"].someOtherTag(_m || (_m = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _g, _h, _k, _j, _m, _l; +var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js index 3e2889ce1f3..2da3093dbf7 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js @@ -5,11 +5,18 @@ function foo(...rest: any[]) { foo `${function (x: number) { x = "bad"; } }`; //// [taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function foo() { var rest = []; for (var _i = 0; _i < arguments.length; _i++) { rest[_i] = arguments[_i]; } } -(_a = ["", ""], _a.raw = ["", ""], foo(_a, function (x) { x = "bad"; })); +foo(_a || (_a = __getTemplateObject(["", ""], ["", ""])), function (x) { x = "bad"; }); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js index 5f3409a1e58..32a646c4749 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js @@ -32,15 +32,22 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithTypedTags.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var f; -(_a = ["abc"], _a.raw = ["abc"], f(_a)); -(_b = ["abc", "def", "ghi"], _b.raw = ["abc", "def", "ghi"], f(_b, 1, 2)); -(_c = ["abc"], _c.raw = ["abc"], f(_c)).member; -(_d = ["abc", "def", "ghi"], _d.raw = ["abc", "def", "ghi"], f(_d, 1, 2)).member; -(_e = ["abc"], _e.raw = ["abc"], f(_e))["member"]; -(_f = ["abc", "def", "ghi"], _f.raw = ["abc", "def", "ghi"], f(_f, 1, 2))["member"]; -(_g = ["abc", "def", "ghi"], _g.raw = ["abc", "def", "ghi"], (_h = ["abc"], _h.raw = ["abc"], f(_h))[0].member(_g, 1, 2)); -(_j = ["abc", "def", "ghi"], _j.raw = ["abc", "def", "ghi"], (_k = ["abc", "def", "ghi"], _k.raw = ["abc", "def", "ghi"], f(_k, 1, 2))["member"].member(_j, 1, 2)); +f(_a || (_a = __getTemplateObject(["abc"], ["abc"]))); +f(_b || (_b = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_c || (_c = __getTemplateObject(["abc"], ["abc"]))).member; +f(_d || (_d = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2).member; +f(_e || (_e = __getTemplateObject(["abc"], ["abc"])))["member"]; +f(_f || (_f = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"]; +f(_g || (_g = __getTemplateObject(["abc"], ["abc"])))[0].member(_h || (_h = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); +f(_j || (_j = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2)["member"].member(_k || (_k = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 1, 2); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _h, _g, _k, _j; +var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; diff --git a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js index 6a04b082e1f..58f3aecfce3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js @@ -5,11 +5,18 @@ function f(...args: any[]) { f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'`; //// [taggedTemplateStringsWithUnicodeEscapes.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } } -(_a = ["'\uD83D\uDCA9'", "'\uD83D\uDCA9'"], _a.raw = ["'\\u{1f4a9}'", "'\\uD83D\\uDCA9'"], f(_a, " should be converted to ")); +f(_a || (_a = __getTemplateObject(["'\uD83D\uDCA9'", "'\uD83D\uDCA9'"], ["'\\u{1f4a9}'", "'\\uD83D\\uDCA9'"])), " should be converted to "); var _a; diff --git a/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js b/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js index e8f219fd125..01c75a2c585 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js @@ -5,11 +5,18 @@ function f(...args: any[]) { f `\t\n\v\f\r\\`; //// [taggedTemplateStringsWithWhitespaceEscapes.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } } -(_a = ["\t\n\v\f\r\\"], _a.raw = ["\\t\\n\\v\\f\\r\\\\"], f(_a)); +f(_a || (_a = __getTemplateObject(["\t\n\v\f\r\\"], ["\\t\\n\\v\\f\\r\\\\"]))); var _a; diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.js b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js index e0d16eec39d..78ea6b5536d 100644 --- a/tests/baselines/reference/taggedTemplateUntypedTagCall01.js +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js @@ -3,6 +3,13 @@ var tag: Function; tag `Hello world!`; //// [taggedTemplateUntypedTagCall01.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var tag; -(_a = ["Hello world!"], _a.raw = ["Hello world!"], tag(_a)); +tag(_a || (_a = __getTemplateObject(["Hello world!"], ["Hello world!"]))); var _a; diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.js b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js index dacae2f529e..89c6a92d792 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag01.js +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js @@ -4,10 +4,17 @@ class CtorTag { } CtorTag `Hello world!`; //// [taggedTemplateWithConstructableTag01.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var CtorTag = /** @class */ (function () { function CtorTag() { } return CtorTag; }()); -(_a = ["Hello world!"], _a.raw = ["Hello world!"], CtorTag(_a)); +CtorTag(_a || (_a = __getTemplateObject(["Hello world!"], ["Hello world!"]))); var _a; diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js index 6c38d508bd2..4b7af2a53f4 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js @@ -7,6 +7,13 @@ var tag: I; tag `Hello world!`; //// [taggedTemplateWithConstructableTag02.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var tag; -(_a = ["Hello world!"], _a.raw = ["Hello world!"], tag(_a)); +tag(_a || (_a = __getTemplateObject(["Hello world!"], ["Hello world!"]))); var _a; diff --git a/tests/baselines/reference/templateStringInModuleName.js b/tests/baselines/reference/templateStringInModuleName.js index 36f619176e4..5c76f8dd910 100644 --- a/tests/baselines/reference/templateStringInModuleName.js +++ b/tests/baselines/reference/templateStringInModuleName.js @@ -6,12 +6,19 @@ declare module `M${2}` { } //// [templateStringInModuleName.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; declare; -(_a = ["M1"], _a.raw = ["M1"], module(_a)); +module(_a || (_a = __getTemplateObject(["M1"], ["M1"]))); { } declare; -(_b = ["M", ""], _b.raw = ["M", ""], module(_b, 2)); +module(_b || (_b = __getTemplateObject(["M", ""], ["M", ""])), 2); { } var _a, _b; diff --git a/tests/baselines/reference/templateStringInObjectLiteral.js b/tests/baselines/reference/templateStringInObjectLiteral.js index 0381e9a95e7..f0990622a72 100644 --- a/tests/baselines/reference/templateStringInObjectLiteral.js +++ b/tests/baselines/reference/templateStringInObjectLiteral.js @@ -5,8 +5,15 @@ var x = { } //// [templateStringInObjectLiteral.js] -var x = (_a = ["b"], _a.raw = ["b"], { +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; +var x = { a: "abc" + 123 + "def" -}(_a)); +}(_a || (_a = __getTemplateObject(["b"], ["b"]))); 321; var _a; diff --git a/tests/baselines/reference/templateStringInPropertyName1.js b/tests/baselines/reference/templateStringInPropertyName1.js index 239ba78d827..9fb45840ce2 100644 --- a/tests/baselines/reference/templateStringInPropertyName1.js +++ b/tests/baselines/reference/templateStringInPropertyName1.js @@ -4,6 +4,13 @@ var x = { } //// [templateStringInPropertyName1.js] -var x = (_a = ["a"], _a.raw = ["a"], {}(_a)); +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; +var x = {}(_a || (_a = __getTemplateObject(["a"], ["a"]))); 321; var _a; diff --git a/tests/baselines/reference/templateStringInPropertyName2.js b/tests/baselines/reference/templateStringInPropertyName2.js index 8a71a6e30be..952c2472fd0 100644 --- a/tests/baselines/reference/templateStringInPropertyName2.js +++ b/tests/baselines/reference/templateStringInPropertyName2.js @@ -4,6 +4,13 @@ var x = { } //// [templateStringInPropertyName2.js] -var x = (_a = ["abc", "def", "ghi"], _a.raw = ["abc", "def", "ghi"], {}(_a, 123, 456)); +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; +var x = {}(_a || (_a = __getTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"])), 123, 456); 321; var _a; diff --git a/tests/baselines/reference/templateStringInTaggedTemplate.js b/tests/baselines/reference/templateStringInTaggedTemplate.js index 3ba70ba84b6..a4f6e265cfa 100644 --- a/tests/baselines/reference/templateStringInTaggedTemplate.js +++ b/tests/baselines/reference/templateStringInTaggedTemplate.js @@ -2,5 +2,12 @@ `I AM THE ${ `${ `TAG` } ` } PORTION` `I ${ "AM" } THE TEMPLATE PORTION` //// [templateStringInTaggedTemplate.js] -(_a = ["I ", " THE TEMPLATE PORTION"], _a.raw = ["I ", " THE TEMPLATE PORTION"], ("I AM THE " + "TAG" + " " + " PORTION")(_a, "AM")); +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; +("I AM THE " + "TAG" + " " + " PORTION")(_a || (_a = __getTemplateObject(["I ", " THE TEMPLATE PORTION"], ["I ", " THE TEMPLATE PORTION"])), "AM"); var _a; diff --git a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js index 517383f6f29..e93cf3fc78d 100644 --- a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js +++ b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js @@ -10,6 +10,13 @@ f({}, 10, 10); f `abcdef${ 1234 }${ 5678 }ghijkl`; //// [templateStringsArrayTypeDefinedInES5Mode.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; var TemplateStringsArray = /** @class */ (function () { function TemplateStringsArray() { } @@ -18,5 +25,5 @@ var TemplateStringsArray = /** @class */ (function () { function f(x, y, z) { } f({}, 10, 10); -(_a = ["abcdef", "", "ghijkl"], _a.raw = ["abcdef", "", "ghijkl"], f(_a, 1234, 5678)); +f(_a || (_a = __getTemplateObject(["abcdef", "", "ghijkl"], ["abcdef", "", "ghijkl"])), 1234, 5678); var _a; diff --git a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js index 6daa46d037b..5842ba96eb4 100644 --- a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js +++ b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js @@ -7,8 +7,15 @@ f({}, 10, 10); f `abcdef${ 1234 }${ 5678 }ghijkl`; //// [templateStringsArrayTypeNotDefinedES5Mode.js] +var __getTemplateObject = (this && this.__getTemplateObject) || function (cooked, raw) { + if (Object.freeze && Object.defineProperty) { + return Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + cooked.raw = raw; + return cooked; +}; function f(x, y, z) { } f({}, 10, 10); -(_a = ["abcdef", "", "ghijkl"], _a.raw = ["abcdef", "", "ghijkl"], f(_a, 1234, 5678)); +f(_a || (_a = __getTemplateObject(["abcdef", "", "ghijkl"], ["abcdef", "", "ghijkl"])), 1234, 5678); var _a;