Improve command signature logic

This commit is contained in:
Chris 2025-01-18 14:23:46 +01:00
parent 474ccbb012
commit 0bca797e8d

View File

@ -53,13 +53,13 @@ class Command
} else { } else {
$type = $parameter->getType(); $type = $parameter->getType();
if ($type instanceof ReflectionNamedType && $type->isBuiltin()) { if ($type instanceof ReflectionNamedType && $type->isBuiltin()) {
$type = $type->getName(); $type = ($type->allowsNull() ? "?" : "") . $type->getName();
} else { } else {
$type = null; $type = null;
} }
} }
if ($parameter->isOptional()) $type = "?{$type}"; if ($parameter->isDefaultValueAvailable()) $type = "{$type}=".\json_encode($parameter->getDefaultValue(),\JSON_UNESCAPED_SLASHES);
if ($type !== null) $args[$name] = $type; if ($type !== null) $args[$name] = $type;
} }