From a4ab4a3f6da8b786e4dd51c84a51b84956a40505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Tue, 20 Dec 2022 15:54:27 +0900 Subject: [PATCH 1/4] Add a test --- crates/swc/tests/exec/issues-6xxx/6581/.swcrc | 19 +++++++++++++++++++ .../swc/tests/exec/issues-6xxx/6581/exec.ts | 6 ++++++ 2 files changed, 25 insertions(+) create mode 100644 crates/swc/tests/exec/issues-6xxx/6581/.swcrc create mode 100644 crates/swc/tests/exec/issues-6xxx/6581/exec.ts diff --git a/crates/swc/tests/exec/issues-6xxx/6581/.swcrc b/crates/swc/tests/exec/issues-6xxx/6581/.swcrc new file mode 100644 index 000000000000..f3fa9a792922 --- /dev/null +++ b/crates/swc/tests/exec/issues-6xxx/6581/.swcrc @@ -0,0 +1,19 @@ +{ + "jsc": { + "parser": { + "syntax": "typescript", + "tsx": true + }, + "target": "es2019", + "loose": true, + "minify": { + "compress": false, + "mangle": false + } + }, + "module": { + "type": "es6" + }, + "minify": false, + "isModule": true +} \ No newline at end of file diff --git a/crates/swc/tests/exec/issues-6xxx/6581/exec.ts b/crates/swc/tests/exec/issues-6xxx/6581/exec.ts new file mode 100644 index 000000000000..8a7ec89279f3 --- /dev/null +++ b/crates/swc/tests/exec/issues-6xxx/6581/exec.ts @@ -0,0 +1,6 @@ +class Hoge { + #hoge: number + constructor() { + this.#hoge = 42 + } +} \ No newline at end of file From 5f98015a382d3eb0f58ad2861b5c65c7147d6f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Tue, 20 Dec 2022 16:00:03 +0900 Subject: [PATCH 2/4] fixup --- crates/swc/tests/exec/issues-6xxx/6581/exec.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/swc/tests/exec/issues-6xxx/6581/exec.ts b/crates/swc/tests/exec/issues-6xxx/6581/exec.ts index 8a7ec89279f3..65f396e5efdb 100644 --- a/crates/swc/tests/exec/issues-6xxx/6581/exec.ts +++ b/crates/swc/tests/exec/issues-6xxx/6581/exec.ts @@ -3,4 +3,7 @@ class Hoge { constructor() { this.#hoge = 42 } -} \ No newline at end of file +} + +new Hoge() +new Hoge() \ No newline at end of file From 3d7c60d6e76b05286f240a6873d7e9488e4760b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Tue, 20 Dec 2022 16:01:00 +0900 Subject: [PATCH 3/4] Add a test --- .../exec/issues-6xxx/6581/{ => 1}/.swcrc | 0 .../exec/issues-6xxx/6581/{ => 1}/exec.ts | 0 .../swc/tests/exec/issues-6xxx/6581/2/.swcrc | 20 +++++++++++++++++++ .../swc/tests/exec/issues-6xxx/6581/2/exec.ts | 9 +++++++++ 4 files changed, 29 insertions(+) rename crates/swc/tests/exec/issues-6xxx/6581/{ => 1}/.swcrc (100%) rename crates/swc/tests/exec/issues-6xxx/6581/{ => 1}/exec.ts (100%) create mode 100644 crates/swc/tests/exec/issues-6xxx/6581/2/.swcrc create mode 100644 crates/swc/tests/exec/issues-6xxx/6581/2/exec.ts diff --git a/crates/swc/tests/exec/issues-6xxx/6581/.swcrc b/crates/swc/tests/exec/issues-6xxx/6581/1/.swcrc similarity index 100% rename from crates/swc/tests/exec/issues-6xxx/6581/.swcrc rename to crates/swc/tests/exec/issues-6xxx/6581/1/.swcrc diff --git a/crates/swc/tests/exec/issues-6xxx/6581/exec.ts b/crates/swc/tests/exec/issues-6xxx/6581/1/exec.ts similarity index 100% rename from crates/swc/tests/exec/issues-6xxx/6581/exec.ts rename to crates/swc/tests/exec/issues-6xxx/6581/1/exec.ts diff --git a/crates/swc/tests/exec/issues-6xxx/6581/2/.swcrc b/crates/swc/tests/exec/issues-6xxx/6581/2/.swcrc new file mode 100644 index 000000000000..4512d3085417 --- /dev/null +++ b/crates/swc/tests/exec/issues-6xxx/6581/2/.swcrc @@ -0,0 +1,20 @@ +{ + "jsc": { + "parser": { + "syntax": "typescript", + "tsx": true + }, + "target": "es2019", + "loose": true, + "minify": { + "compress": false, + "mangle": false + }, + "externalHelpers": true + }, + "module": { + "type": "es6" + }, + "minify": false, + "isModule": true +} \ No newline at end of file diff --git a/crates/swc/tests/exec/issues-6xxx/6581/2/exec.ts b/crates/swc/tests/exec/issues-6xxx/6581/2/exec.ts new file mode 100644 index 000000000000..65f396e5efdb --- /dev/null +++ b/crates/swc/tests/exec/issues-6xxx/6581/2/exec.ts @@ -0,0 +1,9 @@ +class Hoge { + #hoge: number + constructor() { + this.#hoge = 42 + } +} + +new Hoge() +new Hoge() \ No newline at end of file From 019ecc9cb389ef7c2e03854b56e5491707ee0133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Tue, 20 Dec 2022 16:02:28 +0900 Subject: [PATCH 4/4] Fix --- packages/swc-helpers/src/_class_private_field_loose_base.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/swc-helpers/src/_class_private_field_loose_base.mjs b/packages/swc-helpers/src/_class_private_field_loose_base.mjs index c24fda439fbc..79ca6c8ec3f9 100644 --- a/packages/swc-helpers/src/_class_private_field_loose_base.mjs +++ b/packages/swc-helpers/src/_class_private_field_loose_base.mjs @@ -3,5 +3,5 @@ export default function _classPrivateFieldBase(receiver, privateKey) { throw new TypeError("attempted to use private field on non-instance"); } - return receiver; + return receiver[privateKey]; }