aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/plugin-class-classifier/src/ParamInfo.php
blob: 3caaa07f8604f6a9d354c38dc881c7466a5b1f28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

declare(strict_types=1);

namespace Shirabe\PluginClassifier;

final class ParamInfo
{
    public function __construct(
        public readonly string $name,
        public readonly bool $byRef,
        public readonly bool $variadic,
        /** Class-like FQCNs in the native type. @var list<string> */
        public readonly array $classTypes,
        /** Native type is array/iterable/mixed/object or absent. */
        public readonly bool $expandable,
        /** Class-like FQCNs from the `@param` docblock. @var list<string> */
        public readonly array $docblockTypes,
        /** Native type mentions callable or \Closure: the value is a
         *  callback that needs a handle across the boundary. */
        public readonly bool $callable = false,
    ) {
    }
}