Skip to content

assertArguments fix variadic #226

assertArguments fix variadic

assertArguments fix variadic #226

Triggered via push March 31, 2026 22:20
Status Success
Total duration 1m 3s
Artifacts

test.yml

on: push
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

45 warnings
PHP 8.5 test on ubuntu-24.04
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v3, actions/checkout@v3. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP 8.1 test on ubuntu-24.04
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v3, actions/checkout@v3. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L139
Escaped Mutant for Mutator "InstanceOf_": @@ @@ if (method_exists($reflection, 'getName')) { return $reflection->getName(); } - if ($reflection instanceof ReflectionUnionType) { + if (true) { $types = []; foreach ($reflection->getTypes() as $type) { $types[] = $this->getTypeHint($type);
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L92
Escaped Mutant for Mutator "InstanceOf_": @@ @@ if ($this->type instanceof ReflectionUnionType) { $types = []; foreach ($this->type->getTypes() as $type) { - if ($type instanceof ReflectionIntersectionType) { + if (false) { continue; } $types[] = $type->getName();
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L89
Escaped Mutant for Mutator "InstanceOf_": @@ @@ } private function getParameter(): ParameterInterface { - if ($this->type instanceof ReflectionUnionType) { + if (false) { $types = []; foreach ($this->type->getTypes() as $type) { if ($type instanceof ReflectionIntersectionType) {
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L76
Escaped Mutant for Mutator "IfNegation": @@ @@ $parameter = $parameter->withDefault($this->defaultValue); } $isSensitive = $reflection->getAttributes(SensitiveParameter::class) !== []; - if ($isSensitive) { + if (!$isSensitive) { $parameter = $parameter->withIsSensitive($isSensitive); } $this->parameter = $parameter;
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L71
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $parameter = $attribute->parameter(); } $this->handleDefaultValue(); - if ($this->hasDefault && $this->defaultValue !== null) { + if ($this->hasDefault || $this->defaultValue !== null) { /** @var ParameterInterface $parameter */ $parameter = $parameter->withDefault($this->defaultValue); }
PHP 8.1 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L55
Escaped Mutant for Mutator "FunctionCallRemoval": @@ @@ $typeHintParts = explode('|', $typeHint); $attrHintParts = explode('|', $attrHint); sort($typeHintParts); - sort($attrHintParts); + $typeHint = implode('|', $typeHintParts); $attrHint = implode('|', $attrHintParts); if ($typeHint !== $attrHint) {
PHP 8.1 test on ubuntu-24.04: src/IterableParameter.php#L51
Escaped Mutant for Mutator "InstanceOf_": @@ @@ // @codeCoverageIgnore $this->type = $this->type(); $this->parameters = new Parameters(K: $this->key, V: $this->value); - $this->isEmptyAllowed = $this->value instanceof ArrayParameterInterface && count($this->value->parameters()->requiredKeys()) === 0; + $this->isEmptyAllowed = false && count($this->value->parameters()->requiredKeys()) === 0; } /** * @phpstan-ignore-next-line
PHP 8.1 test on ubuntu-24.04: src/ArrayStringParameter.php#L58
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ } public function assertCompatible(ArrayStringParameterInterface $parameter): void { - $this->assertArrayType($parameter); + } }
PHP 8.1 test on ubuntu-24.04: src/Arguments.php#L145
Escaped Mutant for Mutator "InstanceOf_": @@ @@ if (!is_array($currentArgument)) { throw new TypeError((string) message('Argument `%name%` is not a nested set of arguments', name: $key)); } - if ($currentParameter instanceof ParametersAccessInterface) { + if (true) { return new self($currentParameter->parameters(), $currentArgument); } throw new TypeError((string) message('Parameter `%name%` is not a nested set of parameters', name: $key)); } }
PHP 8.1 test on ubuntu-24.04: src/Arguments.php#L106
Escaped Mutant for Mutator "InstanceOf_": @@ @@ $currentParameter = $this->parameters()->get($key); $currentArgument = $this->arguments[$key] ?? null; foreach ($lookup as $nestedKey) { - if (!$currentParameter instanceof ParametersAccessInterface) { + if (!true) { throw new TypeError((string) message('Parameter `%name%` is not a nested set of parameters', name: $key)); } $parameters = $currentParameter->parameters();
PHP 8.3 test on ubuntu-24.04
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v3, actions/checkout@v3. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP 8.3 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L193
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation": @@ @@ if (! $exists && $applied === []) { return; } - if ($exists && ! $isArray) { + if (!$exists && ! $isArray) { return; } if ($applied !== $existing) {
PHP 8.3 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L191
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); if (! $exists && $applied === []) { - return; + } if ($exists && ! $isArray) { return;
PHP 8.3 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L190
Escaped Mutant for Mutator "LogicalNot": @@ @@ } [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); - if (! $exists && $applied === []) { + if ($exists && $applied === []) { return; } if ($exists && ! $isArray) {
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L194
Escaped Mutant for Mutator "Break_": @@ @@ $this->defaultValue = $reflectionParameter->getDefaultValue(); } - break; + continue; } } }
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L181
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ ? $this->reflection->getDefaultValue() : $this->defaultValue; - return; + } $constructor = $this->reflection->getDeclaringClass()->getConstructor(); if ($constructor === null) {
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L165
Escaped Mutant for Mutator "FalseValue": @@ @@ private function handleDefaultValue(): void { - $this->hasDefault = false; + $this->hasDefault = true; $this->defaultValue = null; if (! ($this->reflection instanceof ReflectionProperty)) { $this->hasDefault = $this->reflection->isDefaultValueAvailable();
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L76
Escaped Mutant for Mutator "IfNegation": @@ @@ $parameter = $parameter->withDefault($this->defaultValue); } $isSensitive = $reflection->getAttributes(SensitiveParameter::class) !== []; - if ($isSensitive) { + if (!$isSensitive) { $parameter = $parameter->withIsSensitive($isSensitive); } $this->parameter = $parameter;
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L71
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $parameter = $attribute->parameter(); } $this->handleDefaultValue(); - if ($this->hasDefault && $this->defaultValue !== null) { + if ($this->hasDefault || $this->defaultValue !== null) { /** @var ParameterInterface $parameter */ $parameter = $parameter->withDefault($this->defaultValue); }
PHP 8.3 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L55
Escaped Mutant for Mutator "FunctionCallRemoval": @@ @@ $typeHintParts = explode('|', $typeHint); $attrHintParts = explode('|', $attrHint); sort($typeHintParts); - sort($attrHintParts); + $typeHint = implode('|', $typeHintParts); $attrHint = implode('|', $attrHintParts); if ($typeHint !== $attrHint) {
PHP 8.3 test on ubuntu-24.04: src/ArrayStringParameter.php#L58
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ public function assertCompatible(ArrayStringParameterInterface $parameter): void { - $this->assertArrayType($parameter); + } }
PHP 8.2 test on ubuntu-24.04
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v3, actions/checkout@v3. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP 8.2 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L193
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation": @@ @@ if (! $exists && $applied === []) { return; } - if ($exists && ! $isArray) { + if (!$exists && ! $isArray) { return; } if ($applied !== $existing) {
PHP 8.2 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L191
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); if (! $exists && $applied === []) { - return; + } if ($exists && ! $isArray) { return;
PHP 8.2 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L190
Escaped Mutant for Mutator "LogicalNot": @@ @@ } [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); - if (! $exists && $applied === []) { + if ($exists && $applied === []) { return; } if ($exists && ! $isArray) {
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L194
Escaped Mutant for Mutator "Break_": @@ @@ $this->defaultValue = $reflectionParameter->getDefaultValue(); } - break; + continue; } } }
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L181
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ ? $this->reflection->getDefaultValue() : $this->defaultValue; - return; + } $constructor = $this->reflection->getDeclaringClass()->getConstructor(); if ($constructor === null) {
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L165
Escaped Mutant for Mutator "FalseValue": @@ @@ private function handleDefaultValue(): void { - $this->hasDefault = false; + $this->hasDefault = true; $this->defaultValue = null; if (! ($this->reflection instanceof ReflectionProperty)) { $this->hasDefault = $this->reflection->isDefaultValueAvailable();
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L76
Escaped Mutant for Mutator "IfNegation": @@ @@ $parameter = $parameter->withDefault($this->defaultValue); } $isSensitive = $reflection->getAttributes(SensitiveParameter::class) !== []; - if ($isSensitive) { + if (!$isSensitive) { $parameter = $parameter->withIsSensitive($isSensitive); } $this->parameter = $parameter;
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L71
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $parameter = $attribute->parameter(); } $this->handleDefaultValue(); - if ($this->hasDefault && $this->defaultValue !== null) { + if ($this->hasDefault || $this->defaultValue !== null) { /** @var ParameterInterface $parameter */ $parameter = $parameter->withDefault($this->defaultValue); }
PHP 8.2 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L55
Escaped Mutant for Mutator "FunctionCallRemoval": @@ @@ $typeHintParts = explode('|', $typeHint); $attrHintParts = explode('|', $attrHint); sort($typeHintParts); - sort($attrHintParts); + $typeHint = implode('|', $typeHintParts); $attrHint = implode('|', $attrHintParts); if ($typeHint !== $attrHint) {
PHP 8.2 test on ubuntu-24.04: src/ArrayStringParameter.php#L58
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ public function assertCompatible(ArrayStringParameterInterface $parameter): void { - $this->assertArrayType($parameter); + } }
PHP 8.4 test on ubuntu-24.04
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v3, actions/checkout@v3. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP 8.4 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L193
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation": @@ @@ if (! $exists && $applied === []) { return; } - if ($exists && ! $isArray) { + if (!$exists && ! $isArray) { return; } if ($applied !== $existing) {
PHP 8.4 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L191
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); if (! $exists && $applied === []) { - return; + } if ($exists && ! $isArray) { return;
PHP 8.4 test on ubuntu-24.04: src/Traits/ArgumentsTrait.php#L190
Escaped Mutant for Mutator "LogicalNot": @@ @@ } [$exists, $isArray, $existing] = $this->getNestedArrayIfExists($this->arguments, $id); $applied = $this->computeNestedDefaults($access, $existing); - if (! $exists && $applied === []) { + if ($exists && $applied === []) { return; } if ($exists && ! $isArray) {
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L194
Escaped Mutant for Mutator "Break_": @@ @@ $this->defaultValue = $reflectionParameter->getDefaultValue(); } - break; + continue; } } }
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L181
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ ? $this->reflection->getDefaultValue() : $this->defaultValue; - return; + } $constructor = $this->reflection->getDeclaringClass()->getConstructor(); if ($constructor === null) {
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L165
Escaped Mutant for Mutator "FalseValue": @@ @@ private function handleDefaultValue(): void { - $this->hasDefault = false; + $this->hasDefault = true; $this->defaultValue = null; if (! ($this->reflection instanceof ReflectionProperty)) { $this->hasDefault = $this->reflection->isDefaultValueAvailable();
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L76
Escaped Mutant for Mutator "IfNegation": @@ @@ $parameter = $parameter->withDefault($this->defaultValue); } $isSensitive = $reflection->getAttributes(SensitiveParameter::class) !== []; - if ($isSensitive) { + if (!$isSensitive) { $parameter = $parameter->withIsSensitive($isSensitive); } $this->parameter = $parameter;
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L71
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $parameter = $attribute->parameter(); } $this->handleDefaultValue(); - if ($this->hasDefault && $this->defaultValue !== null) { + if ($this->hasDefault || $this->defaultValue !== null) { /** @var ParameterInterface $parameter */ $parameter = $parameter->withDefault($this->defaultValue); }
PHP 8.4 test on ubuntu-24.04: src/ReflectionParameterTyped.php#L55
Escaped Mutant for Mutator "FunctionCallRemoval": @@ @@ $typeHintParts = explode('|', $typeHint); $attrHintParts = explode('|', $attrHint); sort($typeHintParts); - sort($attrHintParts); + $typeHint = implode('|', $typeHintParts); $attrHint = implode('|', $attrHintParts); if ($typeHint !== $attrHint) {
PHP 8.4 test on ubuntu-24.04: src/ArrayStringParameter.php#L58
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ public function assertCompatible(ArrayStringParameterInterface $parameter): void { - $this->assertArrayType($parameter); + } }