(stack)
| 12502 | }; |
| 12503 | |
| 12504 | var ReactFiberNewContext = function (stack) { |
| 12505 | var createCursor = stack.createCursor, |
| 12506 | push = stack.push, |
| 12507 | pop = stack.pop; |
| 12508 | |
| 12509 | |
| 12510 | var providerCursor = createCursor(null); |
| 12511 | var valueCursor = createCursor(null); |
| 12512 | var changedBitsCursor = createCursor(0); |
| 12513 | |
| 12514 | var rendererSigil = void 0; |
| 12515 | { |
| 12516 | // Use this to detect multiple renderers using the same context |
| 12517 | rendererSigil = {}; |
| 12518 | } |
| 12519 | |
| 12520 | function pushProvider(providerFiber) { |
| 12521 | var context = providerFiber.type.context; |
| 12522 | |
| 12523 | push(changedBitsCursor, context._changedBits, providerFiber); |
| 12524 | push(valueCursor, context._currentValue, providerFiber); |
| 12525 | push(providerCursor, providerFiber, providerFiber); |
| 12526 | |
| 12527 | context._currentValue = providerFiber.pendingProps.value; |
| 12528 | context._changedBits = providerFiber.stateNode; |
| 12529 | |
| 12530 | { |
| 12531 | warning(context._currentRenderer === null || context._currentRenderer === rendererSigil, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); |
| 12532 | context._currentRenderer = rendererSigil; |
| 12533 | } |
| 12534 | } |
| 12535 | |
| 12536 | function popProvider(providerFiber) { |
| 12537 | var changedBits = changedBitsCursor.current; |
| 12538 | var currentValue = valueCursor.current; |
| 12539 | |
| 12540 | pop(providerCursor, providerFiber); |
| 12541 | pop(valueCursor, providerFiber); |
| 12542 | pop(changedBitsCursor, providerFiber); |
| 12543 | |
| 12544 | var context = providerFiber.type.context; |
| 12545 | context._currentValue = currentValue; |
| 12546 | context._changedBits = changedBits; |
| 12547 | } |
| 12548 | |
| 12549 | return { |
| 12550 | pushProvider: pushProvider, |
| 12551 | popProvider: popProvider |
| 12552 | }; |
| 12553 | }; |
| 12554 | |
| 12555 | var ReactFiberStack = function () { |
| 12556 | var valueStack = []; |
no test coverage detected