@@ -58,6 +58,7 @@ import {
58
58
ConstructorDeclaration ,
59
59
ConstructorTypeNode ,
60
60
ConstructSignatureDeclaration ,
61
+ containsObjectRestOrSpread ,
61
62
ContinueStatement ,
62
63
createBaseNodeFactory ,
63
64
createNodeConverters ,
@@ -114,7 +115,6 @@ import {
114
115
getAllUnscopedEmitHelpers ,
115
116
getBuildInfo ,
116
117
getCommentRange ,
117
- getElementsOfBindingOrAssignmentPattern ,
118
118
getEmitFlags ,
119
119
getIdentifierTypeArguments ,
120
120
getJSDocTypeAliasName ,
@@ -124,7 +124,6 @@ import {
124
124
getSourceMapRange ,
125
125
getSyntheticLeadingComments ,
126
126
getSyntheticTrailingComments ,
127
- getTargetOfBindingOrAssignmentElement ,
128
127
getTextOfIdentifierOrLiteral ,
129
128
hasInvalidEscape ,
130
129
HasModifiers ,
@@ -150,7 +149,6 @@ import {
150
149
isArray ,
151
150
isArrayLiteralExpression ,
152
151
isArrowFunction ,
153
- isAssignmentPattern ,
154
152
isBinaryExpression ,
155
153
isCallChain ,
156
154
isClassDeclaration ,
@@ -3326,24 +3324,7 @@ export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNode
3326
3324
}
3327
3325
3328
3326
function propagateAssignmentPatternFlags ( node : AssignmentPattern ) : TransformFlags {
3329
- if ( node . transformFlags & TransformFlags . ContainsObjectRestOrSpread ) return TransformFlags . ContainsObjectRestOrSpread ;
3330
- if ( node . transformFlags & TransformFlags . ContainsES2018 ) {
3331
- // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c'
3332
- // will not be correctly interpreted by the ES2018 transformer
3333
- for ( const element of getElementsOfBindingOrAssignmentPattern ( node ) ) {
3334
- const target = getTargetOfBindingOrAssignmentElement ( element ) ;
3335
- if ( target && isAssignmentPattern ( target ) ) {
3336
- if ( target . transformFlags & TransformFlags . ContainsObjectRestOrSpread ) {
3337
- return TransformFlags . ContainsObjectRestOrSpread ;
3338
- }
3339
- if ( target . transformFlags & TransformFlags . ContainsES2018 ) {
3340
- const flags = propagateAssignmentPatternFlags ( target ) ;
3341
- if ( flags ) return flags ;
3342
- }
3343
- }
3344
- }
3345
- }
3346
- return TransformFlags . None ;
3327
+ return containsObjectRestOrSpread ( node ) ? TransformFlags . ContainsObjectRestOrSpread : TransformFlags . None ;
3347
3328
}
3348
3329
3349
3330
// @api
0 commit comments