class DataIterableAnnotationReader

Properties

protected Lexer|null $lexer
protected PhpDocParser|null $parser

Methods

array
getForClass(ReflectionClass $class)

Get iterable annotations declared for class properties.

getForCollectionClass(ReflectionClass $class)

Get the item type a collection class declares for its parent, such as @extends Collection<int, SongData>.

array
getForProperty(ReflectionProperty $property)

Get iterable annotations declared for a property.

array
getForMethod(ReflectionMethod $method)

Get iterable annotations declared for method parameters.

PhpDocNode|null
parse(string|false $comment)

Parse a PHPDoc comment.

array
extract(TypeNode $type, string $declaringClass, string|null $property = null)

Extract every iterable declaration from a type node.

Details

at line 38
array getForClass(ReflectionClass $class)

Get iterable annotations declared for class properties.

Parameters

ReflectionClass $class

Return Value

array

at line 65
DataIterableAnnotation|null getForCollectionClass(ReflectionClass $class)

Get the item type a collection class declares for its parent, such as @extends Collection<int, SongData>.

Parameters

ReflectionClass $class

Return Value

DataIterableAnnotation|null

at line 103
array getForProperty(ReflectionProperty $property)

Get iterable annotations declared for a property.

Parameters

ReflectionProperty $property

Return Value

array

at line 118
array getForMethod(ReflectionMethod $method)

Get iterable annotations declared for method parameters.

Parameters

ReflectionMethod $method

Return Value

array

at line 147
protected PhpDocNode|null parse(string|false $comment)

Parse a PHPDoc comment.

Parameters

string|false $comment

Return Value

PhpDocNode|null

at line 174
protected array extract(TypeNode $type, string $declaringClass, string|null $property = null)

Extract every iterable declaration from a type node.

Parameters

TypeNode $type
string $declaringClass
string|null $property

Return Value

array