Skip to content

Commit

Permalink
fix(es): Respect the value of assumptions (#7065)
Browse files Browse the repository at this point in the history
  • Loading branch information
magic-akari committed Mar 13, 2023
1 parent 3da6d18 commit 11d4874
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 18 deletions.
4 changes: 2 additions & 2 deletions crates/swc/src/config/mod.rs
Expand Up @@ -362,10 +362,10 @@ impl Options {
// We do this before creating custom passes, so custom passses can use the
// variable management system based on the syntax contexts.
if syntax.typescript() {
assumptions.set_class_methods = !transform.use_define_for_class_fields.into_bool();
assumptions.set_class_methods |= !transform.use_define_for_class_fields.into_bool();
}

assumptions.set_public_class_fields = !transform.use_define_for_class_fields.into_bool();
assumptions.set_public_class_fields |= !transform.use_define_for_class_fields.into_bool();

program.visit_mut_with(&mut resolver(
unresolved_mark,
Expand Down
4 changes: 0 additions & 4 deletions crates/swc/tests/fixture/issues-1xxx/1278/output/index.ts
Expand Up @@ -2,7 +2,6 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
const _defineProperty = require("@swc/helpers/lib/_define_property.js").default;
const _tsDecorate = require("@swc/helpers/lib/_ts_decorate.js").default;
const _tsMetadata = require("@swc/helpers/lib/_ts_metadata.js").default;
function MyDecorator(klass) {
Expand All @@ -12,9 +11,6 @@ function MyDecorator(klass) {
};
}
class MyClass {
constructor(){
_defineProperty(this, "prop", void 0);
}
}
_tsDecorate([
MyDecorator(MyClass),
Expand Down
@@ -1,4 +1,3 @@
import _define_property from "@swc/helpers/src/_define_property.mjs";
var _ClassB;
var ClassA = function ClassA() {
"use strict";
Expand All @@ -11,4 +10,6 @@ module.exports = (_ClassB = /*#__PURE__*/ function() {
this.bb = new ClassB.MyA();
};
return ClassB;
}(), _define_property(_ClassB, "MyA", ClassA), _ClassB);
}(), function() {
_ClassB.MyA = ClassA;
}(), _ClassB);
@@ -1,9 +1,8 @@
var t;
import r from "@swc/helpers/src/_define_property.mjs";
module.exports = (r(t = function() {
module.exports = ((t = function() {
"use strict";
function t() {}
return t.prototype.it = function() {
this.bb = new t.MyA();
}, t;
}(), "MyA", function() {}), t);
}()).MyA = function() {}, t);
9 changes: 2 additions & 7 deletions crates/swc/tests/fixture/issues-2xxx/2216/output/index.ts
@@ -1,12 +1,7 @@
import _create_class from "@swc/helpers/src/_create_class.mjs";
export var ATestForSwc = /*#__PURE__*/ function() {
"use strict";
function ATestForSwc() {}
_create_class(ATestForSwc, [
{
key: "testMethod",
value: function testMethod() {}
}
]);
var _proto = ATestForSwc.prototype;
_proto.testMethod = function testMethod() {};
return ATestForSwc;
}();

1 comment on commit 11d4874

@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: 11d4874 Previous: 97945d0 Ratio
es/full/bugs-1 311882 ns/iter (± 5390) 307732 ns/iter (± 13465) 1.01
es/full/minify/libraries/antd 1676125955 ns/iter (± 28199276) 1626065146 ns/iter (± 28978042) 1.03
es/full/minify/libraries/d3 310312819 ns/iter (± 6997234) 297522304 ns/iter (± 7703417) 1.04
es/full/minify/libraries/echarts 1261496650 ns/iter (± 15514273) 1210525260 ns/iter (± 11929177) 1.04
es/full/minify/libraries/jquery 92240018 ns/iter (± 1100088) 89619775 ns/iter (± 738576) 1.03
es/full/minify/libraries/lodash 105904743 ns/iter (± 1210531) 105589187 ns/iter (± 1426564) 1.00
es/full/minify/libraries/moment 52442047 ns/iter (± 591676) 52837512 ns/iter (± 575781) 0.99
es/full/minify/libraries/react 19031883 ns/iter (± 183286) 18998206 ns/iter (± 270206) 1.00
es/full/minify/libraries/terser 245803998 ns/iter (± 4324879) 244826168 ns/iter (± 4802947) 1.00
es/full/minify/libraries/three 444357105 ns/iter (± 6968596) 429826437 ns/iter (± 5997395) 1.03
es/full/minify/libraries/typescript 3061958376 ns/iter (± 25372413) 3054362774 ns/iter (± 24449276) 1.00
es/full/minify/libraries/victory 657696825 ns/iter (± 13818352) 662221329 ns/iter (± 8608921) 0.99
es/full/minify/libraries/vue 129925983 ns/iter (± 1311388) 129813542 ns/iter (± 1124296) 1.00
es/full/codegen/es3 26420 ns/iter (± 282) 26101 ns/iter (± 54) 1.01
es/full/codegen/es5 26507 ns/iter (± 157) 26310 ns/iter (± 71) 1.01
es/full/codegen/es2015 26492 ns/iter (± 85) 26260 ns/iter (± 49) 1.01
es/full/codegen/es2016 26512 ns/iter (± 77) 26209 ns/iter (± 48) 1.01
es/full/codegen/es2017 26590 ns/iter (± 50) 26216 ns/iter (± 66) 1.01
es/full/codegen/es2018 26589 ns/iter (± 123) 26217 ns/iter (± 51) 1.01
es/full/codegen/es2019 26506 ns/iter (± 52) 26266 ns/iter (± 56) 1.01
es/full/codegen/es2020 26491 ns/iter (± 62) 26204 ns/iter (± 53) 1.01
es/full/all/es3 180926987 ns/iter (± 2985911) 182118939 ns/iter (± 4395826) 0.99
es/full/all/es5 173212713 ns/iter (± 3258910) 173153943 ns/iter (± 2533095) 1.00
es/full/all/es2015 135932165 ns/iter (± 1085418) 131529213 ns/iter (± 1877953) 1.03
es/full/all/es2016 134014489 ns/iter (± 2431510) 129487343 ns/iter (± 2301366) 1.03
es/full/all/es2017 131675577 ns/iter (± 2043211) 131755581 ns/iter (± 2542642) 1.00
es/full/all/es2018 128537029 ns/iter (± 2284060) 125058826 ns/iter (± 2054705) 1.03
es/full/all/es2019 125026460 ns/iter (± 1660441) 124583856 ns/iter (± 1818713) 1.00
es/full/all/es2020 118460641 ns/iter (± 788665) 117402772 ns/iter (± 787173) 1.01
es/full/parser 537212 ns/iter (± 8157) 524539 ns/iter (± 7570) 1.02
es/full/base/fixer 22348 ns/iter (± 29) 22255 ns/iter (± 61) 1.00
es/full/base/resolver_and_hygiene 82189 ns/iter (± 176) 81919 ns/iter (± 336) 1.00
serialization of ast node 125 ns/iter (± 0) 124 ns/iter (± 0) 1.01
serialization of serde 127 ns/iter (± 0) 126 ns/iter (± 0) 1.01
css/minify/libraries/bootstrap 28468297 ns/iter (± 214616) 28155451 ns/iter (± 156577) 1.01
css/visitor/compare/clone 2095838 ns/iter (± 17677) 2093994 ns/iter (± 23110) 1.00
css/visitor/compare/visit_mut_span 2257958 ns/iter (± 50065) 2291048 ns/iter (± 5467) 0.99
css/visitor/compare/visit_mut_span_panic 2332797 ns/iter (± 5178) 2324925 ns/iter (± 6988) 1.00
css/visitor/compare/fold_span 3032901 ns/iter (± 24048) 3066896 ns/iter (± 16553) 0.99
css/visitor/compare/fold_span_panic 3218762 ns/iter (± 28690) 3190702 ns/iter (± 13638) 1.01
css/lexer/bootstrap_5_1_3 5145481 ns/iter (± 13142) 5172232 ns/iter (± 14214) 0.99
css/lexer/foundation_6_7_4 4341172 ns/iter (± 4114) 4356712 ns/iter (± 6646) 1.00
css/lexer/tailwind_3_1_1 823524 ns/iter (± 539) 824249 ns/iter (± 386) 1.00
css/parser/bootstrap_5_1_3 21960790 ns/iter (± 81135) 21546895 ns/iter (± 39277) 1.02
css/parser/foundation_6_7_4 17597065 ns/iter (± 108897) 17192054 ns/iter (± 18474) 1.02
css/parser/tailwind_3_1_1 3337868 ns/iter (± 2897) 3308537 ns/iter (± 3965) 1.01
es/codegen/colors 330272 ns/iter (± 186667) 329226 ns/iter (± 184407) 1.00
es/codegen/large 1230730 ns/iter (± 643705) 1186122 ns/iter (± 604787) 1.04
es/codegen/with-parser/colors 47005 ns/iter (± 287) 47380 ns/iter (± 414) 0.99
es/codegen/with-parser/large 519859 ns/iter (± 1099) 516843 ns/iter (± 966) 1.01
es/minify/libraries/antd 1418795322 ns/iter (± 8023977) 1359716034 ns/iter (± 33795727) 1.04
es/minify/libraries/d3 249947576 ns/iter (± 2587571) 246356652 ns/iter (± 2716475) 1.01
es/minify/libraries/echarts 1088201657 ns/iter (± 21325234) 1040925609 ns/iter (± 9984370) 1.05
es/minify/libraries/jquery 78586964 ns/iter (± 893411) 78132926 ns/iter (± 309337) 1.01
es/minify/libraries/lodash 94549853 ns/iter (± 1406714) 93877585 ns/iter (± 1207508) 1.01
es/minify/libraries/moment 45408642 ns/iter (± 293413) 45121426 ns/iter (± 472522) 1.01
es/minify/libraries/react 16915967 ns/iter (± 110931) 16827198 ns/iter (± 106280) 1.01
es/minify/libraries/terser 208958891 ns/iter (± 2685676) 206213010 ns/iter (± 2716610) 1.01
es/minify/libraries/three 364015445 ns/iter (± 4507882) 347516455 ns/iter (± 6179951) 1.05
es/minify/libraries/typescript 2601891341 ns/iter (± 17268816) 2591465992 ns/iter (± 21805418) 1.00
es/minify/libraries/victory 543972776 ns/iter (± 7283181) 554906893 ns/iter (± 14015021) 0.98
es/minify/libraries/vue 116260963 ns/iter (± 1047385) 114512370 ns/iter (± 748650) 1.02
es/visitor/compare/clone 2363822 ns/iter (± 9662) 2315234 ns/iter (± 4007) 1.02
es/visitor/compare/visit_mut_span 2722947 ns/iter (± 6237) 2701186 ns/iter (± 4990) 1.01
es/visitor/compare/visit_mut_span_panic 2777810 ns/iter (± 5652) 2722146 ns/iter (± 5585) 1.02
es/visitor/compare/fold_span 3850058 ns/iter (± 19245) 3790572 ns/iter (± 2891) 1.02
es/visitor/compare/fold_span_panic 3994215 ns/iter (± 11402) 3935834 ns/iter (± 6368) 1.01
es/lexer/colors 15117 ns/iter (± 32) 15015 ns/iter (± 10) 1.01
es/lexer/angular 7367328 ns/iter (± 6762) 7369800 ns/iter (± 6162) 1.00
es/lexer/backbone 988536 ns/iter (± 1223) 987139 ns/iter (± 341) 1.00
es/lexer/jquery 5509121 ns/iter (± 3815) 5500108 ns/iter (± 1266) 1.00
es/lexer/jquery mobile 8494005 ns/iter (± 9114) 8479893 ns/iter (± 4542) 1.00
es/lexer/mootools 4353318 ns/iter (± 2557) 4349887 ns/iter (± 1097) 1.00
es/lexer/underscore 827178 ns/iter (± 249) 826631 ns/iter (± 345) 1.00
es/lexer/three 25772931 ns/iter (± 20752) 25668040 ns/iter (± 45407) 1.00
es/lexer/yui 4602086 ns/iter (± 1994) 4589708 ns/iter (± 4354) 1.00
es/parser/colors 29785 ns/iter (± 103) 29249 ns/iter (± 59) 1.02
es/parser/angular 15479082 ns/iter (± 191160) 14961264 ns/iter (± 88975) 1.03
es/parser/backbone 2253915 ns/iter (± 14684) 2230304 ns/iter (± 12488) 1.01
es/parser/jquery 12325004 ns/iter (± 154262) 12096442 ns/iter (± 95701) 1.02
es/parser/jquery mobile 19674821 ns/iter (± 485728) 18812371 ns/iter (± 283603) 1.05
es/parser/mootools 9301967 ns/iter (± 49418) 9250663 ns/iter (± 21442) 1.01
es/parser/underscore 1904529 ns/iter (± 10898) 1896886 ns/iter (± 10901) 1.00
es/parser/three 56320967 ns/iter (± 1369436) 54755638 ns/iter (± 991942) 1.03
es/parser/yui 9290268 ns/iter (± 53548) 9202253 ns/iter (± 65163) 1.01
es/preset-env/usage/builtin_type 142862 ns/iter (± 34536) 144199 ns/iter (± 35717) 0.99
es/preset-env/usage/property 20750 ns/iter (± 18) 20221 ns/iter (± 67) 1.03
es/resolver/typescript 114212512 ns/iter (± 1560753) 111774807 ns/iter (± 2359380) 1.02
es/fixer/typescript 85227025 ns/iter (± 613225) 84307972 ns/iter (± 658521) 1.01
es/hygiene/typescript 181278146 ns/iter (± 1391232) 179346487 ns/iter (± 1542237) 1.01
es/resolver_with_hygiene/typescript 328369692 ns/iter (± 2196592) 313275003 ns/iter (± 5201533) 1.05
es/visitor/base-perf/module_clone 79258 ns/iter (± 1278) 79390 ns/iter (± 1105) 1.00
es/visitor/base-perf/fold_empty 89808 ns/iter (± 1313) 88790 ns/iter (± 1363) 1.01
es/visitor/base-perf/fold_noop_impl_all 91084 ns/iter (± 1275) 89189 ns/iter (± 1538) 1.02
es/visitor/base-perf/fold_noop_impl_vec 91568 ns/iter (± 783) 89828 ns/iter (± 1428) 1.02
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 57 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 54 ns/iter (± 0) 60 ns/iter (± 0) 0.90
es/visitor/base-perf/boxing_boxed 104 ns/iter (± 0) 101 ns/iter (± 0) 1.03
es/visitor/base-perf/boxing_unboxed 98 ns/iter (± 0) 98 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3495 ns/iter (± 56) 3534 ns/iter (± 43) 0.99
es/base/parallel/resolver/typescript 5484842320 ns/iter (± 473209810) 5580125237 ns/iter (± 543414760) 0.98
es/base/parallel/hygiene/typescript 2152710308 ns/iter (± 22805801) 2150488631 ns/iter (± 25314924) 1.00
misc/visitors/time-complexity/time 5 101 ns/iter (± 0) 98 ns/iter (± 0) 1.03
misc/visitors/time-complexity/time 10 352 ns/iter (± 0) 334 ns/iter (± 2) 1.05
misc/visitors/time-complexity/time 15 700 ns/iter (± 3) 695 ns/iter (± 14) 1.01
misc/visitors/time-complexity/time 20 1335 ns/iter (± 8) 1266 ns/iter (± 1) 1.05
misc/visitors/time-complexity/time 40 6865 ns/iter (± 23) 6753 ns/iter (± 67) 1.02
misc/visitors/time-complexity/time 60 17392 ns/iter (± 24) 17273 ns/iter (± 31) 1.01
es/full-target/es2016 250003 ns/iter (± 628) 249682 ns/iter (± 408) 1.00
es/full-target/es2017 240888 ns/iter (± 439) 242130 ns/iter (± 328) 0.99
es/full-target/es2018 230369 ns/iter (± 858) 231300 ns/iter (± 325) 1.00
es2020_nullish_coalescing 90777 ns/iter (± 561) 90720 ns/iter (± 601) 1.00
es2020_optional_chaining 122089 ns/iter (± 789) 123995 ns/iter (± 492) 0.98
es2022_class_properties 145375 ns/iter (± 655) 146162 ns/iter (± 308) 0.99
es2018_object_rest_spread 93408 ns/iter (± 495) 94388 ns/iter (± 243) 0.99
es2019_optional_catch_binding 82784 ns/iter (± 454) 84057 ns/iter (± 163) 0.98
es2017_async_to_generator 83718 ns/iter (± 543) 84239 ns/iter (± 186) 0.99
es2016_exponentiation 87999 ns/iter (± 305) 88154 ns/iter (± 266) 1.00
es2015_arrow 92721 ns/iter (± 583) 92599 ns/iter (± 310) 1.00
es2015_block_scoped_fn 89597 ns/iter (± 584) 89968 ns/iter (± 210) 1.00
es2015_block_scoping 167169 ns/iter (± 1079) 167975 ns/iter (± 384) 1.00

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

Please sign in to comment.