Skip to content

Rewrote NameContext, added TypeContext #85

Rewrote NameContext, added TypeContext

Rewrote NameContext, added TypeContext #85

Triggered via push February 2, 2024 06:58
Status Success
Total duration 55s
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

19 warnings
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/.
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.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/.
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/.
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/.
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/.
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/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 ReflectionException(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 ReflectionException(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 ReflectionException(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 ReflectionException(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 */
infection (8.1): src/NameContext/NameContext.php#L172
Escaped Mutant for Mutator "UnwrapStrToLower": --- Original +++ New @@ @@ } public function resolveNameAsConstant(string $name) : array { - if (strtolower($name) === self::STATIC) { + if ($name === self::STATIC) { throw new \InvalidArgumentException('static is not a valid constant name.'); } $name = self::parse($name);
infection (8.1): src/PhpDocParser/PHPStanOverPsalmOverOthersTagPrioritizer.php#L17
Escaped Mutant for Mutator "IncrementInteger": --- Original +++ New @@ @@ public function priorityFor(string $tagName) : int { if (str_starts_with($tagName, '@phpstan')) { - return 2; + return 3; } if (str_starts_with($tagName, '@psalm')) { return 1;