$name */ class ReflectionClass implements Reflector { /** * @return non-empty-string|false * @psalm-pure */ public function getFileName(): string|false {} /** * @return positive-int|false * @psalm-pure */ public function getStartLine(): int|false {} /** * @return positive-int|false * @psalm-pure */ public function getEndLine(): int|false {} /** * @return non-empty-string|false * @psalm-pure */ public function getDocComment(): string|false {} /** * @template J as object * @param self|class-string $class * @psalm-assert-if-true self $this * @psalm-pure */ public function isSubclassOf(self|string $class): bool {} /** * @template J as object * @param self|interface-string $interface * @psalm-assert-if-true self $this * @psalm-pure */ public function implementsInterface(self|string $interface): bool {} /** * @return non-empty-string|false * * @psalm-pure */ public function getExtensionName(): string|false {} /** * @param list|array $args * * @return T */ public function newInstanceArgs(array $args): object {} } /** @psalm-immutable */ class ReflectionClassConstant { public const IS_PUBLIC = 1; public const IS_PROTECTED = 2; public const IS_PRIVATE = 4; /** @return non-empty-string|false */ public function getDocComment(): string|false {} } abstract class ReflectionFunctionAbstract implements Reflector { /** * @return non-empty-string|false * * @psalm-pure */ public function getDocComment(): string|false {} /** * @return positive-int|false * * @psalm-pure */ public function getStartLine(): int|false {} /** * @return positive-int|false * * @psalm-pure */ public function getEndLine(): int|false {} /** * @return non-empty-string|false * * @psalm-pure */ public function getFileName(): string|false {} /** * @return non-empty-string|false * * @psalm-pure */ public function getExtensionName(): string|false {} } /** @psalm-immutable */ class Attribute { public int $flags; public const TARGET_CLASS = 1; public const TARGET_FUNCTION = 2; public const TARGET_METHOD = 4; public const TARGET_PROPERTY = 8; public const TARGET_CLASS_CONSTANT = 16; public const TARGET_PARAMETER = 32; public const TARGET_ALL = 63; public const IS_REPEATABLE = 64; /** * @param int-mask-of $flags */ public function __construct(int $flags = self::TARGET_ALL) { } } class ReflectionProperty implements Reflector { /** * @return non-empty-string|false * * @psalm-pure */ public function getDocComment(): string|false {} } /** @psalm-immutable */ class ReflectionUnionType extends ReflectionType { /** @return non-empty-list */ public function getTypes(): array {} } class UnhandledMatchError extends Error {} /** * @psalm-immutable * * @template-covariant Start of string|DateTimeInterface * @implements IteratorAggregate */ class DatePeriod implements IteratorAggregate { const EXCLUDE_START_DATE = 1; /** * @param Start $start * @param (Start is string ? 0|self::EXCLUDE_START_DATE : DateInterval) $interval * @param (Start is string ? never : (DateTimeInterface|positive-int)) $end * @param (Start is string ? never : 0|self::EXCLUDE_START_DATE) $options */ public function __construct($start, $interval = 0, $end = 1, $options = 0) {} /** @psalm-return (Start is string ? Iterator : Iterator) */ public function getIterator(): Iterator {} } /** * @psalm-pure * * @param resource|null $context * * @return ($associative is false|0 ? list : array>)|false * * @psalm-taint-sink ssrf $url */ function get_headers(string $url, bool $associative = false, $context = null) : array|false {} /** * @psalm-pure * * @psalm-flow ($values) -> return */ function pack(string $format, mixed ...$values): string {} final class CurlHandle { private function __construct() { } } final class CurlMultiHandle { private function __construct() { } } final class CurlShareHandle { private function __construct() { } }