Skip to content

Fixed and optimized ClassReflection and ReflectorCompatibilityTest, b… #100

Fixed and optimized ClassReflection and ReflectorCompatibilityTest, b…

Fixed and optimized ClassReflection and ReflectorCompatibilityTest, b… #100

Triggered via push February 8, 2024 15:34
Status Failure
Total duration 3m 7s
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 17 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.1)
Process completed with exit code 2.
psalm (8.2)
The job was canceled because "_8_1" failed.
psalm (8.2)
The operation was canceled.
psalm (8.3)
The job was canceled because "_8_1" failed.
psalm (8.3)
The operation was canceled.
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/.
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/.
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/.
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#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/MethodReflection.php#L61
Escaped Mutant for Mutator "Identical": --- Original +++ New @@ @@ } public function __isset(string $name) : bool { - return $name === 'name' || $name === 'class'; + return $name === 'name' || $name !== 'class'; } /** * @internal
infection (8.1): src/MethodReflection.php#L85
Escaped Mutant for Mutator "DecrementInteger": --- Original +++ New @@ @@ * @param class-string<TClass>|null $name * @return ($name is null ? list<AttributeReflection<object>> : list<AttributeReflection<TClass>>) */ - public function getAttributes(?string $name = null, int $flags = 0) : array + public function getAttributes(?string $name = null, int $flags = -1) : array { if ($this->attributes === null) { $class = $this->metadata->class;
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 "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#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#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 */