diff --git a/src/compiler/factory/emitHelpers.ts b/src/compiler/factory/emitHelpers.ts index faa93c77be83a..ca8a977324469 100644 --- a/src/compiler/factory/emitHelpers.ts +++ b/src/compiler/factory/emitHelpers.ts @@ -663,7 +663,12 @@ export const templateObjectHelper: UnscopedEmitHelper = { priority: 0, text: ` var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; };` }; diff --git a/tests/baselines/reference/NonNullableInNonStrictMode.js b/tests/baselines/reference/NonNullableInNonStrictMode.js deleted file mode 100644 index e5a577ed7ba88..0000000000000 --- a/tests/baselines/reference/NonNullableInNonStrictMode.js +++ /dev/null @@ -1,21 +0,0 @@ -//// [NonNullableInNonStrictMode.ts] -// These should all resolve to never - -type T0 = NonNullable; -type T1 = NonNullable; -type T2 = null & {}; -type T3 = undefined & {}; -type T4 = null & undefined; -type T6 = null & { a: string } & {}; - -// Repro from #50519 - -type NonNullableNew = T & {}; -type NonNullableOld = T extends null | undefined ? never : T; - -type IsNullWithoutStrictNullChecks = NonNullableNew; -type IsAlwaysNever = NonNullableOld; - - -//// [NonNullableInNonStrictMode.js] -// These should all resolve to never diff --git a/tests/baselines/reference/NonNullableInNonStrictMode.symbols b/tests/baselines/reference/NonNullableInNonStrictMode.symbols deleted file mode 100644 index b01bdc9cfbeee..0000000000000 --- a/tests/baselines/reference/NonNullableInNonStrictMode.symbols +++ /dev/null @@ -1,45 +0,0 @@ -=== tests/cases/compiler/NonNullableInNonStrictMode.ts === -// These should all resolve to never - -type T0 = NonNullable; ->T0 : Symbol(T0, Decl(NonNullableInNonStrictMode.ts, 0, 0)) ->NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) - -type T1 = NonNullable; ->T1 : Symbol(T1, Decl(NonNullableInNonStrictMode.ts, 2, 28)) ->NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) - -type T2 = null & {}; ->T2 : Symbol(T2, Decl(NonNullableInNonStrictMode.ts, 3, 33)) - -type T3 = undefined & {}; ->T3 : Symbol(T3, Decl(NonNullableInNonStrictMode.ts, 4, 20)) - -type T4 = null & undefined; ->T4 : Symbol(T4, Decl(NonNullableInNonStrictMode.ts, 5, 25)) - -type T6 = null & { a: string } & {}; ->T6 : Symbol(T6, Decl(NonNullableInNonStrictMode.ts, 6, 27)) ->a : Symbol(a, Decl(NonNullableInNonStrictMode.ts, 7, 18)) - -// Repro from #50519 - -type NonNullableNew = T & {}; ->NonNullableNew : Symbol(NonNullableNew, Decl(NonNullableInNonStrictMode.ts, 7, 36)) ->T : Symbol(T, Decl(NonNullableInNonStrictMode.ts, 11, 20)) ->T : Symbol(T, Decl(NonNullableInNonStrictMode.ts, 11, 20)) - -type NonNullableOld = T extends null | undefined ? never : T; ->NonNullableOld : Symbol(NonNullableOld, Decl(NonNullableInNonStrictMode.ts, 11, 32)) ->T : Symbol(T, Decl(NonNullableInNonStrictMode.ts, 12, 20)) ->T : Symbol(T, Decl(NonNullableInNonStrictMode.ts, 12, 20)) ->T : Symbol(T, Decl(NonNullableInNonStrictMode.ts, 12, 20)) - -type IsNullWithoutStrictNullChecks = NonNullableNew; ->IsNullWithoutStrictNullChecks : Symbol(IsNullWithoutStrictNullChecks, Decl(NonNullableInNonStrictMode.ts, 12, 64)) ->NonNullableNew : Symbol(NonNullableNew, Decl(NonNullableInNonStrictMode.ts, 7, 36)) - -type IsAlwaysNever = NonNullableOld; ->IsAlwaysNever : Symbol(IsAlwaysNever, Decl(NonNullableInNonStrictMode.ts, 14, 58)) ->NonNullableOld : Symbol(NonNullableOld, Decl(NonNullableInNonStrictMode.ts, 11, 32)) - diff --git a/tests/baselines/reference/NonNullableInNonStrictMode.types b/tests/baselines/reference/NonNullableInNonStrictMode.types deleted file mode 100644 index cb2894ce0526b..0000000000000 --- a/tests/baselines/reference/NonNullableInNonStrictMode.types +++ /dev/null @@ -1,43 +0,0 @@ -=== tests/cases/compiler/NonNullableInNonStrictMode.ts === -// These should all resolve to never - -type T0 = NonNullable; ->T0 : never ->null : null - -type T1 = NonNullable; ->T1 : never - -type T2 = null & {}; ->T2 : never ->null : null - -type T3 = undefined & {}; ->T3 : never - -type T4 = null & undefined; ->T4 : never ->null : null - -type T6 = null & { a: string } & {}; ->T6 : never ->null : null ->a : string - -// Repro from #50519 - -type NonNullableNew = T & {}; ->NonNullableNew : NonNullableNew - -type NonNullableOld = T extends null | undefined ? never : T; ->NonNullableOld : NonNullableOld ->null : null - -type IsNullWithoutStrictNullChecks = NonNullableNew; ->IsNullWithoutStrictNullChecks : never ->null : null - -type IsAlwaysNever = NonNullableOld; ->IsAlwaysNever : never ->null : null - diff --git a/tests/baselines/reference/asOperator3.js b/tests/baselines/reference/asOperator3.js index 9027237af1db2..10bf3b8bd3d2d 100644 --- a/tests/baselines/reference/asOperator3.js +++ b/tests/baselines/reference/asOperator3.js @@ -12,7 +12,12 @@ var h = tag `Hello` as string; //// [asOperator3.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var a = "".concat(123 + 456); diff --git a/tests/baselines/reference/asOperatorASI.js b/tests/baselines/reference/asOperatorASI.js index 4a78b022c4fe7..b3b63e6a78f34 100644 --- a/tests/baselines/reference/asOperatorASI.js +++ b/tests/baselines/reference/asOperatorASI.js @@ -13,7 +13,12 @@ as(Foo); // should emit //// [asOperatorASI.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var Foo = /** @class */ (function () { diff --git a/tests/baselines/reference/cancellationWhenfindingAllRefsOnDefinition.3.baseline.jsonc b/tests/baselines/reference/cancellationWhenfindingAllRefsOnDefinition.3.baseline.jsonc deleted file mode 100644 index fac647eb0ac2e..0000000000000 --- a/tests/baselines/reference/cancellationWhenfindingAllRefsOnDefinition.3.baseline.jsonc +++ /dev/null @@ -1,116 +0,0 @@ -// === /tests/cases/fourslash/findAllRefsOnDefinition-import.ts === -// export class Test{ -// -// constructor(){ -// -// } -// -// public /*FIND ALL REFS*/[|start|](){ -// return this; -// } -// -// public stop(){ -// return this; -// } -// } - -// === /tests/cases/fourslash/findAllRefsOnDefinition.ts === -// import Second = require("./findAllRefsOnDefinition-import"); -// -// var second = new Second.Test() -// second.[|start|](); -// second.stop(); - -[ - { - "definition": { - "containerKind": "", - "containerName": "", - "fileName": "/tests/cases/fourslash/findAllRefsOnDefinition-import.ts", - "kind": "method", - "name": "(method) Test.start(): this", - "textSpan": { - "start": 58, - "length": 5 - }, - "displayParts": [ - { - "text": "(", - "kind": "punctuation" - }, - { - "text": "method", - "kind": "text" - }, - { - "text": ")", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "Test", - "kind": "className" - }, - { - "text": ".", - "kind": "punctuation" - }, - { - "text": "start", - "kind": "methodName" - }, - { - "text": "(", - "kind": "punctuation" - }, - { - "text": ")", - "kind": "punctuation" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "this", - "kind": "keyword" - } - ], - "contextSpan": { - "start": 51, - "length": 42 - } - }, - "references": [ - { - "textSpan": { - "start": 58, - "length": 5 - }, - "fileName": "/tests/cases/fourslash/findAllRefsOnDefinition-import.ts", - "contextSpan": { - "start": 51, - "length": 42 - }, - "isWriteAccess": true, - "isDefinition": true - }, - { - "textSpan": { - "start": 100, - "length": 5 - }, - "fileName": "/tests/cases/fourslash/findAllRefsOnDefinition.ts", - "isWriteAccess": false, - "isDefinition": false - } - ] - } -] \ No newline at end of file diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.js b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.js index 499187956e512..5b0a087bf13e3 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.js +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.js @@ -94,7 +94,12 @@ const testRegExpUnicode = /abc/g.unicode; //// [doYouNeedToChangeYourTargetLibraryES2015.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; // es2015 diff --git a/tests/baselines/reference/findReferencesAfterEdit.2.baseline.jsonc b/tests/baselines/reference/findReferencesAfterEdit.2.baseline.jsonc deleted file mode 100644 index c4ffdfb45bd7f..0000000000000 --- a/tests/baselines/reference/findReferencesAfterEdit.2.baseline.jsonc +++ /dev/null @@ -1,195 +0,0 @@ -// === /tests/cases/fourslash/a.ts === -// interface A { -// /*FIND ALL REFS*/[|foo|]: string; -// } - -// === /tests/cases/fourslash/b.ts === -// /// -// -// -// function foo(x: A) { -// x.[|foo|] -// } - -[ - { - "definition": { - "containerKind": "", - "containerName": "", - "fileName": "/tests/cases/fourslash/a.ts", - "kind": "property", - "name": "(property) A.foo: string", - "textSpan": { - "start": 18, - "length": 3 - }, - "displayParts": [ - { - "text": "(", - "kind": "punctuation" - }, - { - "text": "property", - "kind": "text" - }, - { - "text": ")", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A", - "kind": "interfaceName" - }, - { - "text": ".", - "kind": "punctuation" - }, - { - "text": "foo", - "kind": "propertyName" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - } - ], - "contextSpan": { - "start": 18, - "length": 12 - } - }, - "references": [ - { - "textSpan": { - "start": 18, - "length": 3 - }, - "fileName": "/tests/cases/fourslash/a.ts", - "contextSpan": { - "start": 18, - "length": 12 - }, - "isWriteAccess": false, - "isDefinition": true - }, - { - "textSpan": { - "start": 57, - "length": 3 - }, - "fileName": "/tests/cases/fourslash/b.ts", - "isWriteAccess": false, - "isDefinition": false - } - ] - } -] - -// === /tests/cases/fourslash/a.ts === -// interface A { -// [|foo|]: string; -// } - -// === /tests/cases/fourslash/b.ts === -// /// -// -// -// function foo(x: A) { -// x./*FIND ALL REFS*/[|foo|] -// } - -[ - { - "definition": { - "containerKind": "", - "containerName": "", - "fileName": "/tests/cases/fourslash/a.ts", - "kind": "property", - "name": "(property) A.foo: string", - "textSpan": { - "start": 18, - "length": 3 - }, - "displayParts": [ - { - "text": "(", - "kind": "punctuation" - }, - { - "text": "property", - "kind": "text" - }, - { - "text": ")", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A", - "kind": "interfaceName" - }, - { - "text": ".", - "kind": "punctuation" - }, - { - "text": "foo", - "kind": "propertyName" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "string", - "kind": "keyword" - } - ], - "contextSpan": { - "start": 18, - "length": 12 - } - }, - "references": [ - { - "textSpan": { - "start": 18, - "length": 3 - }, - "fileName": "/tests/cases/fourslash/a.ts", - "contextSpan": { - "start": 18, - "length": 12 - }, - "isWriteAccess": false - }, - { - "textSpan": { - "start": 57, - "length": 3 - }, - "fileName": "/tests/cases/fourslash/b.ts", - "isWriteAccess": false - } - ] - } -] \ No newline at end of file diff --git a/tests/baselines/reference/genericTemplateOverloadResolution.js b/tests/baselines/reference/genericTemplateOverloadResolution.js index 88906e515f859..10201338bbcaf 100644 --- a/tests/baselines/reference/genericTemplateOverloadResolution.js +++ b/tests/baselines/reference/genericTemplateOverloadResolution.js @@ -13,7 +13,12 @@ expect(fooFn``); //// [genericTemplateOverloadResolution.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; expect(fooFn(__makeTemplateObject([""], [""]))); diff --git a/tests/baselines/reference/importHelpers.js b/tests/baselines/reference/importHelpers.js index edc0aa2c58fa3..1baa0f6772669 100644 --- a/tests/baselines/reference/importHelpers.js +++ b/tests/baselines/reference/importHelpers.js @@ -103,7 +103,12 @@ var __extends = (this && this.__extends) || (function () { }; })(); var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).js b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).js index bed4ca912d8b8..23b81438c63f4 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).js +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).js @@ -27,7 +27,12 @@ const a14 = tag`${ 100 }\x00` // \x00 //// [invalidTaggedTemplateEscapeSequences.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function tag(str, ...args) { diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).js b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).js index b980ba0304d20..6d2c4fadaa784 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).js +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).js @@ -27,7 +27,12 @@ const a14 = tag`${ 100 }\x00` // \x00 //// [invalidTaggedTemplateEscapeSequences.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function tag(str) { diff --git a/tests/baselines/reference/jsxImportSourceNonPragmaComment.js b/tests/baselines/reference/jsxImportSourceNonPragmaComment.js index fd0373a209ca9..185f1fd229596 100644 --- a/tests/baselines/reference/jsxImportSourceNonPragmaComment.js +++ b/tests/baselines/reference/jsxImportSourceNonPragmaComment.js @@ -16,7 +16,12 @@ export default function Component() { //// [jsxImportSourceNonPragmaComment.jsx] "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; exports.__esModule = true; diff --git a/tests/baselines/reference/missingCommaInTemplateStringsArray.js b/tests/baselines/reference/missingCommaInTemplateStringsArray.js index 1ea5b767527d4..8877fe33fb716 100644 --- a/tests/baselines/reference/missingCommaInTemplateStringsArray.js +++ b/tests/baselines/reference/missingCommaInTemplateStringsArray.js @@ -6,7 +6,12 @@ var array = [ //// [missingCommaInTemplateStringsArray.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var array = [ diff --git a/tests/baselines/reference/taggedTemplateChain.js b/tests/baselines/reference/taggedTemplateChain.js index c96237185fb45..809ad48750797 100644 --- a/tests/baselines/reference/taggedTemplateChain.js +++ b/tests/baselines/reference/taggedTemplateChain.js @@ -6,7 +6,12 @@ a?.`b${1}c`; //// [taggedTemplateChain.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; a(__makeTemplateObject(["b"], ["b"])); diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js index 4f02e7644f751..d4d9df226173e 100644 --- a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js @@ -10,7 +10,12 @@ let result: number = foo`${x}`; //// [taggedTemplateStringWithSymbolExpression01.js] // taggedTemplateStringWithSymbolExpression01.ts var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var x; diff --git a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js index f771b886ea055..bf4a1ad774a3b 100644 --- a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.js @@ -6,7 +6,12 @@ f `\x0D${ "Interrupted CRLF" }\x0A`; //// [taggedTemplateStringsHexadecimalEscapes.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f() { diff --git a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js index a355420452830..9c202fa2fcdba 100644 --- a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js +++ b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js @@ -7,7 +7,12 @@ 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 //// [taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f() { diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js index 7e50da9c06aaf..4eb57e981933e 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js @@ -93,7 +93,12 @@ var arr: any[]; //// [taggedTemplateStringsTypeArgumentInference.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; // Generic tag with one parameter diff --git a/tests/baselines/reference/taggedTemplateStringsWithCurriedFunction.js b/tests/baselines/reference/taggedTemplateStringsWithCurriedFunction.js index daba9c27670f9..921eb1ec03ee3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithCurriedFunction.js +++ b/tests/baselines/reference/taggedTemplateStringsWithCurriedFunction.js @@ -13,7 +13,12 @@ f({ x: (() => 1)(), ...{ y: 1 } })``; //// [taggedTemplateStringsWithCurriedFunction.js] // Originated from #38558 var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var __assign = (this && this.__assign) || function () { diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js index b90c922e28974..10d0e2fdc7a3b 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js @@ -35,7 +35,12 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithIncompatibleTypedTags.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var f; diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js index 01db59ee17c4b..a53532059702f 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js @@ -17,7 +17,12 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; //// [taggedTemplateStringsWithManyCallAndMemberExpressions.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var f; diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js index d3e9e3d2c43ff..4454c68fcff15 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.js @@ -9,7 +9,12 @@ f ` //// [taggedTemplateStringsWithMultilineTemplate.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f() { diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js index 7299ea3cbbde2..341fadbd79ee6 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js @@ -24,7 +24,12 @@ var z = foo `${1}${2}${3}`; // any (with error) //// [taggedTemplateStringsWithOverloadResolution1.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function foo() { diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js index e393484eff6ac..83d44d7bb80e1 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js @@ -19,7 +19,12 @@ var d = foo2([], 1); //// [taggedTemplateStringsWithOverloadResolution2.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function foo1() { diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js index 9ff4434734bb5..0fcd86c362c03 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js @@ -74,7 +74,12 @@ fn5 `${ (n) => n.substr(0) }`; //// [taggedTemplateStringsWithOverloadResolution3.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function fn1() { return null; } diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js index d1801bdeb6e67..22931e44776dc 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.js @@ -6,7 +6,12 @@ declare `Hello ${0} world!`; //// [taggedTemplateStringsWithTagNamedDeclare.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function declare(x) { diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js index b374e406ce24b..023062c9f63ee 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js @@ -27,7 +27,12 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithTagsTypedAsAny.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var f; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js index c93dce9340f71..f8d5d4f746a59 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js @@ -6,7 +6,12 @@ foo `${function (x: number) { x = "bad"; } }`; //// [taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function foo() { diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js index af262aa1ac198..acad69f1716c5 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js @@ -33,7 +33,12 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithTypedTags.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var f; diff --git a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js index a5c35947db718..c90d41f4ed1fc 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.js @@ -6,7 +6,12 @@ f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'`; //// [taggedTemplateStringsWithUnicodeEscapes.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f() { diff --git a/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js b/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js index 73aa63931a66f..751bd2718e418 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js +++ b/tests/baselines/reference/taggedTemplateStringsWithWhitespaceEscapes.js @@ -6,7 +6,12 @@ f `\t\n\v\f\r\\`; //// [taggedTemplateStringsWithWhitespaceEscapes.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f() { diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.js b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js index 1fd5168cda150..774de22efec2b 100644 --- a/tests/baselines/reference/taggedTemplateUntypedTagCall01.js +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js @@ -4,7 +4,12 @@ tag `Hello world!`; //// [taggedTemplateUntypedTagCall01.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var tag; diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.js b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js index ce2376d4d3107..a84c3e151f878 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag01.js +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js @@ -5,7 +5,12 @@ CtorTag `Hello world!`; //// [taggedTemplateWithConstructableTag01.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var CtorTag = /** @class */ (function () { diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js index 9cf0611aafdff..ec72cbac96bb7 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js @@ -8,7 +8,12 @@ tag `Hello world!`; //// [taggedTemplateWithConstructableTag02.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var tag; diff --git a/tests/baselines/reference/taggedTemplatesInDifferentScopes.js b/tests/baselines/reference/taggedTemplatesInDifferentScopes.js index d613d7b7948fe..8f078ceebb5bc 100644 --- a/tests/baselines/reference/taggedTemplatesInDifferentScopes.js +++ b/tests/baselines/reference/taggedTemplatesInDifferentScopes.js @@ -19,7 +19,12 @@ bar(); //// [taggedTemplatesInDifferentScopes.js] "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; exports.__esModule = true; diff --git a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.js b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.js index e8f5104ae74fd..a43a8c9f366a4 100644 --- a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.js +++ b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.js @@ -25,7 +25,12 @@ let result = templateObjectFactory() === templateObjectFactory(); //// [global.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var n; @@ -41,7 +46,12 @@ var n; //// [module.js] "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/templateStringInModuleName.js b/tests/baselines/reference/templateStringInModuleName.js index fa11d39ff16af..3b467528b2d1a 100644 --- a/tests/baselines/reference/templateStringInModuleName.js +++ b/tests/baselines/reference/templateStringInModuleName.js @@ -7,7 +7,12 @@ declare module `M${2}` { //// [templateStringInModuleName.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; declare; diff --git a/tests/baselines/reference/templateStringInObjectLiteral.js b/tests/baselines/reference/templateStringInObjectLiteral.js index 7dc462a4fce90..9c5b4396b243d 100644 --- a/tests/baselines/reference/templateStringInObjectLiteral.js +++ b/tests/baselines/reference/templateStringInObjectLiteral.js @@ -6,7 +6,12 @@ var x = { //// [templateStringInObjectLiteral.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var x = { diff --git a/tests/baselines/reference/templateStringInPropertyName1.js b/tests/baselines/reference/templateStringInPropertyName1.js index 701400b0f2953..e106c6e72b3cf 100644 --- a/tests/baselines/reference/templateStringInPropertyName1.js +++ b/tests/baselines/reference/templateStringInPropertyName1.js @@ -5,7 +5,12 @@ var x = { //// [templateStringInPropertyName1.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var x = {}(__makeTemplateObject(["a"], ["a"])); diff --git a/tests/baselines/reference/templateStringInPropertyName2.js b/tests/baselines/reference/templateStringInPropertyName2.js index 5f41ed7bfb201..f9654cfe14c83 100644 --- a/tests/baselines/reference/templateStringInPropertyName2.js +++ b/tests/baselines/reference/templateStringInPropertyName2.js @@ -5,7 +5,12 @@ var x = { //// [templateStringInPropertyName2.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var x = {}(__makeTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"]), 123, 456); diff --git a/tests/baselines/reference/templateStringInTaggedTemplate.js b/tests/baselines/reference/templateStringInTaggedTemplate.js index df0f1dd8954be..09ada672857f2 100644 --- a/tests/baselines/reference/templateStringInTaggedTemplate.js +++ b/tests/baselines/reference/templateStringInTaggedTemplate.js @@ -3,7 +3,12 @@ //// [templateStringInTaggedTemplate.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; "I AM THE ".concat("".concat("TAG", " "), " PORTION")(__makeTemplateObject(["I ", " THE TEMPLATE PORTION"], ["I ", " THE TEMPLATE PORTION"]), "AM"); diff --git a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js index 1176c97a6a2ec..aefb17faf5084 100644 --- a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js +++ b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.js @@ -11,7 +11,12 @@ f `abcdef${ 1234 }${ 5678 }ghijkl`; //// [templateStringsArrayTypeDefinedInES5Mode.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; var TemplateStringsArray = /** @class */ (function () { diff --git a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js index f6db54aeb8f08..fadfbf26a87f8 100644 --- a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js +++ b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.js @@ -8,7 +8,12 @@ f `abcdef${ 1234 }${ 5678 }ghijkl`; //// [templateStringsArrayTypeNotDefinedES5Mode.js] var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; function f(x, y, z) { diff --git a/tests/baselines/reference/transformApi/transformsCorrectly.transformTaggedTemplateLiteral.js b/tests/baselines/reference/transformApi/transformsCorrectly.transformTaggedTemplateLiteral.js index b1f8170069b62..2d9c63b6e2c27 100644 --- a/tests/baselines/reference/transformApi/transformsCorrectly.transformTaggedTemplateLiteral.js +++ b/tests/baselines/reference/transformApi/transformsCorrectly.transformTaggedTemplateLiteral.js @@ -1,5 +1,10 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + if (Object.freeze) { + Object.freeze(Object.defineProperty(cooked, "raw", { value: Object.freeze(raw) })); + } + else { + cooked.raw = raw; + } return cooked; }; $tpl(__makeTemplateObject(["foo"], ["foo"]));