File tree 2 files changed +27
-7
lines changed
crates/swc_ecma_transforms_optimization
2 files changed +27
-7
lines changed Original file line number Diff line number Diff line change @@ -161,11 +161,11 @@ impl VisitMut for ConstModules {
161
161
}
162
162
}
163
163
Expr :: Member ( MemberExpr { obj, prop, .. } ) if obj. is_ident ( ) => {
164
- let member_obj = obj. as_ident ( ) . unwrap ( ) ;
165
-
166
- if self . scope . namespace . contains ( & member_obj. to_id ( ) ) {
167
- let module_name = & member_obj. sym ;
168
-
164
+ if let Some ( module_name ) = obj
165
+ . as_ident ( )
166
+ . filter ( |member_obj| self . scope . namespace . contains ( & member_obj. to_id ( ) ) )
167
+ . map ( |member_obj| & member_obj. sym )
168
+ {
169
169
let imported_name = match prop {
170
170
MemberProp :: Ident ( ref id) => & id. sym ,
171
171
MemberProp :: Computed ( ref p) => match & * p. expr {
@@ -188,10 +188,12 @@ impl VisitMut for ConstModules {
188
188
} ) ;
189
189
190
190
* n = ( * * value) . clone ( ) ;
191
+ } else {
192
+ n. visit_mut_children_with ( self ) ;
191
193
}
192
194
}
193
- e => {
194
- e . visit_mut_children_with ( self ) ;
195
+ _ => {
196
+ n . visit_mut_children_with ( self ) ;
195
197
}
196
198
} ;
197
199
}
Original file line number Diff line number Diff line change @@ -116,3 +116,21 @@ console.log(foo["bar"])
116
116
console.log(true);
117
117
"#
118
118
) ;
119
+
120
+ test ! (
121
+ :: swc_ecma_parser:: Syntax :: default ( ) ,
122
+ |tester| tr(
123
+ tester,
124
+ & [ ( "testModule" , & [ ( "testMap" , "{ 'var': 'value' }" ) ] ) ]
125
+ ) ,
126
+ issue_7025,
127
+ r#"
128
+ import { testMap } from "testModule";
129
+ testMap['var'];
130
+ "# ,
131
+ r#"
132
+ ({
133
+ 'var': 'value'
134
+ })['var'];
135
+ "#
136
+ ) ;
You can’t perform that action at this time.
1 commit comments
github-actions[bot] commentedon Mar 7, 2023
Benchmark
es/full/bugs-1
301094
ns/iter (± 12497
)306623
ns/iter (± 11631
)0.98
es/full/minify/libraries/antd
1657709476
ns/iter (± 26184733
)1638608675
ns/iter (± 21909079
)1.01
es/full/minify/libraries/d3
309924932
ns/iter (± 2294371
)289195906
ns/iter (± 10648115
)1.07
es/full/minify/libraries/echarts
1285100617
ns/iter (± 13493751
)1241589547
ns/iter (± 10768243
)1.04
es/full/minify/libraries/jquery
94742408
ns/iter (± 961116
)89922862
ns/iter (± 570943
)1.05
es/full/minify/libraries/lodash
111173721
ns/iter (± 1092952
)106286057
ns/iter (± 1058628
)1.05
es/full/minify/libraries/moment
55361888
ns/iter (± 860601
)51916926
ns/iter (± 383381
)1.07
es/full/minify/libraries/react
20102284
ns/iter (± 128852
)19059611
ns/iter (± 88890
)1.05
es/full/minify/libraries/terser
270505273
ns/iter (± 4628189
)240904371
ns/iter (± 3288501
)1.12
es/full/minify/libraries/three
474770831
ns/iter (± 4787310
)431118030
ns/iter (± 2848130
)1.10
es/full/minify/libraries/typescript
3146761044
ns/iter (± 25694488
)3130041728
ns/iter (± 26289235
)1.01
es/full/minify/libraries/victory
733607838
ns/iter (± 8363041
)655384265
ns/iter (± 8368443
)1.12
es/full/minify/libraries/vue
141280955
ns/iter (± 3086644
)128664545
ns/iter (± 1034484
)1.10
es/full/codegen/es3
25927
ns/iter (± 49
)25712
ns/iter (± 180
)1.01
es/full/codegen/es5
25896
ns/iter (± 124
)26044
ns/iter (± 76
)0.99
es/full/codegen/es2015
25891
ns/iter (± 31
)25776
ns/iter (± 116
)1.00
es/full/codegen/es2016
25832
ns/iter (± 60
)25618
ns/iter (± 114
)1.01
es/full/codegen/es2017
25858
ns/iter (± 45
)25658
ns/iter (± 111
)1.01
es/full/codegen/es2018
25853
ns/iter (± 29
)26111
ns/iter (± 174
)0.99
es/full/codegen/es2019
25869
ns/iter (± 62
)26294
ns/iter (± 86
)0.98
es/full/codegen/es2020
25893
ns/iter (± 51
)26219
ns/iter (± 71
)0.99
es/full/all/es3
172569114
ns/iter (± 3187681
)172236773
ns/iter (± 2787063
)1.00
es/full/all/es5
163946971
ns/iter (± 2186911
)164580444
ns/iter (± 2534544
)1.00
es/full/all/es2015
128657414
ns/iter (± 2328911
)125573663
ns/iter (± 1951023
)1.02
es/full/all/es2016
125998695
ns/iter (± 1247052
)125142746
ns/iter (± 2364566
)1.01
es/full/all/es2017
124492579
ns/iter (± 2649321
)123687102
ns/iter (± 961224
)1.01
es/full/all/es2018
123527471
ns/iter (± 1513041
)121372851
ns/iter (± 785666
)1.02
es/full/all/es2019
120771687
ns/iter (± 1348795
)119369526
ns/iter (± 560845
)1.01
es/full/all/es2020
116138959
ns/iter (± 1236819
)114985316
ns/iter (± 853334
)1.01
es/full/parser
533566
ns/iter (± 8892
)538738
ns/iter (± 8837
)0.99
es/full/base/fixer
22025
ns/iter (± 42
)22016
ns/iter (± 44
)1.00
es/full/base/resolver_and_hygiene
81943
ns/iter (± 851
)80905
ns/iter (± 344
)1.01
serialization of ast node
146
ns/iter (± 0
)143
ns/iter (± 1
)1.02
serialization of serde
134
ns/iter (± 0
)132
ns/iter (± 0
)1.02
css/minify/libraries/bootstrap
29146530
ns/iter (± 312025
)27523456
ns/iter (± 113597
)1.06
css/visitor/compare/clone
2080925
ns/iter (± 16110
)2054303
ns/iter (± 13423
)1.01
css/visitor/compare/visit_mut_span
2255078
ns/iter (± 23667
)2241906
ns/iter (± 5767
)1.01
css/visitor/compare/visit_mut_span_panic
2358798
ns/iter (± 13092
)2304037
ns/iter (± 37748
)1.02
css/visitor/compare/fold_span
3067214
ns/iter (± 22596
)3006363
ns/iter (± 21519
)1.02
css/visitor/compare/fold_span_panic
3204537
ns/iter (± 79369
)3105584
ns/iter (± 20907
)1.03
css/lexer/bootstrap_5_1_3
5226153
ns/iter (± 6005
)5114115
ns/iter (± 45331
)1.02
css/lexer/foundation_6_7_4
4403684
ns/iter (± 1518
)4298407
ns/iter (± 11536
)1.02
css/lexer/tailwind_3_1_1
838093
ns/iter (± 140
)817917
ns/iter (± 6016
)1.02
css/parser/bootstrap_5_1_3
22349072
ns/iter (± 106895
)21198577
ns/iter (± 107422
)1.05
css/parser/foundation_6_7_4
17550616
ns/iter (± 39781
)16968142
ns/iter (± 129154
)1.03
css/parser/tailwind_3_1_1
3323135
ns/iter (± 2365
)3269098
ns/iter (± 25905
)1.02
es/codegen/colors
317519
ns/iter (± 178285
)334090
ns/iter (± 189034
)0.95
es/codegen/large
1229180
ns/iter (± 645088
)1220180
ns/iter (± 620932
)1.01
es/codegen/with-parser/colors
48172
ns/iter (± 137
)47061
ns/iter (± 477
)1.02
es/codegen/with-parser/large
525595
ns/iter (± 1739
)514841
ns/iter (± 2797
)1.02
es/minify/libraries/antd
1484095763
ns/iter (± 16912728
)1459294261
ns/iter (± 21997822
)1.02
es/minify/libraries/d3
284777710
ns/iter (± 4605698
)249811570
ns/iter (± 1969325
)1.14
es/minify/libraries/echarts
1129723085
ns/iter (± 5612154
)1067928249
ns/iter (± 8429624
)1.06
es/minify/libraries/jquery
82638604
ns/iter (± 682209
)78658774
ns/iter (± 326003
)1.05
es/minify/libraries/lodash
100268650
ns/iter (± 1225149
)95227304
ns/iter (± 1243134
)1.05
es/minify/libraries/moment
48521053
ns/iter (± 594667
)45855746
ns/iter (± 423403
)1.06
es/minify/libraries/react
17946989
ns/iter (± 189648
)17156751
ns/iter (± 83590
)1.05
es/minify/libraries/terser
229492340
ns/iter (± 3252485
)207300249
ns/iter (± 1503271
)1.11
es/minify/libraries/three
400608172
ns/iter (± 6935948
)359135378
ns/iter (± 3046387
)1.12
es/minify/libraries/typescript
2644231988
ns/iter (± 18385055
)2693183661
ns/iter (± 13237368
)0.98
es/minify/libraries/victory
606842513
ns/iter (± 12731588
)554536360
ns/iter (± 7315873
)1.09
es/minify/libraries/vue
121984304
ns/iter (± 1818489
)116004541
ns/iter (± 1169784
)1.05
es/visitor/compare/clone
2407855
ns/iter (± 41605
)2377260
ns/iter (± 9655
)1.01
es/visitor/compare/visit_mut_span
2808692
ns/iter (± 24969
)2731263
ns/iter (± 12467
)1.03
es/visitor/compare/visit_mut_span_panic
2903719
ns/iter (± 45079
)2778131
ns/iter (± 9659
)1.05
es/visitor/compare/fold_span
4007481
ns/iter (± 43935
)3843085
ns/iter (± 25363
)1.04
es/visitor/compare/fold_span_panic
4252276
ns/iter (± 33943
)3965303
ns/iter (± 22039
)1.07
es/lexer/colors
16208
ns/iter (± 16
)15873
ns/iter (± 84
)1.02
es/lexer/angular
7778734
ns/iter (± 4500
)7679320
ns/iter (± 33044
)1.01
es/lexer/backbone
1002453
ns/iter (± 452
)984615
ns/iter (± 3539
)1.02
es/lexer/jquery
5583851
ns/iter (± 3785
)5480618
ns/iter (± 19211
)1.02
es/lexer/jquery mobile
8555946
ns/iter (± 9843
)8403405
ns/iter (± 47252
)1.02
es/lexer/mootools
4387132
ns/iter (± 1758
)4318290
ns/iter (± 26486
)1.02
es/lexer/underscore
835189
ns/iter (± 367
)821620
ns/iter (± 7006
)1.02
es/lexer/three
26029861
ns/iter (± 16657
)25683874
ns/iter (± 149592
)1.01
es/lexer/yui
4778173
ns/iter (± 2803
)4682680
ns/iter (± 18286
)1.02
es/parser/colors
30316
ns/iter (± 31
)29971
ns/iter (± 169
)1.01
es/parser/angular
16622859
ns/iter (± 192007
)15363694
ns/iter (± 113564
)1.08
es/parser/backbone
2291867
ns/iter (± 10610
)2236527
ns/iter (± 13170
)1.02
es/parser/jquery
12880922
ns/iter (± 97217
)12047238
ns/iter (± 60318
)1.07
es/parser/jquery mobile
20819499
ns/iter (± 141022
)18746576
ns/iter (± 196817
)1.11
es/parser/mootools
9570930
ns/iter (± 31315
)9251061
ns/iter (± 38197
)1.03
es/parser/underscore
1929414
ns/iter (± 10451
)1900729
ns/iter (± 17271
)1.02
es/parser/three
58761672
ns/iter (± 107655
)55091860
ns/iter (± 765119
)1.07
es/parser/yui
10001697
ns/iter (± 158043
)9308875
ns/iter (± 67560
)1.07
es/preset-env/usage/builtin_type
142977
ns/iter (± 32325
)150654
ns/iter (± 34272
)0.95
es/preset-env/usage/property
21206
ns/iter (± 57
)20716
ns/iter (± 121
)1.02
es/resolver/typescript
114819551
ns/iter (± 1667491
)120981493
ns/iter (± 2239173
)0.95
es/fixer/typescript
86413546
ns/iter (± 347915
)93800788
ns/iter (± 1409206
)0.92
es/hygiene/typescript
186742529
ns/iter (± 1785878
)196841859
ns/iter (± 1239643
)0.95
es/resolver_with_hygiene/typescript
320004522
ns/iter (± 1716310
)326753982
ns/iter (± 1658531
)0.98
es/visitor/base-perf/module_clone
75277
ns/iter (± 1896
)75010
ns/iter (± 2151
)1.00
es/visitor/base-perf/fold_empty
85181
ns/iter (± 1334
)84242
ns/iter (± 1749
)1.01
es/visitor/base-perf/fold_noop_impl_all
85950
ns/iter (± 1908
)85766
ns/iter (± 2174
)1.00
es/visitor/base-perf/fold_noop_impl_vec
86220
ns/iter (± 997
)85056
ns/iter (± 1143
)1.01
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)54
ns/iter (± 0
)1.04
es/visitor/base-perf/boxing_unboxed_clone
59
ns/iter (± 0
)58
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_boxed
105
ns/iter (± 0
)100
ns/iter (± 0
)1.05
es/visitor/base-perf/boxing_unboxed
103
ns/iter (± 0
)101
ns/iter (± 0
)1.02
es/visitor/base-perf/visit_contains_this
3388
ns/iter (± 86
)3492
ns/iter (± 62
)0.97
es/base/parallel/resolver/typescript
5430738707
ns/iter (± 338429544
)5398868439
ns/iter (± 556093230
)1.01
es/base/parallel/hygiene/typescript
2122667238
ns/iter (± 31991894
)2372514527
ns/iter (± 20716514
)0.89
misc/visitors/time-complexity/time 5
101
ns/iter (± 0
)100
ns/iter (± 0
)1.01
misc/visitors/time-complexity/time 10
325
ns/iter (± 0
)327
ns/iter (± 4
)0.99
misc/visitors/time-complexity/time 15
643
ns/iter (± 0
)632
ns/iter (± 3
)1.02
misc/visitors/time-complexity/time 20
1219
ns/iter (± 4
)1190
ns/iter (± 4
)1.02
misc/visitors/time-complexity/time 40
6686
ns/iter (± 70
)6550
ns/iter (± 110
)1.02
misc/visitors/time-complexity/time 60
16976
ns/iter (± 26
)16597
ns/iter (± 53
)1.02
es/full-target/es2016
187302
ns/iter (± 444
)184297
ns/iter (± 1590
)1.02
es/full-target/es2017
182772
ns/iter (± 351
)178344
ns/iter (± 663
)1.02
es/full-target/es2018
171856
ns/iter (± 355
)168179
ns/iter (± 770
)1.02
es2020_nullish_coalescing
66906
ns/iter (± 5073
)65034
ns/iter (± 254
)1.03
es2020_optional_chaining
96402
ns/iter (± 7165
)94039
ns/iter (± 1014
)1.03
es2022_class_properties
93619
ns/iter (± 336
)91288
ns/iter (± 350
)1.03
es2018_object_rest_spread
71715
ns/iter (± 161
)69608
ns/iter (± 301
)1.03
es2019_optional_catch_binding
61461
ns/iter (± 245
)59838
ns/iter (± 501
)1.03
es2017_async_to_generator
61834
ns/iter (± 152
)59951
ns/iter (± 294
)1.03
es2016_exponentiation
65427
ns/iter (± 124
)63523
ns/iter (± 276
)1.03
es2015_arrow
70560
ns/iter (± 187
)68984
ns/iter (± 362
)1.02
es2015_block_scoped_fn
66597
ns/iter (± 106
)64584
ns/iter (± 329
)1.03
es2015_block_scoping
145551
ns/iter (± 9171
)146137
ns/iter (± 9885
)1.00
es2015_classes
117494
ns/iter (± 319
)114574
ns/iter (± 982
)1.03
es2015_computed_props
61434
ns/iter (± 46
)59795
ns/iter (± 202
)1.03
es2015_destructuring
117146
ns/iter (± 172
)113484
ns/iter (± 855
)1.03
es2015_duplicate_keys
63897
ns/iter (± 83
)61766
ns/iter (± 383
)1.03
es2015_parameters
79620
ns/iter (± 165
)77848
ns/iter (± 626
)1.02
es2015_fn_name
66931
ns/iter (± 447
)64488
ns/iter (± 601
)1.04
es2015_for_of
64565
ns/iter (± 89
)62307
ns/iter (± 261
)1.04
es2015_instanceof
63216
ns/iter (± 78
)61529
ns/iter (± 243
)1.03
es2015_shorthand_property
61203
ns/iter (± 93
)59400
ns/iter (± 290
)1.03
es2015_spread
61032
ns/iter (± 52
)59611
ns/iter (± 226
)1.02
es2015_sticky_regex
62545
ns/iter (± 63
)60896
ns/iter (± 355
)1.03
es2015_typeof_symbol
62410
ns/iter (± 58
)60823
ns/iter (± 395
)1.03
es/transform/baseline/base
51926
ns/iter (± 73
)50471
ns/iter (± 316
)1.03
es/transform/baseline/common_reserved_word
62814
ns/iter (± 85
)61191
ns/iter (± 391
)1.03
es/transform/baseline/common_typescript
141751
ns/iter (± 116
)139462
ns/iter (± 2301
)1.02
es/target/es3
170337
ns/iter (± 244
)165642
ns/iter (± 574
)1.03
es/target/es2015
634409
ns/iter (± 1376
)615039
ns/iter (± 3193
)1.03
es/target/es2016
65349
ns/iter (± 131
)63187
ns/iter (± 321
)1.03
es/target/es2017
61712
ns/iter (± 235
)60409
ns/iter (± 338
)1.02
es/target/es2018
81778
ns/iter (± 168
)79375
ns/iter (± 359
)1.03
es/target/es2020
132675
ns/iter (± 288
)129891
ns/iter (± 1431
)1.02
babelify-only
676163
ns/iter (± 828
)666566
ns/iter (± 4757
)1.01
parse_and_babelify_angular
44628834
ns/iter (± 468735
)44399236
ns/iter (± 1551092
)1.01
parse_and_babelify_backbone
5634092
ns/iter (± 44989
)5406443
ns/iter (± 51944
)1.04
parse_and_babelify_jquery
32428219
ns/iter (± 418705
)31811105
ns/iter (± 378589
)1.02
parse_and_babelify_jquery_mobile
55010668
ns/iter (± 580278
)53955900
ns/iter (± 543758
)1.02
parse_and_babelify_mootools
34147215
ns/iter (± 467890
)32559543
ns/iter (± 420308
)1.05
parse_and_babelify_underscore
4436841
ns/iter (± 21570
)4370569
ns/iter (± 24451
)1.02
parse_and_babelify_yui
33379805
ns/iter (± 300786
)31992824
ns/iter (± 590817
)1.04
html/minify/document/css_spec
43047686
ns/iter (± 544861
)41096955
ns/iter (± 265723
)1.05
html/minify/document/github
17782032
ns/iter (± 46362
)17072498
ns/iter (± 108565
)1.04
html/minify/document/stackoverflow
15886538
ns/iter (± 44806
)15456247
ns/iter (± 99794
)1.03
html/minify/document_fragment/css_spec
41153278
ns/iter (± 223066
)38964693
ns/iter (± 285521
)1.06
html/minify/document_fragment/github
16932161
ns/iter (± 99577
)16439108
ns/iter (± 118583
)1.03
html/minify/document_fragment/stackoverflow
15353485
ns/iter (± 43848
)14990990
ns/iter (± 218337
)1.02
html/document/visitor/compare/clone
342208
ns/iter (± 1845
)336506
ns/iter (± 3967
)1.02
html/document/visitor/compare/visit_mut_span
363535
ns/iter (± 1694
)353405
ns/iter (± 2543
)1.03
html/document/visitor/compare/visit_mut_span_panic
368957
ns/iter (± 2045
)369534
ns/iter (± 2736
)1.00
html/document/visitor/compare/fold_span
404997
ns/iter (± 2474
)395575
ns/iter (± 2503
)1.02
html/document/visitor/compare/fold_span_panic
463975
ns/iter (± 2696
)453371
ns/iter (± 3350
)1.02
html/document_fragment/visitor/compare/clone
340572
ns/iter (± 3476
)329706
ns/iter (± 2954
)1.03
html/document_fragment/visitor/compare/visit_mut_span
367229
ns/iter (± 2476
)362759
ns/iter (± 2601
)1.01
html/document_fragment/visitor/compare/visit_mut_span_panic
374562
ns/iter (± 1917
)372985
ns/iter (± 3349
)1.00
html/document_fragment/visitor/compare/fold_span
401761
ns/iter (± 2436
)396244
ns/iter (± 1965
)1.01
html/document_fragment/visitor/compare/fold_span_panic
462078
ns/iter (± 2219
)451818
ns/iter (± 3859
)1.02
html/lexer/css_2021_spec
15607143
ns/iter (± 71752
)15213265
ns/iter (± 126788
)1.03
html/lexer/github_com_17_05_2022
6054371
ns/iter (± 5014
)5890318
ns/iter (± 22596
)1.03
html/lexer/stackoverflow_com_17_05_2022
5669371
ns/iter (± 3381
)5505420
ns/iter (± 29460
)1.03
html/parser/parser_document/css_2021_spec
25836829
ns/iter (± 117726
)25002613
ns/iter (± 232460
)1.03
html/parser/parser_document/github_com_17_05_2022
8751134
ns/iter (± 5950
)8511434
ns/iter (± 30740
)1.03
html/parser/parser_document/stackoverflow_com_17_05_2022
7762600
ns/iter (± 23709
)7507888
ns/iter (± 24117
)1.03
html/parser/parser_document_fragment/css_2021_spec
26043026
ns/iter (± 215079
)24962807
ns/iter (± 163821
)1.04
html/parser/parser_document_fragment/github_com_17_05_2022
8786558
ns/iter (± 12606
)8555079
ns/iter (± 33360
)1.03
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7720493
ns/iter (± 4977
)7536663
ns/iter (± 40898
)1.02
This comment was automatically generated by workflow using github-action-benchmark.