Skip to content

Add ExprUsedAsStringNode virtual node emitted for expressions used as a string #29954

Add ExprUsedAsStringNode virtual node emitted for expressions used as a string

Add ExprUsedAsStringNode virtual node emitted for expressions used as a string #29954

Triggered via pull request June 2, 2026 06:03
Status Failure
Total duration 15m 47s
Artifacts

tests.yml

on: pull_request
Matrix: Tests PHPUnit 12.x
Determine levels tests matrix
42s
Determine levels tests matrix
Matrix: Integration tests
Matrix: Tests PHPUnit 11.x
Matrix: Tests with old PHPUnit
Matrix: Mutation Testing
Matrix: Levels tests
Fit to window
Zoom out
Zoom in

Annotations

2 errors, 5 warnings, and 8 notices
Mutation Testing (8.3, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.4, ubuntu-latest)
Process completed with exit code 1.
Mutation Testing (8.3, ubuntu-latest): src/Analyser/ExprHandler/AssignHandler.php#L296
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $propertyName = $var->name->toString(); $holderType = $scope->getType($var->var); - if (!$holderType->hasInstanceProperty($propertyName)->yes()) { + if ($holderType->hasInstanceProperty($propertyName)->no()) { return null; } $property = $holderType->getInstanceProperty($propertyName, $scope);
Mutation Testing (8.3, ubuntu-latest): src/Analyser/ExprHandler/AssignHandler.php#L280
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ private function containsString(Type $type): bool { foreach (TypeUtils::flattenTypes($type) as $innerType) { - if ($innerType->isString()->yes()) { + if (!$innerType->isString()->no()) { return true; } }
Mutation Testing (8.3, ubuntu-latest): src/Analyser/ExprHandler/AssignHandler.php#L256
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ private function isAssignToStringSlot(MutatingScope $scope, Expr $var, Expr $assignedExpr): bool { if ($var instanceof Variable) { - return $scope->getType($assignedExpr)->isString()->yes(); + return !$scope->getType($assignedExpr)->isString()->no(); } $slotType = $this->getAssignTargetPropertyNativeType($scope, $var);
Mutation Testing (8.4, ubuntu-latest): src/Analyser/ExprHandler/AssignHandler.php#L296
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $propertyName = $var->name->toString(); $holderType = $scope->getType($var->var); - if (!$holderType->hasInstanceProperty($propertyName)->yes()) { + if ($holderType->hasInstanceProperty($propertyName)->no()) { return null; } $property = $holderType->getInstanceProperty($propertyName, $scope);
Mutation Testing (8.4, ubuntu-latest): src/Analyser/ExprHandler/AssignHandler.php#L280
Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ private function containsString(Type $type): bool { foreach (TypeUtils::flattenTypes($type) as $innerType) { - if ($innerType->isString()->yes()) { + if (!$innerType->isString()->no()) { return true; } }
Integration tests (windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests PHPUnit 12.x (8.5, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests PHPUnit 12.x (8.3, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests PHPUnit 11.x (8.2, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests with old PHPUnit (7.4, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests PHPUnit 12.x (8.4, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests with old PHPUnit (8.0, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026
Tests with old PHPUnit (8.1, windows-latest)
NOTICE: windows-latest requests are being redirected to windows-2025-vs2026 by June 15, 2026