protected function getActionParams(\ReflectionMethod $method) : array
    {
        return Psi::it($method->getParameters())
            ->filter(new IsInstanceOf(\ReflectionParameter::class))
            ->map(function (\ReflectionParameter $p) {
                return new ActionParamDefinition(
                    $p->getName(),
                    (string) $p->getType(),
                    $p->allowsNull() || $p->isOptional()
                );
            })
            ->toArray();
    }
protected function getActionParams(\ReflectionMethod $method) : array
    {
        return Psi::it($method->getParameters())
            ->filter(new IsInstanceOf(\ReflectionParameter::class))
            ->map(function (\ReflectionParameter $p) {
                return new ActionParamDefinition(
                    $p->getName(),
                    (string) $p->getType(),
                    $p->allowsNull() || $p->isOptional()
                );
            })
            ->toArray();
    }
@param \ReflectionMethod $method

@return ActionParamDefinition[]