@@ -1109,6 +1109,8 @@ namespace ts {
1109
1109
) ;
1110
1110
setChild ( node , node . constraint = constraint ) ;
1111
1111
setChild ( node , node . default = defaultType ) ;
1112
+ // extraneous nodes set by the parser
1113
+ node . expression = undefined ;
1112
1114
if ( ! skipTransformationFlags ) {
1113
1115
markTypeScriptOnly ( node ) ;
1114
1116
}
@@ -1144,6 +1146,8 @@ namespace ts {
1144
1146
) ;
1145
1147
setChild ( node , node . dotDotDotToken = dotDotDotToken ) ;
1146
1148
setChild ( node , node . questionToken = questionToken ) ;
1149
+ // extraneous nodes set by the parser
1150
+ node . jsDoc = undefined ;
1147
1151
if ( ! skipTransformationFlags ) {
1148
1152
if ( isThisIdentifier ( node . name ) ) {
1149
1153
markTypeScriptOnly ( node ) ;
@@ -1216,6 +1220,9 @@ namespace ts {
1216
1220
) ;
1217
1221
setChild ( node , node . type = type ) ;
1218
1222
setChild ( node , node . questionToken = questionToken ) ;
1223
+ // extraneous nodes set by the parser
1224
+ node . initializer = undefined ;
1225
+ node . jsDoc = undefined ;
1219
1226
if ( ! skipTransformationFlags ) {
1220
1227
markTypeScriptOnly ( node ) ;
1221
1228
}
@@ -1257,6 +1264,8 @@ namespace ts {
1257
1264
) ;
1258
1265
setChild ( node , node . questionToken = questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . QuestionToken ? questionOrExclamationToken : undefined ) ;
1259
1266
setChild ( node , node . exclamationToken = questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . ExclamationToken ? questionOrExclamationToken : undefined ) ;
1267
+ // extraneous nodes set by the parser
1268
+ node . jsDoc = undefined ;
1260
1269
if ( ! skipTransformationFlags ) {
1261
1270
if ( isComputedPropertyName ( node . name ) || ( hasStaticModifier ( node ) && node . initializer ) ) {
1262
1271
markTypeScriptClassSyntax ( node ) ;
@@ -1309,6 +1318,8 @@ namespace ts {
1309
1318
type
1310
1319
) ;
1311
1320
setChild ( node , node . questionToken = questionToken ) ;
1321
+ // extraneous nodes set by the parser
1322
+ node . jsDoc = undefined ;
1312
1323
if ( ! skipTransformationFlags ) {
1313
1324
markTypeScriptOnly ( node ) ;
1314
1325
}
@@ -1359,6 +1370,9 @@ namespace ts {
1359
1370
) ;
1360
1371
setChild ( node , node . asteriskToken = asteriskToken ) ;
1361
1372
setChild ( node , node . questionToken = questionToken ) ;
1373
+ // extraneous nodes set by the parser
1374
+ node . exclamationToken = undefined ;
1375
+ node . jsDoc = undefined ;
1362
1376
if ( ! skipTransformationFlags ) {
1363
1377
if ( questionToken ) {
1364
1378
markTypeScript ( node ) ;
@@ -1422,6 +1436,8 @@ namespace ts {
1422
1436
/*type*/ undefined ,
1423
1437
body
1424
1438
) ;
1439
+ // extraneous nodes set by the parser
1440
+ node . jsDoc = undefined ;
1425
1441
if ( ! skipTransformationFlags ) {
1426
1442
markES2015 ( node ) ;
1427
1443
}
@@ -1463,6 +1479,8 @@ namespace ts {
1463
1479
type ,
1464
1480
body
1465
1481
) ;
1482
+ // extraneous nodes set by the parser
1483
+ node . jsDoc = undefined ;
1466
1484
return finish ( node ) ;
1467
1485
}
1468
1486
@@ -1504,6 +1522,8 @@ namespace ts {
1504
1522
/*type*/ undefined ,
1505
1523
body
1506
1524
) ;
1525
+ // extraneous nodes set by the parser
1526
+ node . jsDoc = undefined ;
1507
1527
return finish ( node ) ;
1508
1528
}
1509
1529
@@ -1540,6 +1560,8 @@ namespace ts {
1540
1560
parameters ,
1541
1561
type
1542
1562
) ;
1563
+ // extraneous nodes set by the parser
1564
+ node . jsDoc = undefined ;
1543
1565
if ( ! skipTransformationFlags ) {
1544
1566
markTypeScriptOnly ( node ) ;
1545
1567
}
@@ -1575,6 +1597,8 @@ namespace ts {
1575
1597
parameters ,
1576
1598
type
1577
1599
) ;
1600
+ // extraneous nodes set by the parser
1601
+ node . jsDoc = undefined ;
1578
1602
if ( ! skipTransformationFlags ) {
1579
1603
markTypeScriptOnly ( node ) ;
1580
1604
}
@@ -1611,6 +1635,8 @@ namespace ts {
1611
1635
parameters ,
1612
1636
type
1613
1637
) ;
1638
+ // extraneous nodes set by the parser
1639
+ node . jsDoc = undefined ;
1614
1640
if ( ! skipTransformationFlags ) {
1615
1641
markTypeScriptOnly ( node ) ;
1616
1642
}
@@ -1697,6 +1723,8 @@ namespace ts {
1697
1723
parameters ,
1698
1724
type
1699
1725
) ;
1726
+ // extraneous nodes set by the parser
1727
+ node . jsDoc = undefined ;
1700
1728
if ( ! skipTransformationFlags ) {
1701
1729
markTypeScriptOnly ( node ) ;
1702
1730
}
@@ -1732,6 +1760,8 @@ namespace ts {
1732
1760
parameters ,
1733
1761
type
1734
1762
) ;
1763
+ // extraneous nodes set by the parser
1764
+ node . jsDoc = undefined ;
1735
1765
if ( ! skipTransformationFlags ) {
1736
1766
markTypeScriptOnly ( node ) ;
1737
1767
}
@@ -2165,6 +2195,7 @@ namespace ts {
2165
2195
function createPropertyAccessExpression ( expression : Expression , name : string | Identifier | PrivateIdentifier ) {
2166
2196
const node = createBaseNode < PropertyAccessExpression > ( SyntaxKind . PropertyAccessExpression ) ;
2167
2197
setChild ( node , node . expression = parenthesizerRules ( ) . parenthesizeLeftSideOfAccess ( expression ) ) ;
2198
+ node . questionDotToken = undefined ;
2168
2199
setChild ( node , node . name = asName ( name ) ) ;
2169
2200
if ( ! skipTransformationFlags ) {
2170
2201
// super method calls require a lexical 'this'
@@ -2217,6 +2248,7 @@ namespace ts {
2217
2248
function createElementAccessExpression ( expression : Expression , index : number | Expression ) {
2218
2249
const node = createBaseNode < ElementAccessExpression > ( SyntaxKind . ElementAccessExpression ) ;
2219
2250
setChild ( node , node . expression = parenthesizerRules ( ) . parenthesizeLeftSideOfAccess ( expression ) ) ;
2251
+ node . questionDotToken = undefined ;
2220
2252
setChild ( node , node . argumentExpression = asExpression ( index ) ) ;
2221
2253
if ( ! skipTransformationFlags ) {
2222
2254
// super method calls require a lexical 'this'
@@ -2269,6 +2301,7 @@ namespace ts {
2269
2301
function createCallExpression ( expression : Expression , typeArguments : readonly TypeNode [ ] | undefined , argumentsArray : readonly Expression [ ] | undefined ) {
2270
2302
const node = createBaseNode < CallExpression > ( SyntaxKind . CallExpression ) ;
2271
2303
setChild ( node , node . expression = parenthesizerRules ( ) . parenthesizeLeftSideOfAccess ( expression ) ) ;
2304
+ node . questionDotToken = undefined ;
2272
2305
setChildren ( node , node . typeArguments = asNodeArray ( typeArguments ) ) ;
2273
2306
setChildren ( node , node . arguments = parenthesizerRules ( ) . parenthesizeExpressionsOfCommaDelimitedList ( createNodeArray ( argumentsArray ) ) ) ;
2274
2307
if ( ! skipTransformationFlags ) {
@@ -2357,6 +2390,8 @@ namespace ts {
2357
2390
setChild ( node , node . tag = parenthesizerRules ( ) . parenthesizeLeftSideOfAccess ( tag ) ) ;
2358
2391
setChildren ( node , node . typeArguments = asNodeArray ( typeArguments ) ) ;
2359
2392
setChild ( node , node . template = template ) ;
2393
+ // extraneous nodes set by the parser
2394
+ node . questionDotToken = undefined ;
2360
2395
if ( ! skipTransformationFlags ) {
2361
2396
markES2015 ( node ) ;
2362
2397
if ( typeArguments ) {
@@ -2401,6 +2436,8 @@ namespace ts {
2401
2436
function createParenthesizedExpression ( expression : Expression ) {
2402
2437
const node = createBaseNode < ParenthesizedExpression > ( SyntaxKind . ParenthesizedExpression ) ;
2403
2438
setChild ( node , node . expression = expression ) ;
2439
+ // extraneous nodes set by the parser
2440
+ node . jsDoc = undefined ;
2404
2441
return finish ( node ) ;
2405
2442
}
2406
2443
@@ -2432,6 +2469,8 @@ namespace ts {
2432
2469
body
2433
2470
) ;
2434
2471
setChild ( node , node . asteriskToken = asteriskToken ) ;
2472
+ // extraneous nodes set by the parser
2473
+ node . jsDoc = undefined ;
2435
2474
if ( ! skipTransformationFlags ) {
2436
2475
if ( typeParameters ) {
2437
2476
markTypeScript ( node ) ;
@@ -2493,6 +2532,8 @@ namespace ts {
2493
2532
parenthesizerRules ( ) . parenthesizeConciseBodyOfArrowFunction ( body )
2494
2533
) ;
2495
2534
setChild ( node , node . equalsGreaterThanToken = equalsGreaterThanToken || createToken ( SyntaxKind . EqualsGreaterThanToken ) ) ;
2535
+ // extraneous nodes set by the parser
2536
+ node . jsDoc = undefined ;
2496
2537
if ( ! skipTransformationFlags ) {
2497
2538
if ( hasSyntacticModifier ( node , ModifierFlags . Async ) ) markES2017 ( node ) ;
2498
2539
markES2015 ( node ) ;
@@ -2814,6 +2855,8 @@ namespace ts {
2814
2855
heritageClauses ,
2815
2856
members
2816
2857
) ;
2858
+ // extraneous nodes set by the parser
2859
+ node . jsDoc = undefined ;
2817
2860
if ( ! skipTransformationFlags ) {
2818
2861
markES2015 ( node ) ;
2819
2862
}
@@ -3002,6 +3045,8 @@ namespace ts {
3002
3045
function createVariableStatement ( modifiers : readonly Modifier [ ] | undefined , declarationList : VariableDeclarationList | readonly VariableDeclaration [ ] ) {
3003
3046
const node = createBaseDeclaration < VariableStatement > ( SyntaxKind . VariableStatement , /*decorators*/ undefined , modifiers ) ;
3004
3047
setChild ( node , node . declarationList = isArray ( declarationList ) ? createVariableDeclarationList ( declarationList ) : declarationList ) ;
3048
+ // extraneous nodes set by the parser
3049
+ node . jsDoc = undefined ;
3005
3050
if ( ! skipTransformationFlags ) {
3006
3051
if ( hasSyntacticModifier ( node , ModifierFlags . Ambient ) ) {
3007
3052
markTypeScriptOnly ( node ) ;
@@ -3027,6 +3072,8 @@ namespace ts {
3027
3072
function createExpressionStatement ( expression : Expression ) : ExpressionStatement {
3028
3073
const node = createBaseNode < ExpressionStatement > ( SyntaxKind . ExpressionStatement ) ;
3029
3074
setChild ( node , node . expression = parenthesizerRules ( ) . parenthesizeExpressionOfExpressionStatement ( expression ) ) ;
3075
+ // extraneous nodes set by the parser
3076
+ node . jsDoc = undefined ;
3030
3077
return finish ( node ) ;
3031
3078
}
3032
3079
@@ -3239,6 +3286,8 @@ namespace ts {
3239
3286
const node = createBaseNode < LabeledStatement > ( SyntaxKind . LabeledStatement ) ;
3240
3287
setChild ( node , node . label = asName ( label ) ) ;
3241
3288
setChild ( node , node . statement = asEmbeddedStatement ( statement ) ) ;
3289
+ // extraneous nodes set by the parser
3290
+ node . jsDoc = undefined ;
3242
3291
return finish ( node ) ;
3243
3292
}
3244
3293
@@ -3360,6 +3409,8 @@ namespace ts {
3360
3409
body
3361
3410
) ;
3362
3411
setChild ( node , node . asteriskToken = asteriskToken ) ;
3412
+ // extraneous nodes set by the parser
3413
+ node . jsDoc = undefined ;
3363
3414
if ( ! skipTransformationFlags ) {
3364
3415
if ( ! body || hasSyntacticModifier ( node , ModifierFlags . Ambient ) ) {
3365
3416
markTypeScriptOnly ( node ) ;
@@ -3424,6 +3475,8 @@ namespace ts {
3424
3475
heritageClauses ,
3425
3476
members
3426
3477
) ;
3478
+ // extraneous nodes set by the parser
3479
+ node . jsDoc = undefined ;
3427
3480
if ( ! skipTransformationFlags ) {
3428
3481
if ( hasSyntacticModifier ( node , ModifierFlags . Ambient ) ) {
3429
3482
markTypeScriptOnly ( node ) ;
@@ -3476,6 +3529,8 @@ namespace ts {
3476
3529
heritageClauses
3477
3530
) ;
3478
3531
setChildren ( node , node . members = createNodeArray ( members ) ) ;
3532
+ // extraneous nodes set by the parser
3533
+ node . jsDoc = undefined ;
3479
3534
if ( ! skipTransformationFlags ) {
3480
3535
markTypeScriptOnly ( node ) ;
3481
3536
}
@@ -3518,6 +3573,8 @@ namespace ts {
3518
3573
typeParameters
3519
3574
) ;
3520
3575
setChild ( node , node . type = type ) ;
3576
+ // extraneous nodes set by the parser
3577
+ node . jsDoc = undefined ;
3521
3578
if ( ! skipTransformationFlags ) {
3522
3579
markTypeScriptOnly ( node ) ;
3523
3580
}
@@ -3556,6 +3613,8 @@ namespace ts {
3556
3613
name
3557
3614
) ;
3558
3615
setChildren ( node , node . members = createNodeArray ( members ) ) ;
3616
+ // extraneous nodes set by the parser
3617
+ node . jsDoc = undefined ;
3559
3618
if ( ! skipTransformationFlags ) {
3560
3619
markTypeScript ( node ) ;
3561
3620
}
@@ -3593,6 +3652,8 @@ namespace ts {
3593
3652
node . flags |= flags & ( NodeFlags . Namespace | NodeFlags . NestedNamespace | NodeFlags . GlobalAugmentation ) ;
3594
3653
setChild ( node , node . name = name ) ;
3595
3654
setChild ( node , node . body = body ) ;
3655
+ // extraneous nodes set by the parser
3656
+ node . jsDoc = undefined ;
3596
3657
if ( ! skipTransformationFlags ) {
3597
3658
if ( hasSyntacticModifier ( node , ModifierFlags . Ambient ) ) {
3598
3659
markTypeScriptOnly ( node ) ;
@@ -3652,6 +3713,10 @@ namespace ts {
3652
3713
function createNamespaceExportDeclaration ( name : string | Identifier ) {
3653
3714
const node = createBaseNode < NamespaceExportDeclaration > ( SyntaxKind . NamespaceExportDeclaration ) ;
3654
3715
setChild ( node , node . name = asName ( name ) ) ;
3716
+ // extraneous nodes set by the parser
3717
+ node . decorators = undefined ;
3718
+ node . modifiers = undefined ;
3719
+ node . jsDoc = undefined ;
3655
3720
if ( ! skipTransformationFlags ) {
3656
3721
markTypeScriptOnly ( node ) ;
3657
3722
}
@@ -3679,6 +3744,8 @@ namespace ts {
3679
3744
name
3680
3745
) ;
3681
3746
setChild ( node , node . moduleReference = moduleReference ) ;
3747
+ // extraneous nodes set by the parser
3748
+ node . jsDoc = undefined ;
3682
3749
if ( ! skipTransformationFlags ) {
3683
3750
if ( moduleReference . kind !== SyntaxKind . ExternalModuleReference ) markTypeScript ( node ) ;
3684
3751
}
@@ -3715,6 +3782,8 @@ namespace ts {
3715
3782
) ;
3716
3783
setChild ( node , node . importClause = importClause ) ;
3717
3784
setChild ( node , node . moduleSpecifier = moduleSpecifier ) ;
3785
+ // extraneous nodes set by the parser
3786
+ node . jsDoc = undefined ;
3718
3787
return finish ( node ) ;
3719
3788
}
3720
3789
@@ -3834,6 +3903,8 @@ namespace ts {
3834
3903
setChild ( node , node . expression = isExportEquals
3835
3904
? parenthesizerRules ( ) . parenthesizeRightSideOfBinary ( SyntaxKind . EqualsToken , /*leftSide*/ undefined , expression )
3836
3905
: parenthesizerRules ( ) . parenthesizeExpressionOfExportDefault ( expression ) ) ;
3906
+ // extraneous nodes set by the parser
3907
+ node . jsDoc = undefined ;
3837
3908
return finish ( node ) ;
3838
3909
}
3839
3910
@@ -3867,6 +3938,8 @@ namespace ts {
3867
3938
node . isTypeOnly = isTypeOnly ;
3868
3939
setChild ( node , node . exportClause = exportClause ) ;
3869
3940
setChild ( node , node . moduleSpecifier = moduleSpecifier ) ;
3941
+ // extraneous nodes set by the parser
3942
+ node . jsDoc = undefined ;
3870
3943
return finish ( node ) ;
3871
3944
}
3872
3945
@@ -4011,6 +4084,8 @@ namespace ts {
4011
4084
parameters ,
4012
4085
type
4013
4086
) ;
4087
+ // extraneous nodes set by the parser
4088
+ node . jsDoc = undefined ;
4014
4089
return finishJSDoc ( node ) ;
4015
4090
}
4016
4091
@@ -4633,8 +4708,13 @@ namespace ts {
4633
4708
function createPropertyAssignment ( name : string | PropertyName , initializer : Expression ) {
4634
4709
const node = createBaseNode < PropertyAssignment > ( SyntaxKind . PropertyAssignment ) ;
4635
4710
setChild ( node , node . name = asName ( name ) ) ;
4636
- setChild ( node , node . questionToken = undefined ) ;
4637
4711
setChild ( node , node . initializer = parenthesizerRules ( ) . parenthesizeExpressionForDisallowedComma ( initializer ) ) ;
4712
+ // extraneous nodes set by the parser
4713
+ node . decorators = undefined ;
4714
+ node . modifiers = undefined ;
4715
+ node . questionToken = undefined ;
4716
+ node . exclamationToken = undefined ;
4717
+ node . jsDoc = undefined ;
4638
4718
return finish ( node ) ;
4639
4719
}
4640
4720
@@ -4666,6 +4746,11 @@ namespace ts {
4666
4746
setChild ( node , node . objectAssignmentInitializer = objectAssignmentInitializer !== undefined
4667
4747
? parenthesizerRules ( ) . parenthesizeExpressionForDisallowedComma ( objectAssignmentInitializer )
4668
4748
: undefined ) ;
4749
+ // extraneous nodes set by the parser
4750
+ node . equalsToken = undefined ;
4751
+ node . questionToken = undefined ;
4752
+ node . exclamationToken = undefined ;
4753
+ node . jsDoc = undefined ;
4669
4754
if ( ! skipTransformationFlags ) {
4670
4755
markES2015 ( node ) ;
4671
4756
}
@@ -4694,6 +4779,8 @@ namespace ts {
4694
4779
function createSpreadAssignment ( expression : Expression ) {
4695
4780
const node = createBaseNode < SpreadAssignment > ( SyntaxKind . SpreadAssignment ) ;
4696
4781
setChild ( node , node . expression = parenthesizerRules ( ) . parenthesizeExpressionForDisallowedComma ( expression ) ) ;
4782
+ // extraneous nodes set by the parser
4783
+ node . jsDoc = undefined ;
4697
4784
if ( ! skipTransformationFlags ) {
4698
4785
markES2018 ( node ) ;
4699
4786
markObjectRestOrSpread ( node ) ;
@@ -4717,6 +4804,8 @@ namespace ts {
4717
4804
const node = createBaseNode < EnumMember > ( SyntaxKind . EnumMember ) ;
4718
4805
setChild ( node , node . name = asName ( name ) ) ;
4719
4806
setChild ( node , node . initializer = initializer && parenthesizerRules ( ) . parenthesizeExpressionForDisallowedComma ( initializer ) ) ;
4807
+ // extraneous nodes set by the parser
4808
+ node . jsDoc = undefined ;
4720
4809
if ( ! skipTransformationFlags ) {
4721
4810
markTypeScript ( node ) ;
4722
4811
}
0 commit comments