Skip to content

Commit 1665443

Browse files
authored
Rename effect fields (#19755)
- `effectTag` -> `flags` - `subtreeTag` -> `subtreeFlags`
1 parent 708fa77 commit 1665443

39 files changed

+464
-468
lines changed

.eslintrc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ module.exports = {
117117
// Disabled because it's also used by the Hook type.
118118
// 'lastEffect',
119119
],
120-
new: ['subtreeTag'],
120+
new: ['subtreeFlags'],
121121
},
122122
],
123123
},

fixtures/fiber-debugger/src/Fibers.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -324,9 +324,9 @@ export default function Fibers({fibers, show, graphSettings, ...rest}) {
324324
) : (
325325
<small>Committed</small>
326326
)}
327-
{fiber.effectTag && [
327+
{fiber.flags && [
328328
<br key="br" />,
329-
<small key="small">Effect: {fiber.effectTag}</small>,
329+
<small key="small">Effect: {fiber.flags}</small>,
330330
]}
331331
</div>
332332
</Vertex>,

fixtures/fiber-debugger/src/describeFibers.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function getFriendlyTag(tag) {
3737
}
3838
}
3939

40-
function getFriendlyEffect(effectTag) {
40+
function getFriendlyEffect(flags) {
4141
const effects = {
4242
1: 'Performed Work',
4343
2: 'Placement',
@@ -49,7 +49,7 @@ function getFriendlyEffect(effectTag) {
4949
128: 'Ref',
5050
};
5151
return Object.keys(effects)
52-
.filter(flag => flag & effectTag)
52+
.filter(flag => flag & flags)
5353
.map(flag => effects[flag])
5454
.join(' & ');
5555
}
@@ -72,7 +72,7 @@ export default function describeFibers(rootFiber, workInProgress) {
7272
...fiber,
7373
id: id,
7474
tag: getFriendlyTag(fiber.tag),
75-
effectTag: getFriendlyEffect(fiber.effectTag),
75+
flags: getFriendlyEffect(fiber.flags),
7676
type: fiber.type && '<' + (fiber.type.name || fiber.type) + '>',
7777
stateNode: `[${typeof fiber.stateNode}]`,
7878
return: acknowledgeFiber(fiber.return),

packages/react-devtools-shared/src/backend/renderer.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,16 @@ type ReactPriorityLevelsType = {|
106106
|};
107107

108108
type ReactTypeOfSideEffectType = {|
109-
NoEffect: number,
109+
NoFlags: number,
110110
PerformedWork: number,
111111
Placement: number,
112112
|};
113113

114+
function getFiberFlags(fiber: Fiber): number {
115+
// The name of this field changed from "effectTag" to "flags"
116+
return fiber.flags !== undefined ? fiber.flags : (fiber: any).effectTag;
117+
}
118+
114119
// Some environments (e.g. React Native / Hermes) don't support the performance API yet.
115120
const getCurrentTime =
116121
typeof performance === 'object' && typeof performance.now === 'function'
@@ -127,7 +132,7 @@ export function getInternalReactConstants(
127132
ReactTypeOfWork: WorkTagMap,
128133
|} {
129134
const ReactTypeOfSideEffect: ReactTypeOfSideEffectType = {
130-
NoEffect: 0b00,
135+
NoFlags: 0b00,
131136
PerformedWork: 0b01,
132137
Placement: 0b10,
133138
};
@@ -416,7 +421,7 @@ export function attach(
416421
ReactTypeOfWork,
417422
ReactTypeOfSideEffect,
418423
} = getInternalReactConstants(renderer.version);
419-
const {NoEffect, PerformedWork, Placement} = ReactTypeOfSideEffect;
424+
const {NoFlags, PerformedWork, Placement} = ReactTypeOfSideEffect;
420425
const {
421426
FunctionComponent,
422427
ClassComponent,
@@ -944,7 +949,7 @@ export function attach(
944949
// For types that execute user code, we check PerformedWork effect.
945950
// We don't reflect bailouts (either referential or sCU) in DevTools.
946951
// eslint-disable-next-line no-bitwise
947-
return (nextFiber.effectTag & PerformedWork) === PerformedWork;
952+
return (getFiberFlags(nextFiber) & PerformedWork) === PerformedWork;
948953
// Note: ContextConsumer only gets PerformedWork effect in 16.3.3+
949954
// so it won't get highlighted with React 16.3.0 to 16.3.2.
950955
default:
@@ -1928,12 +1933,12 @@ export function attach(
19281933
if (!fiber.alternate) {
19291934
// If there is no alternate, this might be a new tree that isn't inserted
19301935
// yet. If it is, then it will have a pending insertion effect on it.
1931-
if ((node.effectTag & Placement) !== NoEffect) {
1936+
if ((getFiberFlags(node) & Placement) !== NoFlags) {
19321937
return MOUNTING;
19331938
}
19341939
while (node.return) {
19351940
node = node.return;
1936-
if ((node.effectTag & Placement) !== NoEffect) {
1941+
if ((getFiberFlags(node) & Placement) !== NoFlags) {
19371942
return MOUNTING;
19381943
}
19391944
}

packages/react-devtools-shared/src/backend/types.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type BundleType =
2222
| 1; // DEV
2323

2424
export type WorkTag = number;
25-
export type SideEffectTag = number;
25+
export type WorkFlags = number;
2626
export type ExpirationTime = number;
2727

2828
export type WorkTagMap = {|

packages/react-reconciler/src/ReactChildFiber.new.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type {Fiber} from './ReactInternalTypes';
1515
import type {Lanes} from './ReactFiberLane';
1616

1717
import getComponentName from 'shared/getComponentName';
18-
import {Deletion, Placement} from './ReactSideEffectTags';
18+
import {Deletion, Placement} from './ReactFiberFlags';
1919
import {
2020
getIteratorFn,
2121
REACT_ELEMENT_TYPE,
@@ -280,7 +280,7 @@ function ChildReconciler(shouldTrackSideEffects) {
280280
const deletions = returnFiber.deletions;
281281
if (deletions === null) {
282282
returnFiber.deletions = [childToDelete];
283-
returnFiber.effectTag |= Deletion;
283+
returnFiber.flags |= Deletion;
284284
} else {
285285
deletions.push(childToDelete);
286286
}
@@ -350,15 +350,15 @@ function ChildReconciler(shouldTrackSideEffects) {
350350
const oldIndex = current.index;
351351
if (oldIndex < lastPlacedIndex) {
352352
// This is a move.
353-
newFiber.effectTag = Placement;
353+
newFiber.flags = Placement;
354354
return lastPlacedIndex;
355355
} else {
356356
// This item can stay in place.
357357
return oldIndex;
358358
}
359359
} else {
360360
// This is an insertion.
361-
newFiber.effectTag = Placement;
361+
newFiber.flags = Placement;
362362
return lastPlacedIndex;
363363
}
364364
}
@@ -367,7 +367,7 @@ function ChildReconciler(shouldTrackSideEffects) {
367367
// This is simpler for the single child case. We only need to do a
368368
// placement for inserting new children.
369369
if (shouldTrackSideEffects && newFiber.alternate === null) {
370-
newFiber.effectTag = Placement;
370+
newFiber.flags = Placement;
371371
}
372372
return newFiber;
373373
}

packages/react-reconciler/src/ReactChildFiber.old.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type {Fiber} from './ReactInternalTypes';
1515
import type {Lanes} from './ReactFiberLane';
1616

1717
import getComponentName from 'shared/getComponentName';
18-
import {Placement, Deletion} from './ReactSideEffectTags';
18+
import {Placement, Deletion} from './ReactFiberFlags';
1919
import {
2020
getIteratorFn,
2121
REACT_ELEMENT_TYPE,
@@ -290,7 +290,7 @@ function ChildReconciler(shouldTrackSideEffects) {
290290
returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
291291
}
292292
childToDelete.nextEffect = null;
293-
childToDelete.effectTag = Deletion;
293+
childToDelete.flags = Deletion;
294294
}
295295

296296
function deleteRemainingChildren(
@@ -357,15 +357,15 @@ function ChildReconciler(shouldTrackSideEffects) {
357357
const oldIndex = current.index;
358358
if (oldIndex < lastPlacedIndex) {
359359
// This is a move.
360-
newFiber.effectTag = Placement;
360+
newFiber.flags = Placement;
361361
return lastPlacedIndex;
362362
} else {
363363
// This item can stay in place.
364364
return oldIndex;
365365
}
366366
} else {
367367
// This is an insertion.
368-
newFiber.effectTag = Placement;
368+
newFiber.flags = Placement;
369369
return lastPlacedIndex;
370370
}
371371
}
@@ -374,7 +374,7 @@ function ChildReconciler(shouldTrackSideEffects) {
374374
// This is simpler for the single child case. We only need to do a
375375
// placement for inserting new children.
376376
if (shouldTrackSideEffects && newFiber.alternate === null) {
377-
newFiber.effectTag = Placement;
377+
newFiber.flags = Placement;
378378
}
379379
return newFiber;
380380
}

packages/react-reconciler/src/ReactFiber.new.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ import {
2929
enableScopeAPI,
3030
enableBlocksAPI,
3131
} from 'shared/ReactFeatureFlags';
32-
import {NoEffect, Placement, StaticMask} from './ReactSideEffectTags';
33-
import {NoEffect as NoSubtreeEffect} from './ReactSubtreeTags';
32+
import {NoFlags, Placement, StaticMask} from './ReactFiberFlags';
33+
import {NoFlags as NoSubtreeEffect} from './ReactSubtreeFlags';
3434
import {ConcurrentRoot, BlockingRoot} from './ReactRootTags';
3535
import {
3636
IndeterminateComponent,
@@ -144,8 +144,8 @@ function FiberNode(
144144
this.mode = mode;
145145

146146
// Effects
147-
this.effectTag = NoEffect;
148-
this.subtreeTag = NoSubtreeEffect;
147+
this.flags = NoFlags;
148+
this.subtreeFlags = NoSubtreeEffect;
149149
this.deletions = null;
150150

151151
this.lanes = NoLanes;
@@ -284,7 +284,7 @@ export function createWorkInProgress(current: Fiber, pendingProps: any): Fiber {
284284
workInProgress.type = current.type;
285285

286286
// We already have an alternate.
287-
workInProgress.subtreeTag = NoSubtreeEffect;
287+
workInProgress.subtreeFlags = NoSubtreeEffect;
288288
workInProgress.deletions = null;
289289

290290
if (enableProfilerTimer) {
@@ -299,7 +299,7 @@ export function createWorkInProgress(current: Fiber, pendingProps: any): Fiber {
299299

300300
// Reset all effects except static ones.
301301
// Static effects are not specific to a render.
302-
workInProgress.effectTag = current.effectTag & StaticMask;
302+
workInProgress.flags = current.flags & StaticMask;
303303
workInProgress.childLanes = current.childLanes;
304304
workInProgress.lanes = current.lanes;
305305

@@ -363,7 +363,7 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) {
363363

364364
// Reset the effect tag but keep any Placement tags, since that's something
365365
// that child fiber is setting, not the reconciliation.
366-
workInProgress.effectTag &= Placement;
366+
workInProgress.flags &= Placement;
367367

368368
const current = workInProgress.alternate;
369369
if (current === null) {
@@ -372,7 +372,7 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) {
372372
workInProgress.lanes = renderLanes;
373373

374374
workInProgress.child = null;
375-
workInProgress.subtreeTag = NoSubtreeEffect;
375+
workInProgress.subtreeFlags = NoSubtreeEffect;
376376
workInProgress.memoizedProps = null;
377377
workInProgress.memoizedState = null;
378378
workInProgress.updateQueue = null;
@@ -393,7 +393,7 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) {
393393
workInProgress.lanes = current.lanes;
394394

395395
workInProgress.child = current.child;
396-
workInProgress.subtreeTag = current.subtreeTag;
396+
workInProgress.subtreeFlags = current.subtreeFlags;
397397
workInProgress.deletions = null;
398398
workInProgress.memoizedProps = current.memoizedProps;
399399
workInProgress.memoizedState = current.memoizedState;
@@ -816,8 +816,8 @@ export function assignFiberPropertiesInDEV(
816816
target.memoizedState = source.memoizedState;
817817
target.dependencies = source.dependencies;
818818
target.mode = source.mode;
819-
target.effectTag = source.effectTag;
820-
target.subtreeTag = source.subtreeTag;
819+
target.flags = source.flags;
820+
target.subtreeFlags = source.subtreeFlags;
821821
target.deletions = source.deletions;
822822
target.lanes = source.lanes;
823823
target.childLanes = source.childLanes;

packages/react-reconciler/src/ReactFiber.old.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import {
2929
enableScopeAPI,
3030
enableBlocksAPI,
3131
} from 'shared/ReactFeatureFlags';
32-
import {NoEffect, Placement} from './ReactSideEffectTags';
32+
import {NoFlags, Placement} from './ReactFiberFlags';
3333
import {ConcurrentRoot, BlockingRoot} from './ReactRootTags';
3434
import {
3535
IndeterminateComponent,
@@ -143,7 +143,7 @@ function FiberNode(
143143
this.mode = mode;
144144

145145
// Effects
146-
this.effectTag = NoEffect;
146+
this.flags = NoFlags;
147147
this.nextEffect = null;
148148

149149
this.firstEffect = null;
@@ -286,7 +286,7 @@ export function createWorkInProgress(current: Fiber, pendingProps: any): Fiber {
286286

287287
// We already have an alternate.
288288
// Reset the effect tag.
289-
workInProgress.effectTag = NoEffect;
289+
workInProgress.flags = NoFlags;
290290

291291
// The effect list is no longer valid.
292292
workInProgress.nextEffect = null;
@@ -366,7 +366,7 @@ export function resetWorkInProgress(workInProgress: Fiber, renderLanes: Lanes) {
366366

367367
// Reset the effect tag but keep any Placement tags, since that's something
368368
// that child fiber is setting, not the reconciliation.
369-
workInProgress.effectTag &= Placement;
369+
workInProgress.flags &= Placement;
370370

371371
// The effect list is no longer valid.
372372
workInProgress.nextEffect = null;
@@ -821,7 +821,7 @@ export function assignFiberPropertiesInDEV(
821821
target.memoizedState = source.memoizedState;
822822
target.dependencies = source.dependencies;
823823
target.mode = source.mode;
824-
target.effectTag = source.effectTag;
824+
target.flags = source.flags;
825825
target.nextEffect = source.nextEffect;
826826
target.firstEffect = source.firstEffect;
827827
target.lastEffect = source.lastEffect;

0 commit comments

Comments
 (0)