(current, interruptedWork, renderLanes)
| 22804 | } |
| 22805 | |
| 22806 | function unwindInterruptedWork(current, interruptedWork, renderLanes) { |
| 22807 | // Note: This intentionally doesn't check if we're hydrating because comparing |
| 22808 | // to the current tree provider fiber is just as fast and less error-prone. |
| 22809 | // Ideally we would have a special version of the work loop only |
| 22810 | // for hydration. |
| 22811 | popTreeContext(interruptedWork); |
| 22812 | |
| 22813 | switch (interruptedWork.tag) { |
| 22814 | case ClassComponent: |
| 22815 | { |
| 22816 | var childContextTypes = interruptedWork.type.childContextTypes; |
| 22817 | |
| 22818 | if (childContextTypes !== null && childContextTypes !== undefined) { |
| 22819 | popContext(interruptedWork); |
| 22820 | } |
| 22821 | |
| 22822 | break; |
| 22823 | } |
| 22824 | |
| 22825 | case HostRoot: |
| 22826 | { |
| 22827 | var root = interruptedWork.stateNode; |
| 22828 | popHostContainer(interruptedWork); |
| 22829 | popTopLevelContextObject(interruptedWork); |
| 22830 | resetWorkInProgressVersions(); |
| 22831 | break; |
| 22832 | } |
| 22833 | |
| 22834 | case HostComponent: |
| 22835 | { |
| 22836 | popHostContext(interruptedWork); |
| 22837 | break; |
| 22838 | } |
| 22839 | |
| 22840 | case HostPortal: |
| 22841 | popHostContainer(interruptedWork); |
| 22842 | break; |
| 22843 | |
| 22844 | case SuspenseComponent: |
| 22845 | popSuspenseContext(interruptedWork); |
| 22846 | break; |
| 22847 | |
| 22848 | case SuspenseListComponent: |
| 22849 | popSuspenseContext(interruptedWork); |
| 22850 | break; |
| 22851 | |
| 22852 | case ContextProvider: |
| 22853 | var context = interruptedWork.type._context; |
| 22854 | popProvider(context, interruptedWork); |
| 22855 | break; |
| 22856 | |
| 22857 | case OffscreenComponent: |
| 22858 | case LegacyHiddenComponent: |
| 22859 | popRenderLanes(interruptedWork); |
| 22860 | break; |
| 22861 | } |
| 22862 | } |
| 22863 |
no test coverage detected
searching dependent graphs…