(newFiber, lastPlacedIndex, newIndex)
| 8207 | } |
| 8208 | |
| 8209 | function placeChild(newFiber, lastPlacedIndex, newIndex) { |
| 8210 | newFiber.index = newIndex; |
| 8211 | if (!shouldTrackSideEffects) { |
| 8212 | // Noop. |
| 8213 | return lastPlacedIndex; |
| 8214 | } |
| 8215 | var current = newFiber.alternate; |
| 8216 | if (current !== null) { |
| 8217 | var oldIndex = current.index; |
| 8218 | if (oldIndex < lastPlacedIndex) { |
| 8219 | // This is a move. |
| 8220 | newFiber.effectTag = Placement; |
| 8221 | return lastPlacedIndex; |
| 8222 | } else { |
| 8223 | // This item can stay in place. |
| 8224 | return oldIndex; |
| 8225 | } |
| 8226 | } else { |
| 8227 | // This is an insertion. |
| 8228 | newFiber.effectTag = Placement; |
| 8229 | return lastPlacedIndex; |
| 8230 | } |
| 8231 | } |
| 8232 | |
| 8233 | function placeSingleChild(newFiber) { |
| 8234 | // This is simpler for the single child case. We only need to do a |
no outgoing calls
no test coverage detected