Skip to content

Commit e9dadd7

Browse files
committed
Merge pull request #8927 from Microsoft/transforms-removeExcludeFlags
[Transforms] Removes the excludeTransformFlags property from Node
2 parents e35dd79 + d4ed1ba commit e9dadd7

File tree

4 files changed

+84
-73
lines changed

4 files changed

+84
-73
lines changed

src/compiler/binder.ts

Lines changed: 23 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -2267,7 +2267,6 @@ namespace ts {
22672267

22682268
function computeCallExpression(node: CallExpression, subtreeFlags: TransformFlags) {
22692269
let transformFlags = subtreeFlags;
2270-
const excludeFlags = TransformFlags.ArrayLiteralOrCallOrNewExcludes;
22712270
const expression = node.expression;
22722271
const expressionKind = expression.kind;
22732272

@@ -2279,8 +2278,7 @@ namespace ts {
22792278
}
22802279

22812280
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2282-
node.excludeTransformFlags = excludeFlags;
2283-
return transformFlags & ~excludeFlags;
2281+
return transformFlags & ~TransformFlags.ArrayLiteralOrCallOrNewExcludes;
22842282
}
22852283

22862284
function isSuperOrSuperProperty(node: Node, kind: SyntaxKind) {
@@ -2300,7 +2298,6 @@ namespace ts {
23002298

23012299
function computeBinaryExpression(node: BinaryExpression, subtreeFlags: TransformFlags) {
23022300
let transformFlags = subtreeFlags;
2303-
const excludeFlags = TransformFlags.NodeExcludes;
23042301
const operatorTokenKind = node.operatorToken.kind;
23052302
const leftKind = node.left.kind;
23062303

@@ -2317,13 +2314,11 @@ namespace ts {
23172314
}
23182315

23192316
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2320-
node.excludeTransformFlags = excludeFlags;
2321-
return transformFlags & ~excludeFlags;
2317+
return transformFlags & ~TransformFlags.NodeExcludes;
23222318
}
23232319

23242320
function computeParameter(node: ParameterDeclaration, subtreeFlags: TransformFlags) {
23252321
let transformFlags = subtreeFlags;
2326-
const excludeFlags = TransformFlags.ParameterExcludes;
23272322
const modifierFlags = getModifierFlags(node);
23282323
const name = node.name;
23292324
const initializer = node.initializer;
@@ -2352,13 +2347,11 @@ namespace ts {
23522347
}
23532348

23542349
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2355-
node.excludeTransformFlags = excludeFlags;
2356-
return transformFlags & ~excludeFlags;
2350+
return transformFlags & ~TransformFlags.ParameterExcludes;
23572351
}
23582352

23592353
function computeParenthesizedExpression(node: ParenthesizedExpression, subtreeFlags: TransformFlags) {
23602354
let transformFlags = subtreeFlags;
2361-
const excludeFlags = TransformFlags.NodeExcludes;
23622355
const expression = node.expression;
23632356
const expressionKind = expression.kind;
23642357
const expressionTransformFlags = expression.transformFlags;
@@ -2378,13 +2371,11 @@ namespace ts {
23782371
}
23792372

23802373
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2381-
node.excludeTransformFlags = excludeFlags;
2382-
return transformFlags & ~excludeFlags;
2374+
return transformFlags & ~TransformFlags.NodeExcludes;
23832375
}
23842376

23852377
function computeClassDeclaration(node: ClassDeclaration, subtreeFlags: TransformFlags) {
23862378
let transformFlags: TransformFlags;
2387-
const excludeFlags = TransformFlags.ClassExcludes;
23882379
const modifierFlags = getModifierFlags(node);
23892380

23902381
if (modifierFlags & ModifierFlags.Ambient) {
@@ -2411,14 +2402,12 @@ namespace ts {
24112402
}
24122403

24132404
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2414-
node.excludeTransformFlags = excludeFlags;
2415-
return transformFlags & ~excludeFlags;
2405+
return transformFlags & ~TransformFlags.ClassExcludes;
24162406
}
24172407

24182408
function computeClassExpression(node: ClassExpression, subtreeFlags: TransformFlags) {
24192409
// A ClassExpression is ES6 syntax.
24202410
let transformFlags = subtreeFlags | TransformFlags.AssertES6;
2421-
const excludeFlags = TransformFlags.ClassExcludes;
24222411

24232412
// A class with a parameter property assignment, property initializer, or decorator is
24242413
// TypeScript syntax.
@@ -2433,13 +2422,11 @@ namespace ts {
24332422
}
24342423

24352424
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2436-
node.excludeTransformFlags = excludeFlags;
2437-
return transformFlags & ~excludeFlags;
2425+
return transformFlags & ~TransformFlags.ClassExcludes;
24382426
}
24392427

24402428
function computeHeritageClause(node: HeritageClause, subtreeFlags: TransformFlags) {
24412429
let transformFlags = subtreeFlags;
2442-
const excludeFlags = TransformFlags.NodeExcludes;
24432430

24442431
switch (node.token) {
24452432
case SyntaxKind.ExtendsKeyword:
@@ -2458,15 +2445,13 @@ namespace ts {
24582445
}
24592446

24602447
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2461-
node.excludeTransformFlags = excludeFlags;
2462-
return transformFlags & ~excludeFlags;
2448+
return transformFlags & ~TransformFlags.NodeExcludes;
24632449
}
24642450

24652451
function computeExpressionWithTypeArguments(node: ExpressionWithTypeArguments, subtreeFlags: TransformFlags) {
24662452
// An ExpressionWithTypeArguments is ES6 syntax, as it is used in the
24672453
// extends clause of a class.
24682454
let transformFlags = subtreeFlags | TransformFlags.AssertES6;
2469-
const excludeFlags = TransformFlags.NodeExcludes;
24702455

24712456
// If an ExpressionWithTypeArguments contains type arguments, then it
24722457
// is TypeScript syntax.
@@ -2475,13 +2460,11 @@ namespace ts {
24752460
}
24762461

24772462
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2478-
node.excludeTransformFlags = excludeFlags;
2479-
return transformFlags & ~excludeFlags;
2463+
return transformFlags & ~TransformFlags.NodeExcludes;
24802464
}
24812465

24822466
function computeConstructor(node: ConstructorDeclaration, subtreeFlags: TransformFlags) {
24832467
let transformFlags = subtreeFlags;
2484-
const excludeFlags = TransformFlags.ConstructorExcludes;
24852468
const body = node.body;
24862469

24872470
if (body === undefined) {
@@ -2490,14 +2473,12 @@ namespace ts {
24902473
}
24912474

24922475
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2493-
node.excludeTransformFlags = excludeFlags;
2494-
return transformFlags & ~excludeFlags;
2476+
return transformFlags & ~TransformFlags.ConstructorExcludes;
24952477
}
24962478

24972479
function computeMethod(node: MethodDeclaration, subtreeFlags: TransformFlags) {
24982480
// A MethodDeclaration is ES6 syntax.
24992481
let transformFlags = subtreeFlags | TransformFlags.AssertES6;
2500-
const excludeFlags = TransformFlags.MethodOrAccessorExcludes;
25012482
const modifierFlags = getModifierFlags(node);
25022483
const body = node.body;
25032484
const typeParameters = node.typeParameters;
@@ -2512,13 +2493,11 @@ namespace ts {
25122493
}
25132494

25142495
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2515-
node.excludeTransformFlags = excludeFlags;
2516-
return transformFlags & ~excludeFlags;
2496+
return transformFlags & ~TransformFlags.MethodOrAccessorExcludes;
25172497
}
25182498

25192499
function computeAccessor(node: AccessorDeclaration, subtreeFlags: TransformFlags) {
25202500
let transformFlags = subtreeFlags;
2521-
const excludeFlags = TransformFlags.MethodOrAccessorExcludes;
25222501
const modifierFlags = getModifierFlags(node);
25232502
const body = node.body;
25242503

@@ -2531,14 +2510,12 @@ namespace ts {
25312510
}
25322511

25332512
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2534-
node.excludeTransformFlags = excludeFlags;
2535-
return transformFlags & ~excludeFlags;
2513+
return transformFlags & ~TransformFlags.MethodOrAccessorExcludes;
25362514
}
25372515

25382516
function computePropertyDeclaration(node: PropertyDeclaration, subtreeFlags: TransformFlags) {
25392517
// A PropertyDeclaration is TypeScript syntax.
25402518
let transformFlags = subtreeFlags | TransformFlags.AssertTypeScript;
2541-
const excludeFlags = TransformFlags.NodeExcludes;
25422519

25432520
// If the PropertyDeclaration has an initializer, we need to inform its ancestor
25442521
// so that it handle the transformation.
@@ -2547,13 +2524,11 @@ namespace ts {
25472524
}
25482525

25492526
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2550-
node.excludeTransformFlags = excludeFlags;
2551-
return transformFlags & ~excludeFlags;
2527+
return transformFlags & ~TransformFlags.NodeExcludes;
25522528
}
25532529

25542530
function computeFunctionDeclaration(node: FunctionDeclaration, subtreeFlags: TransformFlags) {
25552531
let transformFlags: TransformFlags;
2556-
const excludeFlags = TransformFlags.FunctionExcludes;
25572532
const modifierFlags = getModifierFlags(node);
25582533
const body = node.body;
25592534
const asteriskToken = node.asteriskToken;
@@ -2585,13 +2560,11 @@ namespace ts {
25852560
}
25862561

25872562
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2588-
node.excludeTransformFlags = excludeFlags;
2589-
return transformFlags & ~excludeFlags;
2563+
return transformFlags & ~TransformFlags.FunctionExcludes;
25902564
}
25912565

25922566
function computeFunctionExpression(node: FunctionExpression, subtreeFlags: TransformFlags) {
25932567
let transformFlags = subtreeFlags;
2594-
const excludeFlags = TransformFlags.FunctionExcludes;
25952568
const modifierFlags = getModifierFlags(node);
25962569
const asteriskToken = node.asteriskToken;
25972570

@@ -2607,14 +2580,12 @@ namespace ts {
26072580
}
26082581

26092582
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2610-
node.excludeTransformFlags = excludeFlags;
2611-
return transformFlags & ~excludeFlags;
2583+
return transformFlags & ~TransformFlags.FunctionExcludes;
26122584
}
26132585

26142586
function computeArrowFunction(node: ArrowFunction, subtreeFlags: TransformFlags) {
26152587
// An ArrowFunction is ES6 syntax, and excludes markers that should not escape the scope of an ArrowFunction.
26162588
let transformFlags = subtreeFlags | TransformFlags.AssertES6;
2617-
const excludeFlags = TransformFlags.ArrowFunctionExcludes;
26182589
const modifierFlags = getModifierFlags(node);
26192590

26202591
// An async arrow function is TypeScript syntax.
@@ -2628,13 +2599,11 @@ namespace ts {
26282599
}
26292600

26302601
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2631-
node.excludeTransformFlags = excludeFlags;
2632-
return transformFlags & ~excludeFlags;
2602+
return transformFlags & ~TransformFlags.ArrowFunctionExcludes;
26332603
}
26342604

26352605
function computePropertyAccess(node: PropertyAccessExpression, subtreeFlags: TransformFlags) {
26362606
let transformFlags = subtreeFlags;
2637-
const excludeFlags = TransformFlags.NodeExcludes;
26382607
const expression = node.expression;
26392608
const expressionKind = expression.kind;
26402609

@@ -2645,13 +2614,11 @@ namespace ts {
26452614
}
26462615

26472616
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2648-
node.excludeTransformFlags = excludeFlags;
2649-
return transformFlags & ~excludeFlags;
2617+
return transformFlags & ~TransformFlags.NodeExcludes;
26502618
}
26512619

26522620
function computeVariableDeclaration(node: VariableDeclaration, subtreeFlags: TransformFlags) {
26532621
let transformFlags = subtreeFlags;
2654-
const excludeFlags = TransformFlags.NodeExcludes;
26552622
const nameKind = node.name.kind;
26562623

26572624
// A VariableDeclaration with a binding pattern is ES6 syntax.
@@ -2660,13 +2627,11 @@ namespace ts {
26602627
}
26612628

26622629
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2663-
node.excludeTransformFlags = excludeFlags;
2664-
return transformFlags & ~excludeFlags;
2630+
return transformFlags & ~TransformFlags.NodeExcludes;
26652631
}
26662632

26672633
function computeVariableStatement(node: VariableStatement, subtreeFlags: TransformFlags) {
26682634
let transformFlags: TransformFlags;
2669-
const excludeFlags = TransformFlags.NodeExcludes;
26702635
const modifierFlags = getModifierFlags(node);
26712636
const declarationListTransformFlags = node.declarationList.transformFlags;
26722637

@@ -2688,13 +2653,11 @@ namespace ts {
26882653
}
26892654

26902655
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2691-
node.excludeTransformFlags = excludeFlags;
2692-
return transformFlags & ~excludeFlags;
2656+
return transformFlags & ~TransformFlags.NodeExcludes;
26932657
}
26942658

26952659
function computeLabeledStatement(node: LabeledStatement, subtreeFlags: TransformFlags) {
26962660
let transformFlags = subtreeFlags;
2697-
const excludeFlags = TransformFlags.NodeExcludes;
26982661

26992662
// A labeled statement containing a block scoped binding *may* need to be transformed from ES6.
27002663
if (subtreeFlags & TransformFlags.ContainsBlockScopedBinding
@@ -2703,27 +2666,23 @@ namespace ts {
27032666
}
27042667

27052668
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2706-
node.excludeTransformFlags = excludeFlags;
2707-
return transformFlags & ~excludeFlags;
2669+
return transformFlags & ~TransformFlags.NodeExcludes;
27082670
}
27092671

27102672
function computeImportEquals(node: ImportEqualsDeclaration, subtreeFlags: TransformFlags) {
27112673
let transformFlags = subtreeFlags;
2712-
const excludeFlags = TransformFlags.NodeExcludes;
27132674

27142675
// An ImportEqualsDeclaration with a namespace reference is TypeScript.
27152676
if (!isExternalModuleImportEqualsDeclaration(node)) {
27162677
transformFlags |= TransformFlags.AssertTypeScript;
27172678
}
27182679

27192680
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2720-
node.excludeTransformFlags = excludeFlags;
2721-
return transformFlags & ~excludeFlags;
2681+
return transformFlags & ~TransformFlags.NodeExcludes;
27222682
}
27232683

27242684
function computeExpressionStatement(node: ExpressionStatement, subtreeFlags: TransformFlags) {
27252685
let transformFlags = subtreeFlags;
2726-
const excludeFlags = TransformFlags.NodeExcludes;
27272686

27282687
// If the expression of an expression statement is a destructuring assignment,
27292688
// then we treat the statement as ES6 so that we can indicate that we do not
@@ -2733,27 +2692,23 @@ namespace ts {
27332692
}
27342693

27352694
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2736-
node.excludeTransformFlags = excludeFlags;
2737-
return transformFlags & ~excludeFlags;
2695+
return transformFlags & ~TransformFlags.NodeExcludes;
27382696
}
27392697

27402698
function computeModuleDeclaration(node: ModuleDeclaration, subtreeFlags: TransformFlags) {
27412699
let transformFlags = TransformFlags.AssertTypeScript;
2742-
const excludeFlags = TransformFlags.ModuleExcludes;
27432700
const modifierFlags = getModifierFlags(node);
27442701

27452702
if ((modifierFlags & ModifierFlags.Ambient) === 0) {
27462703
transformFlags |= subtreeFlags;
27472704
}
27482705

27492706
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2750-
node.excludeTransformFlags = excludeFlags;
2751-
return transformFlags & ~excludeFlags;
2707+
return transformFlags & ~TransformFlags.ModuleExcludes;
27522708
}
27532709

27542710
function computeVariableDeclarationList(node: VariableDeclarationList, subtreeFlags: TransformFlags) {
27552711
let transformFlags = subtreeFlags;
2756-
const excludeFlags = TransformFlags.VariableDeclarationListExcludes;
27572712

27582713
if (subtreeFlags & TransformFlags.ContainsBindingPattern) {
27592714
transformFlags |= TransformFlags.AssertES6;
@@ -2765,8 +2720,7 @@ namespace ts {
27652720
}
27662721

27672722
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2768-
node.excludeTransformFlags = excludeFlags;
2769-
return transformFlags & ~excludeFlags;
2723+
return transformFlags & ~TransformFlags.VariableDeclarationListExcludes;
27702724
}
27712725

27722726
function computeOther(node: Node, kind: SyntaxKind, subtreeFlags: TransformFlags) {
@@ -2948,7 +2902,6 @@ namespace ts {
29482902
}
29492903

29502904
node.transformFlags = transformFlags | TransformFlags.HasComputedFlags;
2951-
node.excludeTransformFlags = excludeFlags;
29522905
return transformFlags & ~excludeFlags;
29532906
}
29542907
}

src/compiler/core.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,6 @@ namespace ts {
10561056
this.flags = NodeFlags.None;
10571057
this.modifierFlagsCache = ModifierFlags.None;
10581058
this.transformFlags = TransformFlags.None;
1059-
this.excludeTransformFlags = TransformFlags.None;
10601059
this.parent = undefined;
10611060
this.original = undefined;
10621061
this.transformId = 0;

src/compiler/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,6 @@ namespace ts {
469469
flags: NodeFlags;
470470
/* @internal */ modifierFlagsCache?: ModifierFlags;
471471
/* @internal */ transformFlags?: TransformFlags;
472-
/* @internal */ excludeTransformFlags?: TransformFlags;
473472
decorators?: NodeArray<Decorator>; // Array of decorators (in document order)
474473
modifiers?: NodeArray<Modifier>; // Array of modifiers
475474
/* @internal */ id?: number; // Unique id (used to look up NodeLinks)

0 commit comments

Comments
 (0)