Skip to content

Commit

Permalink
fix(es/helpers): Fix loose mode (#6691)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #6581.
  • Loading branch information
kdy1 committed Dec 20, 2022
1 parent 923e4ff commit 5016ebe
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 1 deletion.
19 changes: 19 additions & 0 deletions crates/swc/tests/exec/issues-6xxx/6581/1/.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
}
9 changes: 9 additions & 0 deletions crates/swc/tests/exec/issues-6xxx/6581/1/exec.ts
@@ -0,0 +1,9 @@
class Hoge {
#hoge: number
constructor() {
this.#hoge = 42
}
}

new Hoge()
new Hoge()
20 changes: 20 additions & 0 deletions 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
}
9 changes: 9 additions & 0 deletions 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()
Expand Up @@ -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];
}

1 comment on commit 5016ebe

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 5016ebe Previous: 707b1e3 Ratio
es/full/bugs-1 297658 ns/iter (± 9582) 327593 ns/iter (± 13761) 0.91
es/full/minify/libraries/antd 1669280982 ns/iter (± 20805963) 1879294433 ns/iter (± 51329987) 0.89
es/full/minify/libraries/d3 313172207 ns/iter (± 8172187) 354004712 ns/iter (± 8680110) 0.88
es/full/minify/libraries/echarts 1279254878 ns/iter (± 9647265) 1371677431 ns/iter (± 18722436) 0.93
es/full/minify/libraries/jquery 91071070 ns/iter (± 1254192) 94270302 ns/iter (± 1719817) 0.97
es/full/minify/libraries/lodash 109147061 ns/iter (± 1857001) 120093094 ns/iter (± 2576260) 0.91
es/full/minify/libraries/moment 53839499 ns/iter (± 536029) 57456271 ns/iter (± 1632443) 0.94
es/full/minify/libraries/react 19276835 ns/iter (± 229600) 20439897 ns/iter (± 415736) 0.94
es/full/minify/libraries/terser 250090917 ns/iter (± 5325707) 285812165 ns/iter (± 8738547) 0.88
es/full/minify/libraries/three 455008819 ns/iter (± 8181317) 505176029 ns/iter (± 11080438) 0.90
es/full/minify/libraries/typescript 3060628050 ns/iter (± 25005681) 3423658772 ns/iter (± 80162755) 0.89
es/full/minify/libraries/victory 658698554 ns/iter (± 10618330) 750660856 ns/iter (± 12993719) 0.88
es/full/minify/libraries/vue 132013646 ns/iter (± 1722101) 139112670 ns/iter (± 3374664) 0.95
es/full/codegen/es3 27241 ns/iter (± 96) 27082 ns/iter (± 58) 1.01
es/full/codegen/es5 27204 ns/iter (± 57) 27092 ns/iter (± 63) 1.00
es/full/codegen/es2015 27199 ns/iter (± 46) 27084 ns/iter (± 51) 1.00
es/full/codegen/es2016 27214 ns/iter (± 59) 27112 ns/iter (± 55) 1.00
es/full/codegen/es2017 27240 ns/iter (± 46) 27081 ns/iter (± 42) 1.01
es/full/codegen/es2018 27193 ns/iter (± 48) 27072 ns/iter (± 40) 1.00
es/full/codegen/es2019 27231 ns/iter (± 68) 27066 ns/iter (± 29) 1.01
es/full/codegen/es2020 27201 ns/iter (± 51) 27073 ns/iter (± 43) 1.00
es/full/all/es3 168799051 ns/iter (± 2600412) 177445796 ns/iter (± 2302123) 0.95
es/full/all/es5 161326142 ns/iter (± 2354895) 166540572 ns/iter (± 3790227) 0.97
es/full/all/es2015 123506562 ns/iter (± 2020573) 125806018 ns/iter (± 2295495) 0.98
es/full/all/es2016 121370650 ns/iter (± 1764286) 124384914 ns/iter (± 3467874) 0.98
es/full/all/es2017 120385688 ns/iter (± 1669969) 124190475 ns/iter (± 1676517) 0.97
es/full/all/es2018 119014580 ns/iter (± 4833686) 120896068 ns/iter (± 1095551) 0.98
es/full/all/es2019 119066639 ns/iter (± 1834719) 119973463 ns/iter (± 1736349) 0.99
es/full/all/es2020 115696038 ns/iter (± 2544275) 115827498 ns/iter (± 2119988) 1.00
es/full/parser 513721 ns/iter (± 9443) 516731 ns/iter (± 9867) 0.99
es/full/base/fixer 22257 ns/iter (± 14) 21841 ns/iter (± 19) 1.02
es/full/base/resolver_and_hygiene 77762 ns/iter (± 45) 78271 ns/iter (± 75) 0.99
serialization of ast node 118 ns/iter (± 0) 118 ns/iter (± 0) 1
serialization of serde 124 ns/iter (± 0) 124 ns/iter (± 0) 1
css/minify/libraries/bootstrap 27034098 ns/iter (± 111629) 27955915 ns/iter (± 111092) 0.97
css/visitor/compare/clone 2042810 ns/iter (± 3737) 2079889 ns/iter (± 26384) 0.98
css/visitor/compare/visit_mut_span 2248571 ns/iter (± 10794) 2259923 ns/iter (± 10822) 0.99
css/visitor/compare/visit_mut_span_panic 2342183 ns/iter (± 8559) 2304790 ns/iter (± 10239) 1.02
css/visitor/compare/fold_span 2963670 ns/iter (± 24079) 2981514 ns/iter (± 25067) 0.99
css/visitor/compare/fold_span_panic 3108289 ns/iter (± 14314) 3182184 ns/iter (± 49523) 0.98
css/lexer/bootstrap_5_1_3 5197189 ns/iter (± 9033) 5180364 ns/iter (± 1932) 1.00
css/lexer/foundation_6_7_4 4370466 ns/iter (± 2257) 4379508 ns/iter (± 3770) 1.00
css/lexer/tailwind_3_1_1 827842 ns/iter (± 304) 831175 ns/iter (± 1189) 1.00
css/parser/bootstrap_5_1_3 20870881 ns/iter (± 112439) 21173923 ns/iter (± 218096) 0.99
css/parser/foundation_6_7_4 16612951 ns/iter (± 39684) 17112235 ns/iter (± 264111) 0.97
css/parser/tailwind_3_1_1 3210755 ns/iter (± 2733) 3206854 ns/iter (± 4310) 1.00
es/codegen/colors 331334 ns/iter (± 186803) 324365 ns/iter (± 181723) 1.02
es/codegen/large 1239583 ns/iter (± 632022) 1242664 ns/iter (± 638837) 1.00
es/codegen/with-parser/colors 46333 ns/iter (± 377) 46430 ns/iter (± 367) 1.00
es/codegen/with-parser/large 515997 ns/iter (± 1089) 519298 ns/iter (± 3195) 0.99
es/minify/libraries/antd 1436374213 ns/iter (± 21341566) 1629597814 ns/iter (± 23705722) 0.88
es/minify/libraries/d3 260096415 ns/iter (± 3424783) 288255513 ns/iter (± 8470546) 0.90
es/minify/libraries/echarts 1101609362 ns/iter (± 22888915) 1209729709 ns/iter (± 24211699) 0.91
es/minify/libraries/jquery 79657172 ns/iter (± 1270422) 85080296 ns/iter (± 2917469) 0.94
es/minify/libraries/lodash 96771299 ns/iter (± 2188349) 103126331 ns/iter (± 1051170) 0.94
es/minify/libraries/moment 47050739 ns/iter (± 851438) 50028949 ns/iter (± 1438005) 0.94
es/minify/libraries/react 17214580 ns/iter (± 212573) 17970081 ns/iter (± 198475) 0.96
es/minify/libraries/terser 218183817 ns/iter (± 2891007) 230752394 ns/iter (± 4062459) 0.95
es/minify/libraries/three 384583950 ns/iter (± 5006531) 456250840 ns/iter (± 23807965) 0.84
es/minify/libraries/typescript 2662558546 ns/iter (± 23117137) 2916366036 ns/iter (± 27574480) 0.91
es/minify/libraries/victory 618983600 ns/iter (± 12309526) 684008932 ns/iter (± 15974650) 0.90
es/minify/libraries/vue 118555426 ns/iter (± 1997114) 130354583 ns/iter (± 6926008) 0.91
es/visitor/compare/clone 2401030 ns/iter (± 5778) 2513363 ns/iter (± 18659) 0.96
es/visitor/compare/visit_mut_span 2835714 ns/iter (± 4318) 2956312 ns/iter (± 30946) 0.96
es/visitor/compare/visit_mut_span_panic 2866366 ns/iter (± 10213) 2914279 ns/iter (± 21175) 0.98
es/visitor/compare/fold_span 3981060 ns/iter (± 12234) 4004219 ns/iter (± 17811) 0.99
es/visitor/compare/fold_span_panic 4130783 ns/iter (± 7836) 4259262 ns/iter (± 85704) 0.97
es/lexer/colors 17309 ns/iter (± 53) 17410 ns/iter (± 17) 0.99
es/lexer/angular 8229291 ns/iter (± 14117) 8208407 ns/iter (± 2552) 1.00
es/lexer/backbone 1073117 ns/iter (± 2705) 1069149 ns/iter (± 366) 1.00
es/lexer/jquery 5944166 ns/iter (± 12989) 5935524 ns/iter (± 3692) 1.00
es/lexer/jquery mobile 9197804 ns/iter (± 18004) 9151722 ns/iter (± 5670) 1.01
es/lexer/mootools 4662707 ns/iter (± 6646) 4648318 ns/iter (± 937) 1.00
es/lexer/underscore 898589 ns/iter (± 1548) 892468 ns/iter (± 359) 1.01
es/lexer/three 27772699 ns/iter (± 37342) 27830988 ns/iter (± 6071) 1.00
es/lexer/yui 5039311 ns/iter (± 4000) 5029570 ns/iter (± 1563) 1.00
es/parser/colors 30842 ns/iter (± 113) 30896 ns/iter (± 159) 1.00
es/parser/angular 15680293 ns/iter (± 317579) 16893011 ns/iter (± 244243) 0.93
es/parser/backbone 2312617 ns/iter (± 12920) 2333752 ns/iter (± 11838) 0.99
es/parser/jquery 12648813 ns/iter (± 87918) 13433849 ns/iter (± 207178) 0.94
es/parser/jquery mobile 20337398 ns/iter (± 312791) 21857379 ns/iter (± 438182) 0.93
es/parser/mootools 9642924 ns/iter (± 21732) 9641910 ns/iter (± 31411) 1.00
es/parser/underscore 1958241 ns/iter (± 10298) 1962758 ns/iter (± 11500) 1.00
es/parser/three 60283555 ns/iter (± 343252) 62004811 ns/iter (± 621284) 0.97
es/parser/yui 9578413 ns/iter (± 103225) 9992090 ns/iter (± 52980) 0.96
es/preset-env/usage/builtin_type 144002 ns/iter (± 33055) 142604 ns/iter (± 32846) 1.01
es/preset-env/usage/property 22074 ns/iter (± 59) 21732 ns/iter (± 104) 1.02
es/resolver/typescript 109568369 ns/iter (± 1316090) 121163818 ns/iter (± 4107788) 0.90
es/fixer/typescript 87203671 ns/iter (± 1383645) 100009174 ns/iter (± 1070574) 0.87
es/hygiene/typescript 170070899 ns/iter (± 1946174) 199526123 ns/iter (± 4337813) 0.85
es/resolver_with_hygiene/typescript 300464833 ns/iter (± 1351920) 332458258 ns/iter (± 2494168) 0.90
es/visitor/base-perf/module_clone 75623 ns/iter (± 1542) 75856 ns/iter (± 1321) 1.00
es/visitor/base-perf/fold_empty 85810 ns/iter (± 1124) 85789 ns/iter (± 888) 1.00
es/visitor/base-perf/fold_noop_impl_all 86010 ns/iter (± 1609) 85912 ns/iter (± 1335) 1.00
es/visitor/base-perf/fold_noop_impl_vec 86047 ns/iter (± 1522) 86185 ns/iter (± 1887) 1.00
es/visitor/base-perf/boxing_boxed_clone 57 ns/iter (± 0) 56 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 60 ns/iter (± 0) 59 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_boxed 103 ns/iter (± 0) 104 ns/iter (± 0) 0.99
es/visitor/base-perf/boxing_unboxed 103 ns/iter (± 0) 102 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 3628 ns/iter (± 88) 3516 ns/iter (± 88) 1.03
es/base/parallel/resolver/typescript 5458201442 ns/iter (± 491317083) 5243881409 ns/iter (± 460493701) 1.04
es/base/parallel/hygiene/typescript 2000191981 ns/iter (± 41814069) 2263019292 ns/iter (± 41429871) 0.88
misc/visitors/time-complexity/time 5 102 ns/iter (± 0) 102 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 317 ns/iter (± 7) 330 ns/iter (± 1) 0.96
misc/visitors/time-complexity/time 15 648 ns/iter (± 0) 668 ns/iter (± 1) 0.97
misc/visitors/time-complexity/time 20 1230 ns/iter (± 5) 1262 ns/iter (± 11) 0.97
misc/visitors/time-complexity/time 40 6631 ns/iter (± 22) 6636 ns/iter (± 16) 1.00
misc/visitors/time-complexity/time 60 17053 ns/iter (± 22) 17130 ns/iter (± 14) 1.00
es/full-target/es2016 188351 ns/iter (± 577) 188310 ns/iter (± 524) 1.00
es/full-target/es2017 183391 ns/iter (± 259) 183962 ns/iter (± 688) 1.00
es/full-target/es2018 172232 ns/iter (± 356) 174442 ns/iter (± 591) 0.99
es2020_nullish_coalescing 66920 ns/iter (± 135) 67065 ns/iter (± 152) 1.00
es2020_optional_chaining 96378 ns/iter (± 6851) 96800 ns/iter (± 1920) 1.00
es2022_class_properties 93998 ns/iter (± 161) 94689 ns/iter (± 145) 0.99
es2018_object_rest_spread 71538 ns/iter (± 187) 71837 ns/iter (± 150) 1.00
es2019_optional_catch_binding 61584 ns/iter (± 114) 61644 ns/iter (± 115) 1.00
es2017_async_to_generator 61558 ns/iter (± 124) 61795 ns/iter (± 111) 1.00
es2016_exponentiation 65059 ns/iter (± 63) 65624 ns/iter (± 139) 0.99
es2015_arrow 70214 ns/iter (± 259) 70833 ns/iter (± 277) 0.99
es2015_block_scoped_fn 66235 ns/iter (± 93) 66504 ns/iter (± 85) 1.00
es2015_block_scoping 144186 ns/iter (± 9616) 139896 ns/iter (± 9466) 1.03
es2015_classes 116115 ns/iter (± 491) 116684 ns/iter (± 389) 1.00
es2015_computed_props 60938 ns/iter (± 85) 61599 ns/iter (± 113) 0.99
es2015_destructuring 115186 ns/iter (± 252) 116742 ns/iter (± 191) 0.99
es2015_duplicate_keys 63988 ns/iter (± 105) 64370 ns/iter (± 105) 0.99
es2015_parameters 79426 ns/iter (± 152) 79784 ns/iter (± 184) 1.00
es2015_fn_name 66447 ns/iter (± 436) 67667 ns/iter (± 741) 0.98
es2015_for_of 64806 ns/iter (± 88) 65011 ns/iter (± 114) 1.00
es2015_instanceof 63193 ns/iter (± 124) 62977 ns/iter (± 769) 1.00
es2015_shorthand_property 60990 ns/iter (± 107) 59805 ns/iter (± 87) 1.02
es2015_spread 60974 ns/iter (± 135) 59927 ns/iter (± 69) 1.02
es2015_sticky_regex 62117 ns/iter (± 109) 60997 ns/iter (± 71) 1.02
es2015_typeof_symbol 62137 ns/iter (± 107) 61369 ns/iter (± 85) 1.01
es/transform/baseline/base 51830 ns/iter (± 97) 51024 ns/iter (± 99) 1.02
es/transform/baseline/common_reserved_word 62546 ns/iter (± 91) 61743 ns/iter (± 93) 1.01
es/transform/baseline/common_typescript 144433 ns/iter (± 2064) 139079 ns/iter (± 1753) 1.04
es/target/es3 168573 ns/iter (± 236) 165953 ns/iter (± 1515) 1.02
es/target/es2015 628912 ns/iter (± 1080) 601201 ns/iter (± 4135) 1.05
es/target/es2016 64893 ns/iter (± 99) 63988 ns/iter (± 85) 1.01
es/target/es2017 61551 ns/iter (± 115) 60429 ns/iter (± 82) 1.02
es/target/es2018 81462 ns/iter (± 115) 80002 ns/iter (± 78) 1.02
es/target/es2020 132668 ns/iter (± 312) 129689 ns/iter (± 108) 1.02
babelify-only 673264 ns/iter (± 1172) 670897 ns/iter (± 1222) 1.00
parse_and_babelify_angular 43175982 ns/iter (± 1365022) 50352764 ns/iter (± 1367408) 0.86
parse_and_babelify_backbone 5384129 ns/iter (± 49569) 5992010 ns/iter (± 139534) 0.90
parse_and_babelify_jquery 32433382 ns/iter (± 701159) 37003769 ns/iter (± 408041) 0.88
parse_and_babelify_jquery_mobile 55098727 ns/iter (± 622366) 59922453 ns/iter (± 580946) 0.92
parse_and_babelify_mootools 33499468 ns/iter (± 422309) 37040028 ns/iter (± 709885) 0.90
parse_and_babelify_underscore 4316534 ns/iter (± 44421) 4545061 ns/iter (± 121050) 0.95
parse_and_babelify_yui 32727226 ns/iter (± 953195) 38525994 ns/iter (± 660442) 0.85
html/minify/document/css_spec 42379376 ns/iter (± 486986) 44658197 ns/iter (± 356775) 0.95
html/minify/document/github 17379516 ns/iter (± 72025) 17622032 ns/iter (± 112296) 0.99
html/minify/document/stackoverflow 15467580 ns/iter (± 61576) 15929186 ns/iter (± 66309) 0.97
html/minify/document_fragment/css_spec 39981613 ns/iter (± 189404) 41766737 ns/iter (± 703034) 0.96
html/minify/document_fragment/github 16628413 ns/iter (± 40729) 17095392 ns/iter (± 71475) 0.97
html/minify/document_fragment/stackoverflow 15189963 ns/iter (± 83644) 15644094 ns/iter (± 114227) 0.97
html/document/visitor/compare/clone 338919 ns/iter (± 2048) 341421 ns/iter (± 2612) 0.99
html/document/visitor/compare/visit_mut_span 368317 ns/iter (± 1842) 365665 ns/iter (± 2164) 1.01
html/document/visitor/compare/visit_mut_span_panic 384627 ns/iter (± 1769) 375776 ns/iter (± 2443) 1.02
html/document/visitor/compare/fold_span 410743 ns/iter (± 1146) 402967 ns/iter (± 1744) 1.02
html/document/visitor/compare/fold_span_panic 462522 ns/iter (± 1418) 459862 ns/iter (± 2145) 1.01
html/document_fragment/visitor/compare/clone 339375 ns/iter (± 2291) 341890 ns/iter (± 2523) 0.99
html/document_fragment/visitor/compare/visit_mut_span 372487 ns/iter (± 1874) 371061 ns/iter (± 1528) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 370145 ns/iter (± 1813) 378361 ns/iter (± 1860) 0.98
html/document_fragment/visitor/compare/fold_span 401624 ns/iter (± 1855) 406541 ns/iter (± 2574) 0.99
html/document_fragment/visitor/compare/fold_span_panic 460305 ns/iter (± 1369) 458187 ns/iter (± 2095) 1.00
html/lexer/css_2021_spec 15563847 ns/iter (± 9756) 15594477 ns/iter (± 97705) 1.00
html/lexer/github_com_17_05_2022 6047454 ns/iter (± 3302) 6050537 ns/iter (± 5579) 1.00
html/lexer/stackoverflow_com_17_05_2022 5664506 ns/iter (± 5305) 5660536 ns/iter (± 2432) 1.00
html/parser/parser_document/css_2021_spec 25933224 ns/iter (± 192786) 26732454 ns/iter (± 309540) 0.97
html/parser/parser_document/github_com_17_05_2022 8793118 ns/iter (± 7477) 8795833 ns/iter (± 9685) 1.00
html/parser/parser_document/stackoverflow_com_17_05_2022 7767563 ns/iter (± 8963) 7795730 ns/iter (± 11858) 1.00
html/parser/parser_document_fragment/css_2021_spec 26053785 ns/iter (± 145496) 27424937 ns/iter (± 402616) 0.95
html/parser/parser_document_fragment/github_com_17_05_2022 8807313 ns/iter (± 10210) 8860619 ns/iter (± 12337) 0.99
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7774458 ns/iter (± 6433) 7779974 ns/iter (± 9383) 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.