xref: /ext-fiber/fiber.stub.php (revision b5d6a96a)
1<?php
2
3/** @generate-class-entries */
4
5/** @strict-properties */
6final class Fiber
7{
8    public function __construct(callable $callback) {}
9
10    public function start(mixed ...$args): mixed {}
11
12    public function resume(mixed $value = null): mixed {}
13
14    public function throw(Throwable $exception): mixed {}
15
16    public function isStarted(): bool {}
17
18    public function isSuspended(): bool {}
19
20    public function isRunning(): bool {}
21
22    public function isTerminated(): bool {}
23
24    public function getReturn(): mixed {}
25
26    public static function getCurrent(): ?Fiber {}
27
28    public static function suspend(mixed $value = null): mixed { }
29}
30
31final class ReflectionFiber
32{
33    public function __construct(Fiber $fiber) {}
34
35    public function getFiber(): Fiber {}
36
37    public function getExecutingFile(): string {}
38
39    public function getExecutingLine(): int {}
40
41    public function getTrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT): array {}
42
43    public function getCallable(): callable {}
44}
45
46final class FiberError extends Error
47{
48    public function __construct()
49    {
50        throw new \Error('The "FiberError" class is reserved for internal use and cannot be manually instantiated');
51    }
52}
53
54final class FiberExit extends Exception
55{
56    public function __construct()
57    {
58        throw new \Error('The "FiberExit" class is reserved for internal use and cannot be manually instantiated');
59    }
60}
61