1: <?php declare(strict_types = 1);
2:
3: namespace ApiGen\Info;
4:
5: use ApiGen\Info\Traits\HasGenericParameters;
6: use ApiGen\Info\Traits\HasLineLocation;
7: use ApiGen\Info\Traits\HasTags;
8: use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTextNode;
9: use PHPStan\PhpDocParser\Ast\Type\TypeNode;
10:
11:
12: class FunctionInfo implements ElementInfo
13: {
14: use HasTags;
15: use HasLineLocation;
16: use HasGenericParameters;
17:
18:
19: /** @var string|null */
20: public ?string $file = null;
21:
22: /** @var ParameterInfo[] indexed by [parameterName] */
23: public array $parameters = [];
24:
25: /** @var TypeNode|null */
26: public ?TypeNode $returnType = null;
27:
28: /** @var PhpDocTextNode[] indexed by [] */
29: public array $returnDescription = [];
30:
31: /** @var bool */
32: public bool $byRef = false;
33:
34:
35: public function __construct(
36: public NameInfo $name,
37: public bool $primary,
38: ) {
39: }
40: }
41: