diff --git a/crates/swc/tests/tsc-references/callChain.1.normal.js b/crates/swc/tests/tsc-references/callChain.1.normal.js index 4de61c932303..b2af47b385b2 100644 --- a/crates/swc/tests/tsc-references/callChain.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.1.normal.js @@ -1,86 +1,86 @@ //// [callChain.ts] var _o2, _o21, _o22, _o23, _o3_b, _o3_b1, _o3_b2, _o3_b3, _o3_b4, _o3_b5; -var _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o5; -o1 === null || o1 === void 0 ? void 0 : o1(); -o1 === null || o1 === void 0 ? void 0 : o1(1); -o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [ +var _o1, _o11, _o12, _o13, _o24, _o25, _o26, _o27, _o28, _o29, _o210, _o211, _o3_b6, _o3, _o3_b7, _o31, _o3_b8, _o32, _o3_b9, _o33, _o3_b10, _o34, _o3_b11, _o35, _o3_b12, _o36, _o3_b13, _o37, _o3_b14, _o38, _o3_b15, _o39, _o3_b16, _o310, _o3_b17, _o311, _o4, _o5, // GH#36031 +_o212, _o213; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1(); +(_o11 = o1) === null || _o11 === void 0 ? void 0 : _o11(1); +(_o12 = o1) === null || _o12 === void 0 ? void 0 : _o12.apply(void 0, [ 1, 2 ]); -o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [ +(_o13 = o1) === null || _o13 === void 0 ? void 0 : _o13.apply(void 0, [ 1, 2, 3, 4 ]); -o2 === null || o2 === void 0 ? void 0 : o2.b(); -o2 === null || o2 === void 0 ? void 0 : o2.b(1); -o2 === null || o2 === void 0 ? void 0 : (_o2 = o2).b.apply(_o2, [ +(_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24.b(); +(_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25.b(1); +(_o26 = o2) === null || _o26 === void 0 ? void 0 : (_o2 = _o26).b.apply(_o2, [ 1, 2 ]); -o2 === null || o2 === void 0 ? void 0 : (_o21 = o2).b.apply(_o21, [ +(_o27 = o2) === null || _o27 === void 0 ? void 0 : (_o21 = _o27).b.apply(_o21, [ 1, 2, 3, 4 ]); -o2 === null || o2 === void 0 ? void 0 : o2["b"](); -o2 === null || o2 === void 0 ? void 0 : o2["b"](1); -o2 === null || o2 === void 0 ? void 0 : (_o22 = o2)["b"].apply(_o22, [ +(_o28 = o2) === null || _o28 === void 0 ? void 0 : _o28["b"](); +(_o29 = o2) === null || _o29 === void 0 ? void 0 : _o29["b"](1); +(_o210 = o2) === null || _o210 === void 0 ? void 0 : (_o22 = _o210)["b"].apply(_o22, [ 1, 2 ]); -o2 === null || o2 === void 0 ? void 0 : (_o23 = o2)["b"].apply(_o23, [ +(_o211 = o2) === null || _o211 === void 0 ? void 0 : (_o23 = _o211)["b"].apply(_o23, [ 1, 2, 3, 4 ]); -(_o3_b6 = o3.b) === null || _o3_b6 === void 0 ? void 0 : _o3_b6.call(o3).c; -(_o3_b7 = o3.b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(o3, 1).c; -(_o3_b8 = o3.b) === null || _o3_b8 === void 0 ? void 0 : (_o3_b = _o3_b8).call.apply(_o3_b, [ - o3, +(_o3_b6 = (_o3 = o3).b) === null || _o3_b6 === void 0 ? void 0 : _o3_b6.call(_o3).c; +(_o3_b7 = (_o31 = o3).b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(_o31, 1).c; +(_o3_b8 = (_o32 = o3).b) === null || _o3_b8 === void 0 ? void 0 : (_o3_b = _o3_b8).call.apply(_o3_b, [ + _o32, 1, 2 ]).c; -(_o3_b9 = o3.b) === null || _o3_b9 === void 0 ? void 0 : (_o3_b1 = _o3_b9).call.apply(_o3_b1, [ - o3, +(_o3_b9 = (_o33 = o3).b) === null || _o3_b9 === void 0 ? void 0 : (_o3_b1 = _o3_b9).call.apply(_o3_b1, [ + _o33, 1, 2, 3, 4 ]).c; -(_o3_b10 = o3.b) === null || _o3_b10 === void 0 ? void 0 : _o3_b10.call(o3)["c"]; -(_o3_b11 = o3.b) === null || _o3_b11 === void 0 ? void 0 : _o3_b11.call(o3, 1)["c"]; -(_o3_b12 = o3.b) === null || _o3_b12 === void 0 ? void 0 : (_o3_b2 = _o3_b12).call.apply(_o3_b2, [ - o3, +(_o3_b10 = (_o34 = o3).b) === null || _o3_b10 === void 0 ? void 0 : _o3_b10.call(_o34)["c"]; +(_o3_b11 = (_o35 = o3).b) === null || _o3_b11 === void 0 ? void 0 : _o3_b11.call(_o35, 1)["c"]; +(_o3_b12 = (_o36 = o3).b) === null || _o3_b12 === void 0 ? void 0 : (_o3_b2 = _o3_b12).call.apply(_o3_b2, [ + _o36, 1, 2 ])["c"]; -(_o3_b13 = o3.b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b3 = _o3_b13).call.apply(_o3_b3, [ - o3, +(_o3_b13 = (_o37 = o3).b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b3 = _o3_b13).call.apply(_o3_b3, [ + _o37, 1, 2, 3, 4 ])["c"]; -(_o3_b14 = o3["b"]) === null || _o3_b14 === void 0 ? void 0 : _o3_b14.call(o3).c; -(_o3_b15 = o3["b"]) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(o3, 1).c; -(_o3_b16 = o3["b"]) === null || _o3_b16 === void 0 ? void 0 : (_o3_b4 = _o3_b16).call.apply(_o3_b4, [ - o3, +(_o3_b14 = (_o38 = o3)["b"]) === null || _o3_b14 === void 0 ? void 0 : _o3_b14.call(_o38).c; +(_o3_b15 = (_o39 = o3)["b"]) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(_o39, 1).c; +(_o3_b16 = (_o310 = o3)["b"]) === null || _o3_b16 === void 0 ? void 0 : (_o3_b4 = _o3_b16).call.apply(_o3_b4, [ + _o310, 1, 2 ]).c; -(_o3_b17 = o3["b"]) === null || _o3_b17 === void 0 ? void 0 : (_o3_b5 = _o3_b17).call.apply(_o3_b5, [ - o3, +(_o3_b17 = (_o311 = o3)["b"]) === null || _o3_b17 === void 0 ? void 0 : (_o3_b5 = _o3_b17).call.apply(_o3_b5, [ + _o311, 1, 2, 3, 4 ]).c; -var v = o4 === null || o4 === void 0 ? void 0 : o4(incr); +var v = (_o4 = o4) === null || _o4 === void 0 ? void 0 : _o4(incr); (_o5 = o5()) === null || _o5 === void 0 ? void 0 : _o5(); -// GH#36031 -o2 === null || o2 === void 0 ? void 0 : o2.b().toString; -o2 === null || o2 === void 0 ? void 0 : o2.b().toString; +(_o212 = o2) === null || _o212 === void 0 ? void 0 : _o212.b().toString; +(_o213 = o2) === null || _o213 === void 0 ? void 0 : _o213.b().toString; diff --git a/crates/swc/tests/tsc-references/callChain.2.1.normal.js b/crates/swc/tests/tsc-references/callChain.2.1.normal.js index 3bbc5c0421f8..eacdd8b31006 100644 --- a/crates/swc/tests/tsc-references/callChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.2.1.normal.js @@ -1,5 +1,5 @@ //// [callChain.2.ts] -var _o3_b; -o1 === null || o1 === void 0 ? void 0 : o1(); -o2 === null || o2 === void 0 ? void 0 : o2.b(); -(_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(o3).c; +var _o1, _o2, _o3_b, _o3; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1(); +(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b(); +(_o3_b = (_o3 = o3).b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(_o3).c; diff --git a/crates/swc/tests/tsc-references/callChain.2.2.minified.js b/crates/swc/tests/tsc-references/callChain.2.2.minified.js index f6718e2799c7..aaf2e8f210b8 100644 --- a/crates/swc/tests/tsc-references/callChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [callChain.2.ts] -var _o3_b; -null == o1 || o1(), null == o2 || o2.b(), null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.call(o3).c; +var _o1, _o2, _o3_b, _o3; +null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_o2 = o2) || void 0 === _o2 || _o2.b(), null === (_o3_b = (_o3 = o3).b) || void 0 === _o3_b || _o3_b.call(_o3).c; diff --git a/crates/swc/tests/tsc-references/callChain.2.minified.js b/crates/swc/tests/tsc-references/callChain.2.minified.js index 4a6df3c18af0..0ae5f8122c04 100644 --- a/crates/swc/tests/tsc-references/callChain.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.2.minified.js @@ -1,57 +1,57 @@ //// [callChain.ts] -var _o2, _o21, _o22, _o23, _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o5; -null == o1 || o1(), null == o1 || o1(1), null == o1 || o1.apply(void 0, [ +var _o1, _o11, _o12, _o13, _o24, _o25, _o26, _o27, _o28, _o29, _o210, _o211, _o3_b6, _o3, _o3_b7, _o31, _o3_b8, _o32, _o3_b9, _o33, _o3_b10, _o34, _o3_b11, _o35, _o3_b12, _o36, _o3_b13, _o37, _o3_b14, _o38, _o3_b15, _o39, _o3_b16, _o310, _o3_b17, _o311, _o4, _o5, _o212, _o213; +null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_o11 = o1) || void 0 === _o11 || _o11(1), null === (_o12 = o1) || void 0 === _o12 || _o12.apply(void 0, [ 1, 2 -]), null == o1 || o1.apply(void 0, [ +]), null === (_o13 = o1) || void 0 === _o13 || _o13.apply(void 0, [ 1, 2, 3, 4 -]), null == o2 || o2.b(), null == o2 || o2.b(1), null == o2 || (_o2 = o2).b.apply(_o2, [ +]), null === (_o24 = o2) || void 0 === _o24 || _o24.b(), null === (_o25 = o2) || void 0 === _o25 || _o25.b(1), null === (_o26 = o2) || void 0 === _o26 || _o26.b.apply(_o26, [ 1, 2 -]), null == o2 || (_o21 = o2).b.apply(_o21, [ +]), null === (_o27 = o2) || void 0 === _o27 || _o27.b.apply(_o27, [ 1, 2, 3, 4 -]), null == o2 || o2.b(), null == o2 || o2.b(1), null == o2 || (_o22 = o2).b.apply(_o22, [ +]), null === (_o28 = o2) || void 0 === _o28 || _o28.b(), null === (_o29 = o2) || void 0 === _o29 || _o29.b(1), null === (_o210 = o2) || void 0 === _o210 || _o210.b.apply(_o210, [ 1, 2 -]), null == o2 || (_o23 = o2).b.apply(_o23, [ +]), null === (_o211 = o2) || void 0 === _o211 || _o211.b.apply(_o211, [ 1, 2, 3, 4 -]), null === (_o3_b6 = o3.b) || void 0 === _o3_b6 || _o3_b6.call(o3).c, null === (_o3_b7 = o3.b) || void 0 === _o3_b7 || _o3_b7.call(o3, 1).c, null === (_o3_b8 = o3.b) || void 0 === _o3_b8 || _o3_b8.call.apply(_o3_b8, [ - o3, +]), null === (_o3_b6 = (_o3 = o3).b) || void 0 === _o3_b6 || _o3_b6.call(_o3).c, null === (_o3_b7 = (_o31 = o3).b) || void 0 === _o3_b7 || _o3_b7.call(_o31, 1).c, null === (_o3_b8 = (_o32 = o3).b) || void 0 === _o3_b8 || _o3_b8.call.apply(_o3_b8, [ + _o32, 1, 2 -]).c, null === (_o3_b9 = o3.b) || void 0 === _o3_b9 || _o3_b9.call.apply(_o3_b9, [ - o3, +]).c, null === (_o3_b9 = (_o33 = o3).b) || void 0 === _o3_b9 || _o3_b9.call.apply(_o3_b9, [ + _o33, 1, 2, 3, 4 -]).c, null === (_o3_b10 = o3.b) || void 0 === _o3_b10 || _o3_b10.call(o3).c, null === (_o3_b11 = o3.b) || void 0 === _o3_b11 || _o3_b11.call(o3, 1).c, null === (_o3_b12 = o3.b) || void 0 === _o3_b12 || _o3_b12.call.apply(_o3_b12, [ - o3, +]).c, null === (_o3_b10 = (_o34 = o3).b) || void 0 === _o3_b10 || _o3_b10.call(_o34).c, null === (_o3_b11 = (_o35 = o3).b) || void 0 === _o3_b11 || _o3_b11.call(_o35, 1).c, null === (_o3_b12 = (_o36 = o3).b) || void 0 === _o3_b12 || _o3_b12.call.apply(_o3_b12, [ + _o36, 1, 2 -]).c, null === (_o3_b13 = o3.b) || void 0 === _o3_b13 || _o3_b13.call.apply(_o3_b13, [ - o3, +]).c, null === (_o3_b13 = (_o37 = o3).b) || void 0 === _o3_b13 || _o3_b13.call.apply(_o3_b13, [ + _o37, 1, 2, 3, 4 -]).c, null === (_o3_b14 = o3.b) || void 0 === _o3_b14 || _o3_b14.call(o3).c, null === (_o3_b15 = o3.b) || void 0 === _o3_b15 || _o3_b15.call(o3, 1).c, null === (_o3_b16 = o3.b) || void 0 === _o3_b16 || _o3_b16.call.apply(_o3_b16, [ - o3, +]).c, null === (_o3_b14 = (_o38 = o3).b) || void 0 === _o3_b14 || _o3_b14.call(_o38).c, null === (_o3_b15 = (_o39 = o3).b) || void 0 === _o3_b15 || _o3_b15.call(_o39, 1).c, null === (_o3_b16 = (_o310 = o3).b) || void 0 === _o3_b16 || _o3_b16.call.apply(_o3_b16, [ + _o310, 1, 2 -]).c, null === (_o3_b17 = o3.b) || void 0 === _o3_b17 || _o3_b17.call.apply(_o3_b17, [ - o3, +]).c, null === (_o3_b17 = (_o311 = o3).b) || void 0 === _o3_b17 || _o3_b17.call.apply(_o3_b17, [ + _o311, 1, 2, 3, 4 -]).c, null == o4 || o4(incr), null === (_o5 = o5()) || void 0 === _o5 || _o5(), null == o2 || o2.b().toString, null == o2 || o2.b().toString; +]).c, null === (_o4 = o4) || void 0 === _o4 || _o4(incr), null === (_o5 = o5()) || void 0 === _o5 || _o5(), null === (_o212 = o2) || void 0 === _o212 || _o212.b().toString, null === (_o213 = o2) || void 0 === _o213 || _o213.b().toString; diff --git a/crates/swc/tests/tsc-references/callChain.3.1.normal.js b/crates/swc/tests/tsc-references/callChain.3.1.normal.js index c8e1c745cc2d..5af3e27f2b16 100644 --- a/crates/swc/tests/tsc-references/callChain.3.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.3.1.normal.js @@ -1,19 +1,19 @@ //// [callChain.3.ts] -var _a_m, _a_m1, _a_m2, _a_m3, _a_m4; -var n1 = a === null || a === void 0 ? void 0 : (_a_m = a.m) === null || _a_m === void 0 ? void 0 : _a_m.call(a, { +var _a_m, _a, _a_m1, _a1, _a_m2, _a2, _a_m3, _a3, _a_m4, _a4; +var n1 = (_a = a) === null || _a === void 0 ? void 0 : (_a_m = _a.m) === null || _a_m === void 0 ? void 0 : _a_m.call(_a, { x: 12 }); // should be an error (`undefined` is not assignable to `number`) -var n2 = a === null || a === void 0 ? void 0 : (_a_m1 = a.m) === null || _a_m1 === void 0 ? void 0 : _a_m1.call(a, { +var n2 = (_a1 = a) === null || _a1 === void 0 ? void 0 : (_a_m1 = _a1.m) === null || _a_m1 === void 0 ? void 0 : _a_m1.call(_a1, { x: absorb() }); // likewise -var n3 = a === null || a === void 0 ? void 0 : (_a_m2 = a.m) === null || _a_m2 === void 0 ? void 0 : _a_m2.call(a, { +var n3 = (_a2 = a) === null || _a2 === void 0 ? void 0 : (_a_m2 = _a2.m) === null || _a_m2 === void 0 ? void 0 : _a_m2.call(_a2, { x: 12 }); // should be ok -var n4 = a === null || a === void 0 ? void 0 : (_a_m3 = a.m) === null || _a_m3 === void 0 ? void 0 : _a_m3.call(a, { +var n4 = (_a3 = a) === null || _a3 === void 0 ? void 0 : (_a_m3 = _a3.m) === null || _a_m3 === void 0 ? void 0 : _a_m3.call(_a3, { x: absorb() }); // likewise // Also a test showing `!` vs `?` for good measure -var t1 = a === null || a === void 0 ? void 0 : (_a_m4 = a.m) === null || _a_m4 === void 0 ? void 0 : _a_m4.call(a, { +var t1 = (_a4 = a) === null || _a4 === void 0 ? void 0 : (_a_m4 = _a4.m) === null || _a_m4 === void 0 ? void 0 : _a_m4.call(_a4, { x: 12 }); t1 = a.m({ diff --git a/crates/swc/tests/tsc-references/callChain.3.2.minified.js b/crates/swc/tests/tsc-references/callChain.3.2.minified.js index b2640d160227..c8b4041337b1 100644 --- a/crates/swc/tests/tsc-references/callChain.3.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.3.2.minified.js @@ -1,14 +1,14 @@ //// [callChain.3.ts] -var _a_m, _a_m1, _a_m2, _a_m3, _a_m4; -null == a || null === (_a_m = a.m) || void 0 === _a_m || _a_m.call(a, { +var _a_m, _a, _a_m1, _a1, _a_m2, _a2, _a_m3, _a3, _a_m4, _a4; +null === (_a = a) || void 0 === _a || null === (_a_m = _a.m) || void 0 === _a_m || _a_m.call(_a, { x: 12 -}), null == a || null === (_a_m1 = a.m) || void 0 === _a_m1 || _a_m1.call(a, { +}), null === (_a1 = a) || void 0 === _a1 || null === (_a_m1 = _a1.m) || void 0 === _a_m1 || _a_m1.call(_a1, { x: absorb() -}), null == a || null === (_a_m2 = a.m) || void 0 === _a_m2 || _a_m2.call(a, { +}), null === (_a2 = a) || void 0 === _a2 || null === (_a_m2 = _a2.m) || void 0 === _a_m2 || _a_m2.call(_a2, { x: 12 -}), null == a || null === (_a_m3 = a.m) || void 0 === _a_m3 || _a_m3.call(a, { +}), null === (_a3 = a) || void 0 === _a3 || null === (_a_m3 = _a3.m) || void 0 === _a_m3 || _a_m3.call(_a3, { x: absorb() -}), null == a || null === (_a_m4 = a.m) || void 0 === _a_m4 || _a_m4.call(a, { +}), null === (_a4 = a) || void 0 === _a4 || null === (_a_m4 = _a4.m) || void 0 === _a_m4 || _a_m4.call(_a4, { x: 12 }), a.m({ x: 12 diff --git a/crates/swc/tests/tsc-references/callChainInference.1.normal.js b/crates/swc/tests/tsc-references/callChainInference.1.normal.js index 045ee5d9a33e..3c74c34c0d84 100644 --- a/crates/swc/tests/tsc-references/callChainInference.1.normal.js +++ b/crates/swc/tests/tsc-references/callChainInference.1.normal.js @@ -1,6 +1,8 @@ //// [callChainInference.ts] // Repro from #42404 +var _value; if (value) { - value === null || value === void 0 ? void 0 : value.foo("a"); + var _value1; + (_value1 = value) === null || _value1 === void 0 ? void 0 : _value1.foo("a"); } -value === null || value === void 0 ? void 0 : value.foo("a"); +(_value = value) === null || _value === void 0 ? void 0 : _value.foo("a"); diff --git a/crates/swc/tests/tsc-references/callChainInference.2.minified.js b/crates/swc/tests/tsc-references/callChainInference.2.minified.js index a6ce133cbe4e..9c315627873b 100644 --- a/crates/swc/tests/tsc-references/callChainInference.2.minified.js +++ b/crates/swc/tests/tsc-references/callChainInference.2.minified.js @@ -1,2 +1,3 @@ //// [callChainInference.ts] -value && (null == value || value.foo("a")), null == value || value.foo("a"); +var _value, _value1; +value && (null === (_value1 = value) || void 0 === _value1 || _value1.foo("a")), null === (_value = value) || void 0 === _value || _value.foo("a"); diff --git a/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js b/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js index 10629cbf9c0d..74c8b554acfe 100644 --- a/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js +++ b/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js @@ -2,20 +2,20 @@ // assignments in shortcutting chain import { _ as _instanceof } from "@swc/helpers/_/_instanceof"; import { _ as _type_of } from "@swc/helpers/_/_type_of"; -var _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _arr_i; +var _o, _o1, _o2, _o3, _f, _o21, _o22, _o31, _o32, _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _o6, _o61, _arr_i; var a; -o === null || o === void 0 ? void 0 : o[a = 1]; +(_o = o) === null || _o === void 0 ? void 0 : _o[a = 1]; a.toString(); var b; -o === null || o === void 0 ? void 0 : o.x[b = 1]; +(_o1 = o) === null || _o1 === void 0 ? void 0 : _o1.x[b = 1]; b.toString(); var c; -o === null || o === void 0 ? void 0 : o(c = 1); +(_o2 = o) === null || _o2 === void 0 ? void 0 : _o2(c = 1); c.toString(); var d; -o === null || o === void 0 ? void 0 : o.x(d = 1); +(_o3 = o) === null || _o3 === void 0 ? void 0 : _o3.x(d = 1); d.toString(); -if (f === null || f === void 0 ? void 0 : f(x)) { +if ((_f = f) === null || _f === void 0 ? void 0 : _f(x)) { x; // number f; // (x: any) => x is number f(x); @@ -27,32 +27,36 @@ if (f === null || f === void 0 ? void 0 : f(x)) { x; f; f(x); -if (o2 === null || o2 === void 0 ? void 0 : o2.f(x)) { +if ((_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.f(x)) { + var _o23, _o24; x; // number o2.f; // (x: any) => x is number - o2 === null || o2 === void 0 ? void 0 : o2.f; - o2 === null || o2 === void 0 ? void 0 : o2.f(x); + (_o23 = o2) === null || _o23 === void 0 ? void 0 : _o23.f; + (_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24.f(x); } else { + var _o25; x; o2; - o2 === null || o2 === void 0 ? void 0 : o2.f; + (_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25.f; o2.f; } x; o2; -o2 === null || o2 === void 0 ? void 0 : o2.f; +(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22.f; o2.f; -if ((o3 === null || o3 === void 0 ? void 0 : o3.x) === 1) { +if (((_o31 = o3) === null || _o31 === void 0 ? void 0 : _o31.x) === 1) { + var _o33; o3; o3.x; - o3 === null || o3 === void 0 ? void 0 : o3.x; + (_o33 = o3) === null || _o33 === void 0 ? void 0 : _o33.x; } else { + var _o34; o3; - o3 === null || o3 === void 0 ? void 0 : o3.x; + (_o34 = o3) === null || _o34 === void 0 ? void 0 : _o34.x; o3.x; } o3; -o3 === null || o3 === void 0 ? void 0 : o3.x; +(_o32 = o3) === null || _o32 === void 0 ? void 0 : _o32.x; o3.x; if ((_o4_x = o4.x) === null || _o4_x === void 0 ? void 0 : _o4_x.y) { var _o4_x2; @@ -92,33 +96,38 @@ o5.x; (_o5_x3 = o5.x) === null || _o5_x3 === void 0 ? void 0 : (_o5_x_y_z1 = _o5_x3.y.z) === null || _o5_x_y_z1 === void 0 ? void 0 : _o5_x_y_z1.w; o5.x.y; o5.x.y.z.w; -if (o6 === null || o6 === void 0 ? void 0 : o6.f()) { +if ((_o6 = o6) === null || _o6 === void 0 ? void 0 : _o6.f()) { o6; // Derived o6.f; } else { + var _o62; o6; - o6 === null || o6 === void 0 ? void 0 : o6.f; + (_o62 = o6) === null || _o62 === void 0 ? void 0 : _o62.f; o6.f; } o6; -o6 === null || o6 === void 0 ? void 0 : o6.f; +(_o61 = o6) === null || _o61 === void 0 ? void 0 : _o61.f; o6.f; function f01(x1) { if (!!true) { - isString === null || isString === void 0 ? void 0 : isString(x1); + var _isString; + (_isString = isString) === null || _isString === void 0 ? void 0 : _isString(x1); x1; } if (!!true) { - maybeIsString === null || maybeIsString === void 0 ? void 0 : maybeIsString(x1); + var _maybeIsString; + (_maybeIsString = maybeIsString) === null || _maybeIsString === void 0 ? void 0 : _maybeIsString(x1); x1; } if (!!true) { + var _maybeIsString1; isDefined(maybeIsString); - maybeIsString === null || maybeIsString === void 0 ? void 0 : maybeIsString(x1); + (_maybeIsString1 = maybeIsString) === null || _maybeIsString1 === void 0 ? void 0 : _maybeIsString1(x1); x1; } if (!!true) { - maybeNever === null || maybeNever === void 0 ? void 0 : maybeNever(); + var _maybeNever; + (_maybeNever = maybeNever) === null || _maybeNever === void 0 ? void 0 : _maybeNever(); x1; } } diff --git a/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js b/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js index 07586d240342..7c29525d3d7b 100644 --- a/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js +++ b/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js @@ -4,7 +4,7 @@ import "@swc/helpers/_/_type_of"; function someFunction(someOptionalObject) { (null == someOptionalObject ? void 0 : someOptionalObject.someProperty) !== lastSomeProperty && (console.log(someOptionalObject), console.log(someOptionalObject.someProperty), lastSomeProperty = null == someOptionalObject ? void 0 : someOptionalObject.someProperty); } -null == o || o[a = 1], a.toString(), null == o || o.x[b = 1], b.toString(), null == o || o(c = 1), c.toString(), null == o || o.x(d = 1), d.toString(), null == f || f(x), x, f, f(x), x, f, f(x), (null == o2 ? void 0 : o2.f(x)) ? (x, o2.f, null == o2 || o2.f, null == o2 || o2.f(x)) : (x, o2, null == o2 || o2.f, o2.f), x, o2, null == o2 || o2.f, o2.f, (null == o3 ? void 0 : o3.x) === 1 ? (o3, o3.x, null == o3 || o3.x) : (o3, null == o3 || o3.x, o3.x), o3, null == o3 || o3.x, o3.x, (null === (_o4_x = o4.x) || void 0 === _o4_x ? void 0 : _o4_x.y) ? (o4.x, o4.x.y, null === (_o4_x2 = o4.x) || void 0 === _o4_x2 || _o4_x2.y) : (o4.x, null === (_o4_x3 = o4.x) || void 0 === _o4_x3 || _o4_x3.y, o4.x.y), o4.x, null === (_o4_x1 = o4.x) || void 0 === _o4_x1 || _o4_x1.y, o4.x.y, (null === (_o5_x = o5.x) || void 0 === _o5_x ? void 0 : null === (_o5_x_y_z = _o5_x.y.z) || void 0 === _o5_x_y_z ? void 0 : _o5_x_y_z.w) ? (o5.x, o5.x.y, o5.x.y.z, o5.x.y.z.w, null === (_o5_x_y_z2 = o5.x.y.z) || void 0 === _o5_x_y_z2 || _o5_x_y_z2.w, null === (_o5_x4 = o5.x) || void 0 === _o5_x4 || _o5_x4.y.z.w, null === (_o5_x5 = o5.x) || void 0 === _o5_x5 || null === (_o5_x_y_z3 = _o5_x5.y.z) || void 0 === _o5_x_y_z3 || _o5_x_y_z3.w) : (o5.x, null === (_o5_x6 = o5.x) || void 0 === _o5_x6 || _o5_x6.y, null === (_o5_x7 = o5.x) || void 0 === _o5_x7 || _o5_x7.y.z, null === (_o5_x8 = o5.x) || void 0 === _o5_x8 || null === (_o5_x_y_z4 = _o5_x8.y.z) || void 0 === _o5_x_y_z4 || _o5_x_y_z4.w, o5.x.y, o5.x.y.z.w), o5.x, null === (_o5_x1 = o5.x) || void 0 === _o5_x1 || _o5_x1.y, null === (_o5_x2 = o5.x) || void 0 === _o5_x2 || _o5_x2.y.z, null === (_o5_x3 = o5.x) || void 0 === _o5_x3 || null === (_o5_x_y_z1 = _o5_x3.y.z) || void 0 === _o5_x_y_z1 || _o5_x_y_z1.w, o5.x.y, o5.x.y.z.w, (null == o6 ? void 0 : o6.f()) ? o6 : (o6, null == o6 || o6.f), o6.f, o6, null == o6 || o6.f, o6.f, someFunction({ +null === (_o = o) || void 0 === _o || _o[a = 1], a.toString(), null === (_o1 = o) || void 0 === _o1 || _o1.x[b = 1], b.toString(), null === (_o2 = o) || void 0 === _o2 || _o2(c = 1), c.toString(), null === (_o3 = o) || void 0 === _o3 || _o3.x(d = 1), d.toString(), null === (_f = f) || void 0 === _f || _f(x), x, f, f(x), x, f, f(x), (null === (_o21 = o2) || void 0 === _o21 ? void 0 : _o21.f(x)) ? (x, o2.f, null === (_o23 = o2) || void 0 === _o23 || _o23.f, null === (_o24 = o2) || void 0 === _o24 || _o24.f(x)) : (x, o2, null === (_o25 = o2) || void 0 === _o25 || _o25.f, o2.f), x, o2, null === (_o22 = o2) || void 0 === _o22 || _o22.f, o2.f, (null === (_o31 = o3) || void 0 === _o31 ? void 0 : _o31.x) === 1 ? (o3, o3.x, null === (_o33 = o3) || void 0 === _o33 || _o33.x) : (o3, null === (_o34 = o3) || void 0 === _o34 || _o34.x, o3.x), o3, null === (_o32 = o3) || void 0 === _o32 || _o32.x, o3.x, (null === (_o4_x = o4.x) || void 0 === _o4_x ? void 0 : _o4_x.y) ? (o4.x, o4.x.y, null === (_o4_x2 = o4.x) || void 0 === _o4_x2 || _o4_x2.y) : (o4.x, null === (_o4_x3 = o4.x) || void 0 === _o4_x3 || _o4_x3.y, o4.x.y), o4.x, null === (_o4_x1 = o4.x) || void 0 === _o4_x1 || _o4_x1.y, o4.x.y, (null === (_o5_x = o5.x) || void 0 === _o5_x ? void 0 : null === (_o5_x_y_z = _o5_x.y.z) || void 0 === _o5_x_y_z ? void 0 : _o5_x_y_z.w) ? (o5.x, o5.x.y, o5.x.y.z, o5.x.y.z.w, null === (_o5_x_y_z2 = o5.x.y.z) || void 0 === _o5_x_y_z2 || _o5_x_y_z2.w, null === (_o5_x4 = o5.x) || void 0 === _o5_x4 || _o5_x4.y.z.w, null === (_o5_x5 = o5.x) || void 0 === _o5_x5 || null === (_o5_x_y_z3 = _o5_x5.y.z) || void 0 === _o5_x_y_z3 || _o5_x_y_z3.w) : (o5.x, null === (_o5_x6 = o5.x) || void 0 === _o5_x6 || _o5_x6.y, null === (_o5_x7 = o5.x) || void 0 === _o5_x7 || _o5_x7.y.z, null === (_o5_x8 = o5.x) || void 0 === _o5_x8 || null === (_o5_x_y_z4 = _o5_x8.y.z) || void 0 === _o5_x_y_z4 || _o5_x_y_z4.w, o5.x.y, o5.x.y.z.w), o5.x, null === (_o5_x1 = o5.x) || void 0 === _o5_x1 || _o5_x1.y, null === (_o5_x2 = o5.x) || void 0 === _o5_x2 || _o5_x2.y.z, null === (_o5_x3 = o5.x) || void 0 === _o5_x3 || null === (_o5_x_y_z1 = _o5_x3.y.z) || void 0 === _o5_x_y_z1 || _o5_x_y_z1.w, o5.x.y, o5.x.y.z.w, (null === (_o6 = o6) || void 0 === _o6 ? void 0 : _o6.f()) ? o6 : (o6, null === (_o62 = o6) || void 0 === _o62 || _o62.f), o6.f, o6, null === (_o61 = o6) || void 0 === _o61 || _o61.f, o6.f, someFunction({ someProperty: 42 }), someFunction(void 0); -for(var _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _arr_i, a, b, c, d, _o4_x2, _o4_x3, _o5_x_y_z2, _o5_x4, _o5_x_y_z3, _o5_x5, _o5_x6, _o5_x7, _o5_x_y_z4, _o5_x8, lastSomeProperty, _arr_i1, i = 0; (null === (_arr_i = arr[i]) || void 0 === _arr_i ? void 0 : _arr_i.tag) === "left";)i += 1, (null === (_arr_i1 = arr[i]) || void 0 === _arr_i1 ? void 0 : _arr_i1.tag) === "right" && console.log("I should ALSO be reachable"); +for(var _o, _o1, _o2, _o3, _f, _o21, _o22, _o31, _o32, _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _o6, _o61, _arr_i, a, b, c, d, _o23, _o24, _o25, _o33, _o34, _o4_x2, _o4_x3, _o5_x_y_z2, _o5_x4, _o5_x_y_z3, _o5_x5, _o5_x6, _o5_x7, _o5_x_y_z4, _o5_x8, _o62, lastSomeProperty, _arr_i1, i = 0; (null === (_arr_i = arr[i]) || void 0 === _arr_i ? void 0 : _arr_i.tag) === "left";)i += 1, (null === (_arr_i1 = arr[i]) || void 0 === _arr_i1 ? void 0 : _arr_i1.tag) === "right" && console.log("I should ALSO be reachable"); diff --git a/crates/swc/tests/tsc-references/deleteChain.1.normal.js b/crates/swc/tests/tsc-references/deleteChain.1.normal.js index 3ec55c201407..2528a05b3b86 100644 --- a/crates/swc/tests/tsc-references/deleteChain.1.normal.js +++ b/crates/swc/tests/tsc-references/deleteChain.1.normal.js @@ -1,15 +1,15 @@ //// [deleteChain.ts] -var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; -o1 === null || o1 === void 0 ? true : delete o1.b; -o1 === null || o1 === void 0 ? true : delete o1.b; -o2 === null || o2 === void 0 ? true : delete o2.b.c; -o2 === null || o2 === void 0 ? true : delete o2.b.c; +var _o1, _o11, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; +(_o1 = o1) === null || _o1 === void 0 ? true : delete _o1.b; +(_o11 = o1) === null || _o11 === void 0 ? true : delete _o11.b; +(_o2 = o2) === null || _o2 === void 0 ? true : delete _o2.b.c; +(_o21 = o2) === null || _o21 === void 0 ? true : delete _o21.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? true : delete _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? true : delete _o3_b1.c; (_o4_b = o4.b) === null || _o4_b === void 0 ? true : (_o4_b_c_d = _o4_b.c.d) === null || _o4_b_c_d === void 0 ? true : delete _o4_b_c_d.e; (_o4_b1 = o4.b) === null || _o4_b1 === void 0 ? true : (_o4_b_c_d1 = _o4_b1.c.d) === null || _o4_b_c_d1 === void 0 ? true : delete _o4_b_c_d1.e; (_o4_b2 = o4.b) === null || _o4_b2 === void 0 ? true : (_o4_b_c_d2 = _o4_b2.c.d) === null || _o4_b_c_d2 === void 0 ? true : delete _o4_b_c_d2.e; -(_o5_b = o5.b) === null || _o5_b === void 0 ? true : (_o5_b_c_d = _o5_b.call(o5).c.d) === null || _o5_b_c_d === void 0 ? true : delete _o5_b_c_d.e; -(_o5_b1 = o5.b) === null || _o5_b1 === void 0 ? true : (_o5_b_c_d1 = _o5_b1.call(o5).c.d) === null || _o5_b_c_d1 === void 0 ? true : delete _o5_b_c_d1.e; +(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? true : (_o5_b_c_d = _o5_b.call(_o5).c.d) === null || _o5_b_c_d === void 0 ? true : delete _o5_b_c_d.e; +(_o5_b1 = (_o51 = o5).b) === null || _o5_b1 === void 0 ? true : (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) === null || _o5_b_c_d1 === void 0 ? true : delete _o5_b_c_d1.e; (_o6_b = o6.b) === null || _o6_b === void 0 ? true : (_o6_b_c_d = _o6_b['c'].d) === null || _o6_b_c_d === void 0 ? true : delete _o6_b_c_d['e']; (_o6_b1 = o6.b) === null || _o6_b1 === void 0 ? true : (_o6_b_c_d1 = _o6_b1['c'].d) === null || _o6_b_c_d1 === void 0 ? true : delete _o6_b_c_d1['e']; diff --git a/crates/swc/tests/tsc-references/deleteChain.2.minified.js b/crates/swc/tests/tsc-references/deleteChain.2.minified.js index db2ef16dc2e5..aa3122bd4351 100644 --- a/crates/swc/tests/tsc-references/deleteChain.2.minified.js +++ b/crates/swc/tests/tsc-references/deleteChain.2.minified.js @@ -1,3 +1,3 @@ //// [deleteChain.ts] -var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; -null == o1 || delete o1.b, null == o1 || delete o1.b, null == o2 || delete o2.b.c, null == o2 || delete o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || delete _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || delete _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || delete _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || delete _o4_b_c_d1.e, null === (_o4_b2 = o4.b) || void 0 === _o4_b2 || null === (_o4_b_c_d2 = _o4_b2.c.d) || void 0 === _o4_b_c_d2 || delete _o4_b_c_d2.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || delete _o5_b_c_d.e, null === (_o5_b1 = o5.b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(o5).c.d) || void 0 === _o5_b_c_d1 || delete _o5_b_c_d1.e, null === (_o6_b = o6.b) || void 0 === _o6_b || null === (_o6_b_c_d = _o6_b.c.d) || void 0 === _o6_b_c_d || delete _o6_b_c_d.e, null === (_o6_b1 = o6.b) || void 0 === _o6_b1 || null === (_o6_b_c_d1 = _o6_b1.c.d) || void 0 === _o6_b_c_d1 || delete _o6_b_c_d1.e; +var _o1, _o11, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; +null === (_o1 = o1) || void 0 === _o1 || delete _o1.b, null === (_o11 = o1) || void 0 === _o11 || delete _o11.b, null === (_o2 = o2) || void 0 === _o2 || delete _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || delete _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || delete _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || delete _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || delete _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || delete _o4_b_c_d1.e, null === (_o4_b2 = o4.b) || void 0 === _o4_b2 || null === (_o4_b_c_d2 = _o4_b2.c.d) || void 0 === _o4_b_c_d2 || delete _o4_b_c_d2.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || delete _o5_b_c_d.e, null === (_o5_b1 = (_o51 = o5).b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) || void 0 === _o5_b_c_d1 || delete _o5_b_c_d1.e, null === (_o6_b = o6.b) || void 0 === _o6_b || null === (_o6_b_c_d = _o6_b.c.d) || void 0 === _o6_b_c_d || delete _o6_b_c_d.e, null === (_o6_b1 = o6.b) || void 0 === _o6_b1 || null === (_o6_b_c_d1 = _o6_b1.c.d) || void 0 === _o6_b_c_d1 || delete _o6_b_c_d1.e; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js b/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js index 39ac17125263..94cf3acee33c 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js @@ -1,19 +1,19 @@ //// [elementAccessChain.ts] -var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o5_b_c_d2, _o5_b2, _o5_b_c_d3, _o5_b3, _o6; -o1 === null || o1 === void 0 ? void 0 : o1["b"]; -o2 === null || o2 === void 0 ? void 0 : o2["b"].c; -o2 === null || o2 === void 0 ? void 0 : o2.b["c"]; +var _o1, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o5_b_c_d2, _o5_b2, _o52, _o5_b_c_d3, _o5_b3, _o53, _o6, // GH#36031 +_o22, _o23, _o24, _o25; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1["b"]; +(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2["b"].c; +(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b["c"]; (_o3_b = o3["b"]) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? void 0 : _o3_b1["c"]; (_o4_b = o4.b) === null || _o4_b === void 0 ? void 0 : (_o4_b_c_d = _o4_b["c"].d) === null || _o4_b_c_d === void 0 ? void 0 : _o4_b_c_d.e; (_o4_b1 = o4.b) === null || _o4_b1 === void 0 ? void 0 : (_o4_b_c_d1 = _o4_b1["c"].d) === null || _o4_b_c_d1 === void 0 ? void 0 : _o4_b_c_d1["e"]; -(_o5_b = o5.b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(o5)["c"].d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; -(_o5_b1 = o5.b) === null || _o5_b1 === void 0 ? void 0 : (_o5_b_c_d1 = _o5_b1.call(o5)["c"].d) === null || _o5_b_c_d1 === void 0 ? void 0 : _o5_b_c_d1["e"]; -(_o5_b2 = o5["b"]) === null || _o5_b2 === void 0 ? void 0 : (_o5_b_c_d2 = _o5_b2.call(o5)["c"].d) === null || _o5_b_c_d2 === void 0 ? void 0 : _o5_b_c_d2.e; -(_o5_b3 = o5["b"]) === null || _o5_b3 === void 0 ? void 0 : (_o5_b_c_d3 = _o5_b3.call(o5)["c"].d) === null || _o5_b_c_d3 === void 0 ? void 0 : _o5_b_c_d3["e"]; +(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(_o5)["c"].d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; +(_o5_b1 = (_o51 = o5).b) === null || _o5_b1 === void 0 ? void 0 : (_o5_b_c_d1 = _o5_b1.call(_o51)["c"].d) === null || _o5_b_c_d1 === void 0 ? void 0 : _o5_b_c_d1["e"]; +(_o5_b2 = (_o52 = o5)["b"]) === null || _o5_b2 === void 0 ? void 0 : (_o5_b_c_d2 = _o5_b2.call(_o52)["c"].d) === null || _o5_b_c_d2 === void 0 ? void 0 : _o5_b_c_d2.e; +(_o5_b3 = (_o53 = o5)["b"]) === null || _o5_b3 === void 0 ? void 0 : (_o5_b_c_d3 = _o5_b3.call(_o53)["c"].d) === null || _o5_b_c_d3 === void 0 ? void 0 : _o5_b_c_d3["e"]; (_o6 = o6()) === null || _o6 === void 0 ? void 0 : _o6["x"]; -// GH#36031 -o2 === null || o2 === void 0 ? void 0 : o2["b"].c; -o2 === null || o2 === void 0 ? void 0 : o2["b"]["c"]; -o2 === null || o2 === void 0 ? void 0 : o2["b"].c; -o2 === null || o2 === void 0 ? void 0 : o2["b"]["c"]; +(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22["b"].c; +(_o23 = o2) === null || _o23 === void 0 ? void 0 : _o23["b"]["c"]; +(_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24["b"].c; +(_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25["b"]["c"]; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js b/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js index 3492073aa987..841b1c98ecc1 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js @@ -1,7 +1,7 @@ //// [elementAccessChain.2.ts] -var _o3_b, _o3_b1; -o1 === null || o1 === void 0 ? void 0 : o1["b"]; -o2 === null || o2 === void 0 ? void 0 : o2["b"].c; -o2 === null || o2 === void 0 ? void 0 : o2.b["c"]; +var _o1, _o2, _o21, _o3_b, _o3_b1; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1["b"]; +(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2["b"].c; +(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b["c"]; (_o3_b = o3["b"]) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? void 0 : _o3_b1["c"]; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js b/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js index b2e17050ccd2..dc5b81cdb59a 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [elementAccessChain.2.ts] -var _o3_b, _o3_b1; -null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c; +var _o1, _o2, _o21, _o3_b, _o3_b1; +null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js b/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js index cb2cdb63dfbf..d666f56e1219 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js @@ -1,3 +1,3 @@ //// [elementAccessChain.ts] -var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o5_b_c_d2, _o5_b2, _o5_b_c_d3, _o5_b3, _o6; -null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || _o4_b_c_d1.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o5_b1 = o5.b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(o5).c.d) || void 0 === _o5_b_c_d1 || _o5_b_c_d1.e, null === (_o5_b2 = o5.b) || void 0 === _o5_b2 || null === (_o5_b_c_d2 = _o5_b2.call(o5).c.d) || void 0 === _o5_b_c_d2 || _o5_b_c_d2.e, null === (_o5_b3 = o5.b) || void 0 === _o5_b3 || null === (_o5_b_c_d3 = _o5_b3.call(o5).c.d) || void 0 === _o5_b_c_d3 || _o5_b_c_d3.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null == o2 || o2.b.c, null == o2 || o2.b.c, null == o2 || o2.b.c, null == o2 || o2.b.c; +var _o1, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o5_b_c_d2, _o5_b2, _o52, _o5_b_c_d3, _o5_b3, _o53, _o6, _o22, _o23, _o24, _o25; +null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || _o4_b_c_d1.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o5_b1 = (_o51 = o5).b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) || void 0 === _o5_b_c_d1 || _o5_b_c_d1.e, null === (_o5_b2 = (_o52 = o5).b) || void 0 === _o5_b2 || null === (_o5_b_c_d2 = _o5_b2.call(_o52).c.d) || void 0 === _o5_b_c_d2 || _o5_b_c_d2.e, null === (_o5_b3 = (_o53 = o5).b) || void 0 === _o5_b3 || null === (_o5_b_c_d3 = _o5_b3.call(_o53).c.d) || void 0 === _o5_b_c_d3 || _o5_b_c_d3.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null === (_o22 = o2) || void 0 === _o22 || _o22.b.c, null === (_o23 = o2) || void 0 === _o23 || _o23.b.c, null === (_o24 = o2) || void 0 === _o24 || _o24.b.c, null === (_o25 = o2) || void 0 === _o25 || _o25.b.c; diff --git a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js index f5ced361b123..51694a3573dc 100644 --- a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js +++ b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js @@ -199,8 +199,9 @@ var Animal = /*#__PURE__*/ function(Animal) { return Animal; }(Animal || {}); function expression() { + var _zoo; var _zoo_animal; - switch((_zoo_animal = zoo === null || zoo === void 0 ? void 0 : zoo.animal) !== null && _zoo_animal !== void 0 ? _zoo_animal : 0){ + switch((_zoo_animal = (_zoo = zoo) === null || _zoo === void 0 ? void 0 : _zoo.animal) !== null && _zoo_animal !== void 0 ? _zoo_animal : 0){ case 0: return 0; case 1: diff --git a/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js index 1f503ac8c6d7..69867c1210c5 100644 --- a/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js @@ -1,13 +1,16 @@ //// [logicalAssignment8.ts] function foo1(results) { + var _bar; var _bar_value; - (results || (results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); + (results || (results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); } function foo2(results) { + var _bar; var _bar_value; - (results !== null && results !== void 0 ? results : results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : []).push(100); + (results !== null && results !== void 0 ? results : results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : []).push(100); } function foo3(results) { + var _bar; var _bar_value; - (results && (results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); + (results && (results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); } diff --git a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js index 81dd0760e702..676955b19776 100644 --- a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js +++ b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js @@ -1,4 +1,7 @@ //// [noPropertyAccessFromIndexSignature1.ts] +var // optional access property +_d, _d1, // optional access index signature +_d2, _d3; // access property a.foo; a["foo"]; @@ -11,9 +14,7 @@ c["foo"]; // access index signature c.bar; c["bar"]; -// optional access property -d === null || d === void 0 ? void 0 : d.foo; -d === null || d === void 0 ? void 0 : d["foo"]; -// optional access index signature -d === null || d === void 0 ? void 0 : d.bar; -d === null || d === void 0 ? void 0 : d["bar"]; +(_d = d) === null || _d === void 0 ? void 0 : _d.foo; +(_d1 = d) === null || _d1 === void 0 ? void 0 : _d1["foo"]; +(_d2 = d) === null || _d2 === void 0 ? void 0 : _d2.bar; +(_d3 = d) === null || _d3 === void 0 ? void 0 : _d3["bar"]; diff --git a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js index 8ef9a7c051f4..385287289965 100644 --- a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js +++ b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js @@ -1,2 +1,3 @@ //// [noPropertyAccessFromIndexSignature1.ts] -a.foo, a.foo, b.foo, b.foo, c.foo, c.foo, c.bar, c.bar, null == d || d.foo, null == d || d.foo, null == d || d.bar, null == d || d.bar; +var _d, _d1, _d2, _d3; +a.foo, a.foo, b.foo, b.foo, c.foo, c.foo, c.bar, c.bar, null === (_d = d) || void 0 === _d || _d.foo, null === (_d1 = d) || void 0 === _d1 || _d1.foo, null === (_d2 = d) || void 0 === _d2 || _d2.bar, null === (_d3 = d) || void 0 === _d3 || _d3.bar; diff --git a/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js b/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js index d0600a4181df..37e70d9e985f 100644 --- a/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js +++ b/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js @@ -1,34 +1,35 @@ //// [optionalChainingInference.ts] // https://github.com/microsoft/TypeScript/issues/34579 +var _su, _su1, _su2, _fnu, _su3, _osu, _osu1, _ofnu; var b1 = { - value: su === null || su === void 0 ? void 0 : su.length + value: (_su = su) === null || _su === void 0 ? void 0 : _su.length }; var v1 = unbox(b1); var b2 = { - value: su === null || su === void 0 ? void 0 : su.length + value: (_su1 = su) === null || _su1 === void 0 ? void 0 : _su1.length }; var v2 = unbox(b2); var b3 = { - value: su === null || su === void 0 ? void 0 : su.length + value: (_su2 = su) === null || _su2 === void 0 ? void 0 : _su2.length }; var v3 = unbox(b3); var b4 = { - value: fnu === null || fnu === void 0 ? void 0 : fnu() + value: (_fnu = fnu) === null || _fnu === void 0 ? void 0 : _fnu() }; var v4 = unbox(b4); var b5 = { - value: su === null || su === void 0 ? void 0 : su["length"] + value: (_su3 = su) === null || _su3 === void 0 ? void 0 : _su3["length"] }; var v5 = unbox(b5); var b6 = { - value: osu === null || osu === void 0 ? void 0 : osu.prop.length + value: (_osu = osu) === null || _osu === void 0 ? void 0 : _osu.prop.length }; var v6 = unbox(b6); var b7 = { - value: osu === null || osu === void 0 ? void 0 : osu.prop["length"] + value: (_osu1 = osu) === null || _osu1 === void 0 ? void 0 : _osu1.prop["length"] }; var v7 = unbox(b7); var b8 = { - value: ofnu === null || ofnu === void 0 ? void 0 : ofnu.prop() + value: (_ofnu = ofnu) === null || _ofnu === void 0 ? void 0 : _ofnu.prop() }; var v8 = unbox(b8); diff --git a/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js b/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js index 9f7cb853877c..9df6eea8ccdb 100644 --- a/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js +++ b/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js @@ -1,18 +1,19 @@ //// [optionalChainingInference.ts] +var _su, _su1, _su2, _fnu, _su3, _osu, _osu1, _ofnu; unbox({ - value: null == su ? void 0 : su.length + value: null === (_su = su) || void 0 === _su ? void 0 : _su.length }), unbox({ - value: null == su ? void 0 : su.length + value: null === (_su1 = su) || void 0 === _su1 ? void 0 : _su1.length }), unbox({ - value: null == su ? void 0 : su.length + value: null === (_su2 = su) || void 0 === _su2 ? void 0 : _su2.length }), unbox({ - value: null == fnu ? void 0 : fnu() + value: null === (_fnu = fnu) || void 0 === _fnu ? void 0 : _fnu() }), unbox({ - value: null == su ? void 0 : su.length + value: null === (_su3 = su) || void 0 === _su3 ? void 0 : _su3.length }), unbox({ - value: null == osu ? void 0 : osu.prop.length + value: null === (_osu = osu) || void 0 === _osu ? void 0 : _osu.prop.length }), unbox({ - value: null == osu ? void 0 : osu.prop.length + value: null === (_osu1 = osu) || void 0 === _osu1 ? void 0 : _osu1.prop.length }), unbox({ - value: null == ofnu ? void 0 : ofnu.prop() + value: null === (_ofnu = ofnu) || void 0 === _ofnu ? void 0 : _ofnu.prop() }); diff --git a/crates/swc/tests/tsc-references/parentheses.1.normal.js b/crates/swc/tests/tsc-references/parentheses.1.normal.js index f58ca270b55b..579aacf9a4c3 100644 --- a/crates/swc/tests/tsc-references/parentheses.1.normal.js +++ b/crates/swc/tests/tsc-references/parentheses.1.normal.js @@ -1,5 +1,6 @@ //// [parentheses.ts] +var _o2, _o3, _o4; o1(o1 !== null && o1 !== void 0 ? o1 : 1); -(o2 === null || o2 === void 0 ? void 0 : o2.b)(o1 !== null && o1 !== void 0 ? o1 : 1); -(o3 === null || o3 === void 0 ? void 0 : o3.b())(o1 !== null && o1 !== void 0 ? o1 : 1); -(o4 === null || o4 === void 0 ? void 0 : o4.b().c)(o1 !== null && o1 !== void 0 ? o1 : 1); +((_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b)(o1 !== null && o1 !== void 0 ? o1 : 1); +((_o3 = o3) === null || _o3 === void 0 ? void 0 : _o3.b())(o1 !== null && o1 !== void 0 ? o1 : 1); +((_o4 = o4) === null || _o4 === void 0 ? void 0 : _o4.b().c)(o1 !== null && o1 !== void 0 ? o1 : 1); diff --git a/crates/swc/tests/tsc-references/parentheses.2.minified.js b/crates/swc/tests/tsc-references/parentheses.2.minified.js index ee0dd1315a01..6870428c6658 100644 --- a/crates/swc/tests/tsc-references/parentheses.2.minified.js +++ b/crates/swc/tests/tsc-references/parentheses.2.minified.js @@ -1,2 +1,3 @@ //// [parentheses.ts] -o1(null != o1 ? o1 : 1), (null == o2 ? void 0 : o2.b)(null != o1 ? o1 : 1), (null == o3 ? void 0 : o3.b())(null != o1 ? o1 : 1), (null == o4 ? void 0 : o4.b().c)(null != o1 ? o1 : 1); +var _o2, _o3, _o4; +o1(null != o1 ? o1 : 1), (null === (_o2 = o2) || void 0 === _o2 ? void 0 : _o2.b)(null != o1 ? o1 : 1), (null === (_o3 = o3) || void 0 === _o3 ? void 0 : _o3.b())(null != o1 ? o1 : 1), (null === (_o4 = o4) || void 0 === _o4 ? void 0 : _o4.b().c)(null != o1 ? o1 : 1); diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js b/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js index 38bb1fa21278..5a36d88f4a1c 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js @@ -1,13 +1,13 @@ //// [propertyAccessChain.ts] -var _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o6; -o1 === null || o1 === void 0 ? void 0 : o1.b; -o2 === null || o2 === void 0 ? void 0 : o2.b.c; +var _o1, _o2, _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o5, _o6, // GH#34109 +_o11, // GH#36031 +_o21, _o22; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1.b; +(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o4_b = o4.b) === null || _o4_b === void 0 ? void 0 : (_o4_b_c_d = _o4_b.c.d) === null || _o4_b_c_d === void 0 ? void 0 : _o4_b_c_d.e; -(_o5_b = o5.b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(o5).c.d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; +(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(_o5).c.d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; (_o6 = o6()) === null || _o6 === void 0 ? void 0 : _o6.x; -// GH#34109 -(o1 === null || o1 === void 0 ? void 0 : o1.b) ? 1 : 0; -// GH#36031 -o2 === null || o2 === void 0 ? void 0 : o2.b.c; -o2 === null || o2 === void 0 ? void 0 : o2.b.c; +((_o11 = o1) === null || _o11 === void 0 ? void 0 : _o11.b) ? 1 : 0; +(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b.c; +(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22.b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js index 73b3b4f0d6c8..c3ccb59e422a 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js @@ -1,5 +1,5 @@ //// [propertyAccessChain.2.ts] -var _o3_b; -o1 === null || o1 === void 0 ? void 0 : o1.b; -o2 === null || o2 === void 0 ? void 0 : o2.b.c; +var _o1, _o2, _o3_b; +(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1.b; +(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js index 6944a9005a11..301f8b4f513e 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [propertyAccessChain.2.ts] -var _o3_b; -null == o1 || o1.b, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c; +var _o1, _o2, _o3_b; +null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js index d88639ac21ad..cbb8b225609f 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js @@ -1,3 +1,3 @@ //// [propertyAccessChain.ts] -var _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o6; -null == o1 || o1.b, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c; +var _o1, _o2, _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o5, _o6, _o11, _o21, _o22; +null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null === (_o11 = o1) || void 0 === _o11 || _o11.b, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o22 = o2) || void 0 === _o22 || _o22.b.c; diff --git a/crates/swc_ecma_transforms_base/src/resolver/mod.rs b/crates/swc_ecma_transforms_base/src/resolver/mod.rs index 9181ff1afb12..0c71e668d3b9 100644 --- a/crates/swc_ecma_transforms_base/src/resolver/mod.rs +++ b/crates/swc_ecma_transforms_base/src/resolver/mod.rs @@ -1498,6 +1498,10 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_var_decl(&mut self, decl: &mut VarDecl) { + if decl.declare { + return; + } + let old_kind = self.decl_kind; self.decl_kind = decl.kind.into(); decl.decls.visit_mut_with(self); @@ -1854,6 +1858,10 @@ impl VisitMut for Hoister<'_, '_> { fn visit_mut_using_decl(&mut self, _: &mut UsingDecl) {} fn visit_mut_var_decl(&mut self, node: &mut VarDecl) { + if node.declare { + return; + } + if self.in_block { match node.kind { VarDeclKind::Const | VarDeclKind::Let => return, diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts new file mode 100644 index 000000000000..bff2d2655f98 --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts @@ -0,0 +1,5 @@ +declare const MY_MAGIC_VARIABLE: string; + +export default function Page() { + return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}` +} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts new file mode 100644 index 000000000000..44202eb00b59 --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts @@ -0,0 +1,4 @@ +declare const MY_MAGIC_VARIABLE__0: string; +export default function Page__2() { + return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}`; +} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts new file mode 100644 index 000000000000..9cae0caa270c --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts @@ -0,0 +1,4 @@ + +export default function Page() { + return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}` +} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts new file mode 100644 index 000000000000..c35af10ac7ba --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts @@ -0,0 +1,3 @@ +export default function Page__2() { + return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}`; +} diff --git a/crates/swc_ecma_transforms_base/tests/ts_resolver.rs b/crates/swc_ecma_transforms_base/tests/ts_resolver.rs index ba3c9b7573c4..bee726e857a4 100644 --- a/crates/swc_ecma_transforms_base/tests/ts_resolver.rs +++ b/crates/swc_ecma_transforms_base/tests/ts_resolver.rs @@ -103,4 +103,12 @@ impl Visit for AssertNoEmptyCtxt { fn visit_ts_tuple_element(&mut self, n: &TsTupleElement) { n.ty.visit_with(self); } + + fn visit_var_decl(&mut self, node: &VarDecl) { + if node.declare { + return; + } + + node.visit_children_with(self); + } }