required = $condition; return $this; } /** * Append a default value to the argument. */ public function withDefaultValue(mixed $value): static { $this->defaultValue = $value; return $this; } /** * Get the name of the argument. */ public function getName(): string { return $this->name; } /** * Get the default value. */ public function getDefaultValue(): mixed { return $this->defaultValue; } /** * Get the type of the argument. */ public function getType(): Type { return $this->required ? Type::nonNull($this->returnType) : $this->returnType; } }