( workInProgress, contexts, renderLanes, forcePropagateEntireTree )
| 10594 | } |
| 10595 | } |
| 10596 | function propagateContextChanges( |
| 10597 | workInProgress, |
| 10598 | contexts, |
| 10599 | renderLanes, |
| 10600 | forcePropagateEntireTree |
| 10601 | ) { |
| 10602 | var fiber = workInProgress.child; |
| 10603 | null !== fiber && (fiber.return = workInProgress); |
| 10604 | for (; null !== fiber; ) { |
| 10605 | var list = fiber.dependencies; |
| 10606 | if (null !== list) { |
| 10607 | var nextFiber = fiber.child; |
| 10608 | list = list.firstContext; |
| 10609 | a: for (; null !== list; ) { |
| 10610 | var dependency = list; |
| 10611 | list = fiber; |
| 10612 | for (var i = 0; i < contexts.length; i++) |
| 10613 | if (dependency.context === contexts[i]) { |
| 10614 | list.lanes |= renderLanes; |
| 10615 | dependency = list.alternate; |
| 10616 | null !== dependency && (dependency.lanes |= renderLanes); |
| 10617 | scheduleContextWorkOnParentPath( |
| 10618 | list.return, |
| 10619 | renderLanes, |
| 10620 | workInProgress |
| 10621 | ); |
| 10622 | forcePropagateEntireTree || (nextFiber = null); |
| 10623 | break a; |
| 10624 | } |
| 10625 | list = dependency.next; |
| 10626 | } |
| 10627 | } else if (18 === fiber.tag) { |
| 10628 | nextFiber = fiber.return; |
| 10629 | if (null === nextFiber) throw Error(formatProdErrorMessage(341)); |
| 10630 | nextFiber.lanes |= renderLanes; |
| 10631 | list = nextFiber.alternate; |
| 10632 | null !== list && (list.lanes |= renderLanes); |
| 10633 | scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress); |
| 10634 | nextFiber = null; |
| 10635 | } else nextFiber = fiber.child; |
| 10636 | if (null !== nextFiber) nextFiber.return = fiber; |
| 10637 | else |
| 10638 | for (nextFiber = fiber; null !== nextFiber; ) { |
| 10639 | if (nextFiber === workInProgress) { |
| 10640 | nextFiber = null; |
| 10641 | break; |
| 10642 | } |
| 10643 | fiber = nextFiber.sibling; |
| 10644 | if (null !== fiber) { |
| 10645 | fiber.return = nextFiber.return; |
| 10646 | nextFiber = fiber; |
| 10647 | break; |
| 10648 | } |
| 10649 | nextFiber = nextFiber.return; |
| 10650 | } |
| 10651 | fiber = nextFiber; |
| 10652 | } |
| 10653 | } |
no test coverage detected
searching dependent graphs…