(newFiber, lastPlacedIndex, newIndex)
| 13642 | } |
| 13643 | |
| 13644 | function placeChild(newFiber, lastPlacedIndex, newIndex) { |
| 13645 | newFiber.index = newIndex; |
| 13646 | |
| 13647 | if (!shouldTrackSideEffects) { |
| 13648 | // Noop. |
| 13649 | return lastPlacedIndex; |
| 13650 | } |
| 13651 | |
| 13652 | var current = newFiber.alternate; |
| 13653 | |
| 13654 | if (current !== null) { |
| 13655 | var oldIndex = current.index; |
| 13656 | |
| 13657 | if (oldIndex < lastPlacedIndex) { |
| 13658 | // This is a move. |
| 13659 | newFiber.effectTag = Placement; |
| 13660 | return lastPlacedIndex; |
| 13661 | } else { |
| 13662 | // This item can stay in place. |
| 13663 | return oldIndex; |
| 13664 | } |
| 13665 | } else { |
| 13666 | // This is an insertion. |
| 13667 | newFiber.effectTag = Placement; |
| 13668 | return lastPlacedIndex; |
| 13669 | } |
| 13670 | } |
| 13671 | |
| 13672 | function placeSingleChild(newFiber) { |
| 13673 | // This is simpler for the single child case. We only need to do a |
no outgoing calls
no test coverage detected