(newFiber, lastPlacedIndex, newIndex)
| 8847 | } |
| 8848 | |
| 8849 | function placeChild(newFiber, lastPlacedIndex, newIndex) { |
| 8850 | newFiber.index = newIndex; |
| 8851 | if (!shouldTrackSideEffects) { |
| 8852 | // Noop. |
| 8853 | return lastPlacedIndex; |
| 8854 | } |
| 8855 | var current = newFiber.alternate; |
| 8856 | if (current !== null) { |
| 8857 | var oldIndex = current.index; |
| 8858 | if (oldIndex < lastPlacedIndex) { |
| 8859 | // This is a move. |
| 8860 | newFiber.effectTag = Placement; |
| 8861 | return lastPlacedIndex; |
| 8862 | } else { |
| 8863 | // This item can stay in place. |
| 8864 | return oldIndex; |
| 8865 | } |
| 8866 | } else { |
| 8867 | // This is an insertion. |
| 8868 | newFiber.effectTag = Placement; |
| 8869 | return lastPlacedIndex; |
| 8870 | } |
| 8871 | } |
| 8872 | |
| 8873 | function placeSingleChild(newFiber) { |
| 8874 | // This is simpler for the single child case. We only need to do a |
no outgoing calls
no test coverage detected