mirror of
https://github.com/danog/psalm.git
synced 2024-12-02 09:37:59 +01:00
Improved Reflection stubs
ReflectionParameter::getPosition() is non-negative-int. ReflectionMethod name property is always non-empty-string. ReflectionAttribute::getTarget() returns Attribute::TARGET_* instead of int-mask. Even for attributes of promoted properties (https://3v4l.org/rpM1t). *::getAttributes() always returns a list (https://3v4l.org/LYAMb).
This commit is contained in:
parent
4a5dbcaebc
commit
07a64f6894
@ -10631,7 +10631,7 @@ return [
|
||||
'ReflectionParameter::getDefaultValue' => ['mixed'],
|
||||
'ReflectionParameter::getDefaultValueConstantName' => ['?string'],
|
||||
'ReflectionParameter::getName' => ['string'],
|
||||
'ReflectionParameter::getPosition' => ['int'],
|
||||
'ReflectionParameter::getPosition' => ['int<0, max>'],
|
||||
'ReflectionParameter::getType' => ['?ReflectionType'],
|
||||
'ReflectionParameter::hasType' => ['bool'],
|
||||
'ReflectionParameter::isArray' => ['bool'],
|
||||
|
@ -28,7 +28,7 @@ class ReflectionAttribute
|
||||
|
||||
/**
|
||||
* @psalm-pure
|
||||
* @return int-mask-of<Attribute::TARGET_*>
|
||||
* @return Attribute::TARGET_*
|
||||
*/
|
||||
public function getTarget() : int
|
||||
{
|
||||
|
@ -416,7 +416,7 @@ abstract class ReflectionFunctionAbstract implements Reflector
|
||||
* @since 8.0
|
||||
* @template TClass as object
|
||||
* @param class-string<TClass>|null $name
|
||||
* @return ($name is null ? array<ReflectionAttribute<object>> : array<ReflectionAttribute<TClass>>)
|
||||
* @return ($name is null ? list<ReflectionAttribute<object>> : list<ReflectionAttribute<TClass>>)
|
||||
*/
|
||||
public function getAttributes(?string $name = null, int $flags = 0): array {}
|
||||
}
|
||||
@ -463,7 +463,7 @@ class ReflectionProperty implements Reflector
|
||||
* @since 8.0
|
||||
* @template TClass as object
|
||||
* @param class-string<TClass>|null $name
|
||||
* @return ($name is null ? array<ReflectionAttribute<object>> : array<ReflectionAttribute<TClass>>)
|
||||
* @return ($name is null ? list<ReflectionAttribute<object>> : list<ReflectionAttribute<TClass>>)
|
||||
*/
|
||||
public function getAttributes(?string $name = null, int $flags = 0): array {}
|
||||
|
||||
@ -540,7 +540,7 @@ class ReflectionProperty implements Reflector
|
||||
class ReflectionMethod extends ReflectionFunctionAbstract
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
* @var non-empty-string
|
||||
* @readonly
|
||||
*/
|
||||
public $name;
|
||||
@ -599,7 +599,7 @@ class ReflectionClassConstant implements Reflector
|
||||
* @since 8.0
|
||||
* @template TClass as object
|
||||
* @param class-string<TClass>|null $name
|
||||
* @return ($name is null ? array<ReflectionAttribute<object>> : array<ReflectionAttribute<TClass>>)
|
||||
* @return ($name is null ? list<ReflectionAttribute<object>> : list<ReflectionAttribute<TClass>>)
|
||||
*/
|
||||
public function getAttributes(?string $name = null, int $flags = 0): array {}
|
||||
|
||||
@ -635,7 +635,7 @@ class ReflectionParameter implements Reflector {
|
||||
* @since 8.0
|
||||
* @template TClass as object
|
||||
* @param class-string<TClass>|null $name
|
||||
* @return ($name is null ? array<ReflectionAttribute<object>> : array<ReflectionAttribute<TClass>>)
|
||||
* @return ($name is null ? list<ReflectionAttribute<object>> : list<ReflectionAttribute<TClass>>)
|
||||
*/
|
||||
public function getAttributes(?string $name = null, int $flags = 0): array {}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user