(newFiber, lastPlacedIndex, newIndex)
| 8974 | } |
| 8975 | |
| 8976 | function placeChild(newFiber, lastPlacedIndex, newIndex) { |
| 8977 | newFiber.index = newIndex; |
| 8978 | if (!shouldTrackSideEffects) { |
| 8979 | // Noop. |
| 8980 | return lastPlacedIndex; |
| 8981 | } |
| 8982 | var current = newFiber.alternate; |
| 8983 | if (current !== null) { |
| 8984 | var oldIndex = current.index; |
| 8985 | if (oldIndex < lastPlacedIndex) { |
| 8986 | // This is a move. |
| 8987 | newFiber.effectTag = Placement; |
| 8988 | return lastPlacedIndex; |
| 8989 | } else { |
| 8990 | // This item can stay in place. |
| 8991 | return oldIndex; |
| 8992 | } |
| 8993 | } else { |
| 8994 | // This is an insertion. |
| 8995 | newFiber.effectTag = Placement; |
| 8996 | return lastPlacedIndex; |
| 8997 | } |
| 8998 | } |
| 8999 | |
| 9000 | function placeSingleChild(newFiber) { |
| 9001 | // This is simpler for the single child case. We only need to do a |
no outgoing calls
no test coverage detected