mirror of
https://github.com/danog/psalm.git
synced 2024-11-27 04:45:20 +01:00
Added pure annotations to enum functions
This commit is contained in:
parent
8182684941
commit
f0d7556200
@ -4,14 +4,25 @@ namespace {
|
|||||||
/** @var non-empty-string $name */
|
/** @var non-empty-string $name */
|
||||||
public readonly string $name;
|
public readonly string $name;
|
||||||
|
|
||||||
/** @return non-empty-list<static> */
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
* @return non-empty-list<static>
|
||||||
|
*/
|
||||||
public static function cases(): array;
|
public static function cases(): array;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BackedEnum
|
interface BackedEnum
|
||||||
{
|
{
|
||||||
public readonly int|string $value;
|
public readonly int|string $value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
*/
|
||||||
public static function from(string|int $value): static;
|
public static function from(string|int $value): static;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
*/
|
||||||
public static function tryFrom(string|int $value): ?static;
|
public static function tryFrom(string|int $value): ?static;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,12 +38,22 @@ namespace {
|
|||||||
|
|
||||||
class ReflectionEnumUnitCase extends ReflectionClassConstant implements Reflector
|
class ReflectionEnumUnitCase extends ReflectionClassConstant implements Reflector
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
*/
|
||||||
public function getEnum(): ReflectionEnum;
|
public function getEnum(): ReflectionEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
*/
|
||||||
public function getValue(): UnitEnum;
|
public function getValue(): UnitEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
class ReflectionEnumBackedCase extends ReflectionEnumUnitCase implements Reflector
|
class ReflectionEnumBackedCase extends ReflectionEnumUnitCase implements Reflector
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @psalm-pure
|
||||||
|
*/
|
||||||
public function getBackingValue(): int|string;
|
public function getBackingValue(): int|string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user