(stack)
| 11863 | }; |
| 11864 | |
| 11865 | var ReactFiberNewContext = function (stack) { |
| 11866 | var createCursor = stack.createCursor, |
| 11867 | push = stack.push, |
| 11868 | pop = stack.pop; |
| 11869 | |
| 11870 | |
| 11871 | var providerCursor = createCursor(null); |
| 11872 | var valueCursor = createCursor(null); |
| 11873 | var changedBitsCursor = createCursor(0); |
| 11874 | |
| 11875 | var rendererSigil = void 0; |
| 11876 | { |
| 11877 | // Use this to detect multiple renderers using the same context |
| 11878 | rendererSigil = {}; |
| 11879 | } |
| 11880 | |
| 11881 | function pushProvider(providerFiber) { |
| 11882 | var context = providerFiber.type.context; |
| 11883 | |
| 11884 | push(changedBitsCursor, context._changedBits, providerFiber); |
| 11885 | push(valueCursor, context._currentValue, providerFiber); |
| 11886 | push(providerCursor, providerFiber, providerFiber); |
| 11887 | |
| 11888 | context._currentValue = providerFiber.pendingProps.value; |
| 11889 | context._changedBits = providerFiber.stateNode; |
| 11890 | |
| 11891 | { |
| 11892 | warning(context._currentRenderer === null || context._currentRenderer === rendererSigil, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); |
| 11893 | context._currentRenderer = rendererSigil; |
| 11894 | } |
| 11895 | } |
| 11896 | |
| 11897 | function popProvider(providerFiber) { |
| 11898 | var changedBits = changedBitsCursor.current; |
| 11899 | var currentValue = valueCursor.current; |
| 11900 | |
| 11901 | pop(providerCursor, providerFiber); |
| 11902 | pop(valueCursor, providerFiber); |
| 11903 | pop(changedBitsCursor, providerFiber); |
| 11904 | |
| 11905 | var context = providerFiber.type.context; |
| 11906 | context._currentValue = currentValue; |
| 11907 | context._changedBits = changedBits; |
| 11908 | } |
| 11909 | |
| 11910 | return { |
| 11911 | pushProvider: pushProvider, |
| 11912 | popProvider: popProvider |
| 11913 | }; |
| 11914 | }; |
| 11915 | |
| 11916 | var ReactFiberStack = function () { |
| 11917 | var valueStack = []; |
no test coverage detected