scope = $scope; } public function offsetExists($offset): bool { return $this->scope->offsetExists($offset); } /** * @phan-suppress PhanUndeclaredClassAttribute */ #[\ReturnTypeWillChange] public function offsetGet($offset) { return $this->scope->offsetGet($offset); } public function offsetSet($offset, $value): void { $this->scope->offsetSet($offset, $value); } public function offsetUnset($offset): void { $this->scope->offsetUnset($offset); } public function context(): ContextInterface { return $this->scope->context(); } public function detach(): int { $flags = $this->scope->detach(); assert(class_exists(Fiber::class, false)); if ($this->scope[Fiber::class] !== Fiber::getCurrent()) { $flags |= ScopeInterface::INACTIVE; } return $flags; } }