(newFiber, lastPlacedIndex, newIndex)
| 8298 | } |
| 8299 | |
| 8300 | function placeChild(newFiber, lastPlacedIndex, newIndex) { |
| 8301 | newFiber.index = newIndex; |
| 8302 | if (!shouldTrackSideEffects) { |
| 8303 | // Noop. |
| 8304 | return lastPlacedIndex; |
| 8305 | } |
| 8306 | var current = newFiber.alternate; |
| 8307 | if (current !== null) { |
| 8308 | var oldIndex = current.index; |
| 8309 | if (oldIndex < lastPlacedIndex) { |
| 8310 | // This is a move. |
| 8311 | newFiber.effectTag = Placement; |
| 8312 | return lastPlacedIndex; |
| 8313 | } else { |
| 8314 | // This item can stay in place. |
| 8315 | return oldIndex; |
| 8316 | } |
| 8317 | } else { |
| 8318 | // This is an insertion. |
| 8319 | newFiber.effectTag = Placement; |
| 8320 | return lastPlacedIndex; |
| 8321 | } |
| 8322 | } |
| 8323 | |
| 8324 | function placeSingleChild(newFiber) { |
| 8325 | // This is simpler for the single child case. We only need to do a |
no outgoing calls
no test coverage detected