(finishedRoot, currentTime, committedExpirationTime)
| 13019 | } |
| 13020 | |
| 13021 | function commitAllLifeCycles(finishedRoot, currentTime, committedExpirationTime) { |
| 13022 | { |
| 13023 | ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); |
| 13024 | |
| 13025 | if (warnAboutDeprecatedLifecycles) { |
| 13026 | ReactStrictModeWarnings.flushPendingDeprecationWarnings(); |
| 13027 | } |
| 13028 | } |
| 13029 | while (nextEffect !== null) { |
| 13030 | var effectTag = nextEffect.effectTag; |
| 13031 | |
| 13032 | if (effectTag & (Update | Callback)) { |
| 13033 | recordEffect(); |
| 13034 | var current = nextEffect.alternate; |
| 13035 | commitLifeCycles(finishedRoot, current, nextEffect, currentTime, committedExpirationTime); |
| 13036 | } |
| 13037 | |
| 13038 | if (effectTag & ErrLog) { |
| 13039 | commitErrorLogging(nextEffect, onUncaughtError); |
| 13040 | } |
| 13041 | |
| 13042 | if (effectTag & Ref) { |
| 13043 | recordEffect(); |
| 13044 | commitAttachRef(nextEffect); |
| 13045 | } |
| 13046 | |
| 13047 | var next = nextEffect.nextEffect; |
| 13048 | // Ensure that we clean these up so that we don't accidentally keep them. |
| 13049 | // I'm not actually sure this matters because we can't reset firstEffect |
| 13050 | // and lastEffect since they're on every node, not just the effectful |
| 13051 | // ones. So we have to clean everything as we reuse nodes anyway. |
| 13052 | nextEffect.nextEffect = null; |
| 13053 | // Ensure that we reset the effectTag here so that we can rely on effect |
| 13054 | // tags to reason about the current life-cycle. |
| 13055 | nextEffect = next; |
| 13056 | } |
| 13057 | } |
| 13058 | |
| 13059 | function isAlreadyFailedLegacyErrorBoundary(instance) { |
| 13060 | return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); |
nothing calls this directly
no test coverage detected