Skip to content

Commit c57307d

Browse files
authoredNov 20, 2022
refactor(es): Remove settings related to privateInObject (#6468)
1 parent 40ad709 commit c57307d

File tree

13 files changed

+29
-34
lines changed

13 files changed

+29
-34
lines changed
 

‎crates/swc/src/builder.rs

-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use swc_ecma_minifier::option::{terser::TerserTopLevelOptions, MinifyOptions};
1717
use swc_ecma_parser::Syntax;
1818
use swc_ecma_transforms::{
1919
compat,
20-
compat::es2022::private_in_object,
2120
feature::{enable_available_feature_from_es_version, FeatureFlag},
2221
fixer::{fixer, paren_remover},
2322
helpers, hygiene,
@@ -330,7 +329,6 @@ impl<'a, 'b, P: swc_ecma_visit::Fold> PassBuilder<'a, 'b, P> {
330329
paren_remover(comments.map(|v| v as &dyn Comments)),
331330
self.fixer
332331
),
333-
Optional::new(private_in_object(), syntax.private_in_object()),
334332
compat_pass,
335333
// module / helper
336334
Optional::new(

‎crates/swc/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,6 @@ impl Compiler {
10091009
decorators: true,
10101010
decorators_before_export: true,
10111011
import_assertions: true,
1012-
private_in_object: true,
10131012
..Default::default()
10141013
}),
10151014
IsModule::Bool(true),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"jsc": {
3+
"parser": {
4+
"syntax": "ecmascript"
5+
},
6+
"target": "es5"
7+
},
8+
"module": {
9+
"type": "es6"
10+
},
11+
"isModule": true
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
class x { static #y = #y in x ; }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import _class_call_check from "@swc/helpers/src/_class_call_check.mjs";
2+
var x = function x() {
3+
"use strict";
4+
_class_call_check(this, x);
5+
};
6+
var _y = {
7+
writable: true,
8+
value: x === x
9+
};
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
//// [privateNameInInExpressionUnused.ts]
2-
var _brand_check_brand = new WeakSet();
32
class Foo {
43
#unused;
5-
#brand = void _brand_check_brand.add(this);
4+
#brand;
65
isFoo(v) {
76
// This should count as using/reading '#brand'
8-
return _brand_check_brand.has(v);
7+
return #brand in v;
98
}
109
}
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
//// [privateNameInInExpressionUnused.ts]
2-
new WeakSet();

‎crates/swc_ecma_parser/src/lib.rs

-12
Original file line numberDiff line numberDiff line change
@@ -238,15 +238,6 @@ impl Syntax {
238238
}
239239
}
240240

241-
pub fn private_in_object(self) -> bool {
242-
match self {
243-
Syntax::Es(EsConfig {
244-
private_in_object, ..
245-
}) => private_in_object,
246-
Syntax::Typescript(_) => true,
247-
}
248-
}
249-
250241
pub(crate) fn allow_super_outside_method(self) -> bool {
251242
match self {
252243
Syntax::Es(EsConfig {
@@ -321,9 +312,6 @@ pub struct EsConfig {
321312
#[serde(default)]
322313
pub import_assertions: bool,
323314

324-
#[serde(default, rename = "privateInObject")]
325-
pub private_in_object: bool,
326-
327315
#[serde(default, rename = "allowSuperOutsideMethod")]
328316
pub allow_super_outside_method: bool,
329317

‎crates/swc_ecma_parser/src/parser/expr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ impl<I: Tokens> Parser<I> {
487487
}
488488
}
489489

490-
if self.input.syntax().private_in_object() && eat!(self, '#') {
490+
if eat!(self, '#') {
491491
let id = self.parse_ident_name()?;
492492
return Ok(Box::new(Expr::PrivateName(PrivateName {
493493
span: span!(self, start),
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

2-
x Unexpected token `#`. Expected this, import, async, function, [ for array literal, { for object literal, @ for decorator, function, class, null, true, false, number, bigint, string, regexp, `
3-
| for template literal, (, or an identifier
2+
x Expected ident
43
,-[$DIR/tests/test262-parser/fail/c3731145e0e65d1d.js:1:1]
54
1 | #=
6-
: ^
5+
: ^
76
`----

‎crates/swc_ecma_transforms_compat/tests/es2015_new_target.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use std::{fs::read_to_string, path::PathBuf};
22

33
use serde::Deserialize;
44
use swc_common::{chain, Mark};
5-
use swc_ecma_parser::{EsConfig, Syntax};
65
use swc_ecma_transforms_base::pass::noop;
76
use swc_ecma_transforms_compat::{
87
es2015::{arrow, classes, new_target::new_target},
@@ -96,10 +95,7 @@ fn fixture(input: PathBuf) {
9695

9796
let output = input.parent().unwrap().join("output.js");
9897
test_fixture(
99-
Syntax::Es(EsConfig {
100-
private_in_object: true,
101-
..Default::default()
102-
}),
98+
Default::default(),
10399
&|t| get_passes(t, &options.plugins),
104100
&input,
105101
&output,

‎crates/swc_ecma_transforms_compat/tests/es2022_private_in_object.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use std::path::PathBuf;
22

33
use serde::Deserialize;
44
use swc_common::chain;
5-
use swc_ecma_parser::{EsConfig, Syntax};
65
use swc_ecma_transforms_base::pass::noop;
76
use swc_ecma_transforms_compat::{
87
es2015::classes,
@@ -32,10 +31,7 @@ fn fixture(input: PathBuf) {
3231

3332
let output = parent.join("output.js");
3433
test_fixture(
35-
Syntax::Es(EsConfig {
36-
private_in_object: true,
37-
..Default::default()
38-
}),
34+
Default::default(),
3935
&|t| {
4036
let mut pass: Box<dyn Fold> = Box::new(noop());
4137

‎crates/swc_ecma_transforms_typescript/tests/strip_correctness.rs

-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ fn identity(entry: PathBuf) {
236236
decorators: true,
237237
decorators_before_export: true,
238238
export_default_from: true,
239-
private_in_object: true,
240239
import_assertions: true,
241240
allow_super_outside_method: true,
242241
..Default::default()

1 commit comments

Comments
 (1)

github-actions[bot] commented on Nov 21, 2022

@github-actions[bot]

Benchmark

Benchmark suite Current: c57307d Previous: 08a9e21 Ratio
es/full/bugs-1 374285 ns/iter (± 24614) 343924 ns/iter (± 22485) 1.09
es/full/minify/libraries/antd 2009259990 ns/iter (± 40646178) 1843749333 ns/iter (± 35421072) 1.09
es/full/minify/libraries/d3 430972970 ns/iter (± 12555504) 387498447 ns/iter (± 5737899) 1.11
es/full/minify/libraries/echarts 1662554773 ns/iter (± 23161288) 1572904733 ns/iter (± 20004804) 1.06
es/full/minify/libraries/jquery 106754203 ns/iter (± 4099451) 98456298 ns/iter (± 1250161) 1.08
es/full/minify/libraries/lodash 137363179 ns/iter (± 8907230) 118166720 ns/iter (± 2299627) 1.16
es/full/minify/libraries/moment 67505846 ns/iter (± 2041159) 59148603 ns/iter (± 1227695) 1.14
es/full/minify/libraries/react 22600132 ns/iter (± 1324463) 19805763 ns/iter (± 491219) 1.14
es/full/minify/libraries/terser 353253471 ns/iter (± 7715785) 294796142 ns/iter (± 8290835) 1.20
es/full/minify/libraries/three 616425752 ns/iter (± 10261402) 565727456 ns/iter (± 7292018) 1.09
es/full/minify/libraries/typescript 3714122264 ns/iter (± 86495381) 3371443301 ns/iter (± 25883126) 1.10
es/full/minify/libraries/victory 875264815 ns/iter (± 25279076) 813563327 ns/iter (± 9071427) 1.08
es/full/minify/libraries/vue 168591942 ns/iter (± 4272102) 149708038 ns/iter (± 2072901) 1.13
es/full/codegen/es3 35041 ns/iter (± 2859) 32100 ns/iter (± 588) 1.09
es/full/codegen/es5 34826 ns/iter (± 1843) 32174 ns/iter (± 943) 1.08
es/full/codegen/es2015 34510 ns/iter (± 1941) 32209 ns/iter (± 599) 1.07
es/full/codegen/es2016 34866 ns/iter (± 3230) 32185 ns/iter (± 691) 1.08
es/full/codegen/es2017 35244 ns/iter (± 3399) 32113 ns/iter (± 1559) 1.10
es/full/codegen/es2018 34830 ns/iter (± 3021) 32131 ns/iter (± 932) 1.08
es/full/codegen/es2019 34946 ns/iter (± 6448) 32293 ns/iter (± 1393) 1.08
es/full/codegen/es2020 35269 ns/iter (± 1905) 32442 ns/iter (± 1290) 1.09
es/full/all/es3 206383691 ns/iter (± 12014761) 186157363 ns/iter (± 4084748) 1.11
es/full/all/es5 192097152 ns/iter (± 7633575) 176933693 ns/iter (± 3280462) 1.09
es/full/all/es2015 156620071 ns/iter (± 10149761) 141729882 ns/iter (± 9827151) 1.11
es/full/all/es2016 155846925 ns/iter (± 10365733) 140943158 ns/iter (± 2932572) 1.11
es/full/all/es2017 156069905 ns/iter (± 10071350) 140890007 ns/iter (± 7364971) 1.11
es/full/all/es2018 152076254 ns/iter (± 10577652) 140345275 ns/iter (± 8031443) 1.08
es/full/all/es2019 150651751 ns/iter (± 12613714) 138207241 ns/iter (± 4187062) 1.09
es/full/all/es2020 147469465 ns/iter (± 11532949) 132581196 ns/iter (± 2728081) 1.11
es/full/parser 754708 ns/iter (± 50669) 693874 ns/iter (± 30441) 1.09
es/full/base/fixer 28089 ns/iter (± 3589) 25086 ns/iter (± 896) 1.12
es/full/base/resolver_and_hygiene 95214 ns/iter (± 9003) 88295 ns/iter (± 6324) 1.08
serialization of ast node 232 ns/iter (± 37) 212 ns/iter (± 9) 1.09
serialization of serde 228 ns/iter (± 24) 217 ns/iter (± 7) 1.05

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

Please sign in to comment.