Skip to content

Update dependency vimeo/psalm to ^6.17.0 #4534

Update dependency vimeo/psalm to ^6.17.0

Update dependency vimeo/psalm to ^6.17.0 #4534

Triggered via pull request September 11, 2026 12:08
Status Failure
Total duration 17m 34s
Artifacts

continuous-integration.yml

on: pull_request
Matrix: Check Backward Compatibility
Matrix: Run benchmarks
Matrix: Check Coding Standards
Matrix: Test Compatibility
Matrix: Check Demo Scripts
Matrix: Mutation tests
Matrix: PHPUnit tests
Matrix: Static Analysis by PHPStan
Matrix: Static Analysis by Psalm
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 10 warnings
Static Analysis by Psalm (locked, 8.4, ubuntu-latest)
Process completed with exit code 2.
ArgumentTypeCoercion: src/SourceLocator/Type/PhpInternalSourceLocator.php#L60
src/SourceLocator/Type/PhpInternalSourceLocator.php:60:102: ArgumentTypeCoercion: Argument 1 of Roave\BetterReflection\SourceLocator\SourceStubber\SourceStubber::generateClassStub expects class-string|trait-string, but parent type (class-string<T:ReflectionClass as object>)|string provided (see https://psalm.dev/193)
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/ReflectionClass.php#L780
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ private function getConstantsConsideringAlreadyVisitedClasses(AlreadyVisitedClasses $alreadyVisitedClasses): array { if ($this->cachedConstants !== null) { - return $this->cachedConstants; + } $alreadyVisitedClasses->push($this->getName());
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/ReflectionClass.php#L454
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ private function getMethodsIndexedByLowercasedName(AlreadyVisitedClasses $alreadyVisitedClasses): array { if ($this->cachedMethods !== null) { - return $this->cachedMethods; + } $alreadyVisitedClasses->push($this->getName());
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/ReflectionClass.php#L406
Escaped Mutant for Mutator "Break_": @@ @@ foreach ($traitAliasDefinitions as $traitAliasDefinition) { if ($lowerCasedMethodHash === $traitAliasDefinition['hash']) { $modifiersUsedWithAlias = true; - break; + continue; } } }
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/Adapter/ReflectionParameter.php#L147
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ } if ($typeReflection instanceof BetterReflectionIntersectionType) { - return false; + } $isOneOfAllowedTypes = static function (BetterReflectionType $namedType, string ...$types): bool {
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/Adapter/ReflectionParameter.php#L115
Escaped Mutant for Mutator "Break_": @@ @@ } $classType = $unionInnerType; - break; + continue; } }
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/Adapter/ReflectionParameter.php#L98
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ $unionTypes = $type->getTypes(); if (count($unionTypes) !== 2) { - return null; + } if (! $type->allowsNull()) {
Mutation tests (locked, 8.4, ubuntu-latest): src/Reflection/Adapter/ReflectionParameter.php#L89
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ } if ($type instanceof BetterReflectionIntersectionType) { - return null; + } if ($type instanceof BetterReflectionNamedType) {
Mutation tests (locked, 8.4, ubuntu-latest): src/NodeCompiler/CompilerContext.php#L67
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ } if ($this->contextReflection instanceof ReflectionClassConstant) { - return $this->contextReflection->getDeclaringClass(); + } if ($this->contextReflection instanceof ReflectionEnumCase) {
Mutation tests (locked, 8.4, ubuntu-latest): src/NodeCompiler/CompilerContext.php#L35
Escaped Mutant for Mutator "ReturnRemoval": @@ @@ public function getFileName(): string|null { if ($this->contextReflection instanceof ReflectionConstant) { - return $this->contextReflection->getFileName(); + } // @infection-ignore-all Coalesce: There's no difference
Mutation tests (locked, 8.4, ubuntu-latest): src/Identifier/Identifier.php#L27
Escaped Mutant for Mutator "LogicalOr": @@ @@ { if ( $name === self::WILDCARD - || $name === ReflectionFunction::CLOSURE_NAME - || str_starts_with($name, ReflectionClass::ANONYMOUS_CLASS_NAME_PREFIX) + || $name === ReflectionFunction::CLOSURE_NAME && str_starts_with($name, ReflectionClass::ANONYMOUS_CLASS_NAME_PREFIX) ) { $this->name = $name;