Skip to content

Reflectors decomposition #101

Reflectors decomposition

Reflectors decomposition #101

Triggered via push February 8, 2024 16:39
Status Failure
Total duration 2m 34s
Artifacts
Matrix: composer-normalize
Matrix: composer-validate
Matrix: infection
Matrix: php-cs-fixer
Matrix: psalm
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 19 warnings
UnusedClass: src/TypeResolver/IdentityTypeReplacer.php#L14
src/TypeResolver/IdentityTypeReplacer.php:14:13: UnusedClass: Class Typhoon\Reflection\TypeResolver\IdentityTypeReplacer is never used (see https://psalm.dev/075)
psalm (8.3)
Process completed with exit code 2.
UnusedClass: src/TypeResolver/IdentityTypeReplacer.php#L14
src/TypeResolver/IdentityTypeReplacer.php:14:13: UnusedClass: Class Typhoon\Reflection\TypeResolver\IdentityTypeReplacer is never used (see https://psalm.dev/075)
psalm (8.2)
The operation was canceled.
UnusedClass: src/TypeResolver/IdentityTypeReplacer.php#L14
src/TypeResolver/IdentityTypeReplacer.php:14:13: UnusedClass: Class Typhoon\Reflection\TypeResolver\IdentityTypeReplacer is never used (see https://psalm.dev/075)
psalm (8.1)
The operation was canceled.
composer-normalize (8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
test (8.2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
test (8.3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
psalm (8.3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
psalm (8.2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
php-cs-fixer (8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
psalm (8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
test (8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
infection (8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
infection (8.1): src/ClassReflection.php#L172
Escaped Mutant for Mutator "DecrementInteger": --- Original +++ New @@ @@ */ public function getMethods(?int $filter = null) : array { - if ($filter === null || $filter === 0) { + if ($filter === null || $filter === -1) { return array_values($this->getResolvedMethods()); } return array_values(array_filter($this->getResolvedMethods(), static fn(MethodReflection $method): bool => ($filter & $method->getModifiers()) !== 0));
infection (8.1): src/ClassReflection.php#L434
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation": --- Original +++ New @@ @@ } public function isInstance(object $object) : bool { - return $this->metadata->name === $object::class || $this->reflectClass($object::class)->isSubclassOf($this); + return !($this->metadata->name === $object::class) || !$this->reflectClass($object::class)->isSubclassOf($this); } public function isInstantiable() : bool {
infection (8.1): src/NameContext/NameContext.php#L81
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ } public function enterNamespace(?string $namespace = null) : void { - $this->leaveNamespace(); + if ($namespace !== null) { $this->namespace = self::parse($namespace)->resolve(); }
infection (8.1): src/NameContext/NameContext.php#L107
Escaped Mutant for Mutator "Identical": --- Original +++ New @@ @@ public function addConstantUse(string $name, ?string $alias = null) : void { $resolvedName = self::parse($name)->resolve(); - $resolvedAlias = ($alias === null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); + $resolvedAlias = ($alias !== null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); if (isset($this->constantImportTable[$resolvedAlias])) { throw new DefaultReflectionException(sprintf('Cannot use constant %s as %s because the name is already in use.', $name, $resolvedAlias)); }
infection (8.1): src/NameContext/NameContext.php#L107
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ public function addConstantUse(string $name, ?string $alias = null) : void { $resolvedName = self::parse($name)->resolve(); - $resolvedAlias = ($alias === null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); + $resolvedAlias = ($alias === null ? new UnqualifiedName($alias) : $resolvedName->lastSegment())->toString(); if (isset($this->constantImportTable[$resolvedAlias])) { throw new DefaultReflectionException(sprintf('Cannot use constant %s as %s because the name is already in use.', $name, $resolvedAlias)); }
infection (8.1): src/NameContext/NameContext.php#L123
Escaped Mutant for Mutator "Identical": --- Original +++ New @@ @@ public function addFunctionUse(string $name, ?string $alias = null) : void { $resolvedName = self::parse($name)->resolve(); - $resolvedAlias = ($alias === null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); + $resolvedAlias = ($alias !== null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); if (isset($this->functionImportTable[$resolvedAlias])) { throw new DefaultReflectionException(sprintf('Cannot use constant %s as %s because the name is already in use.', $name, $resolvedAlias)); }
infection (8.1): src/NameContext/NameContext.php#L123
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ public function addFunctionUse(string $name, ?string $alias = null) : void { $resolvedName = self::parse($name)->resolve(); - $resolvedAlias = ($alias === null ? $resolvedName->lastSegment() : new UnqualifiedName($alias))->toString(); + $resolvedAlias = ($alias === null ? new UnqualifiedName($alias) : $resolvedName->lastSegment())->toString(); if (isset($this->functionImportTable[$resolvedAlias])) { throw new DefaultReflectionException(sprintf('Cannot use constant %s as %s because the name is already in use.', $name, $resolvedAlias)); }
infection (8.1): src/NameContext/NameContext.php#L138
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ } public function enterClass(string $name, ?string $parent = null) : void { - $this->leaveClass(); + $this->namespaceImportTable[self::SELF] = self::parse($name)->resolve($this->namespace, $this->namespaceImportTable); if ($parent !== null) { $this->namespaceImportTable[self::PARENT] = self::parse($parent)->resolve($this->namespace, $this->namespaceImportTable);
infection (8.1): src/NameContext/NameContext.php#L162
Escaped Mutant for Mutator "UnwrapStrToLower": --- Original +++ New @@ @@ } public function resolveNameAsClass(string $name) : string { - if (!isset($this->namespaceImportTable[self::SELF]) && isset(self::SPECIAL[strtolower($name)])) { + if (!isset($this->namespaceImportTable[self::SELF]) && isset(self::SPECIAL[$name])) { throw new \InvalidArgumentException(sprintf('%s cannot be used outside of the class scope.', $name)); } /** @var class-string */
infection (8.1): src/NameContext/NameContext.php#L162
Escaped Mutant for Mutator "LogicalAndAllSubExprNegation": --- Original +++ New @@ @@ } public function resolveNameAsClass(string $name) : string { - if (!isset($this->namespaceImportTable[self::SELF]) && isset(self::SPECIAL[strtolower($name)])) { + if (isset($this->namespaceImportTable[self::SELF]) && !isset(self::SPECIAL[strtolower($name)])) { throw new \InvalidArgumentException(sprintf('%s cannot be used outside of the class scope.', $name)); } /** @var class-string */