(stack)
| 11735 | }; |
| 11736 | |
| 11737 | var ReactFiberNewContext = function (stack) { |
| 11738 | var createCursor = stack.createCursor, |
| 11739 | push = stack.push, |
| 11740 | pop = stack.pop; |
| 11741 | |
| 11742 | |
| 11743 | var providerCursor = createCursor(null); |
| 11744 | var valueCursor = createCursor(null); |
| 11745 | var changedBitsCursor = createCursor(0); |
| 11746 | |
| 11747 | var rendererSigil = void 0; |
| 11748 | { |
| 11749 | // Use this to detect multiple renderers using the same context |
| 11750 | rendererSigil = {}; |
| 11751 | } |
| 11752 | |
| 11753 | function pushProvider(providerFiber) { |
| 11754 | var context = providerFiber.type.context; |
| 11755 | |
| 11756 | push(changedBitsCursor, context._changedBits, providerFiber); |
| 11757 | push(valueCursor, context._currentValue, providerFiber); |
| 11758 | push(providerCursor, providerFiber, providerFiber); |
| 11759 | |
| 11760 | context._currentValue = providerFiber.pendingProps.value; |
| 11761 | context._changedBits = providerFiber.stateNode; |
| 11762 | |
| 11763 | { |
| 11764 | warning(context._currentRenderer === null || context._currentRenderer === rendererSigil, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); |
| 11765 | context._currentRenderer = rendererSigil; |
| 11766 | } |
| 11767 | } |
| 11768 | |
| 11769 | function popProvider(providerFiber) { |
| 11770 | var changedBits = changedBitsCursor.current; |
| 11771 | var currentValue = valueCursor.current; |
| 11772 | |
| 11773 | pop(providerCursor, providerFiber); |
| 11774 | pop(valueCursor, providerFiber); |
| 11775 | pop(changedBitsCursor, providerFiber); |
| 11776 | |
| 11777 | var context = providerFiber.type.context; |
| 11778 | context._currentValue = currentValue; |
| 11779 | context._changedBits = changedBits; |
| 11780 | } |
| 11781 | |
| 11782 | return { |
| 11783 | pushProvider: pushProvider, |
| 11784 | popProvider: popProvider |
| 11785 | }; |
| 11786 | }; |
| 11787 | |
| 11788 | var ReactFiberStack = function () { |
| 11789 | var valueStack = []; |
no test coverage detected