Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -1077,6 +1077,12 @@ parameters:
count: 2
path: src/Type/Enum/EnumCaseObjectType.php

-
rawMessage: 'Doing instanceof PHPStan\Type\ErrorType is error-prone and deprecated. Use Type::isError() instead.'
identifier: phpstanApi.instanceofType
count: 1
path: src/Type/ErrorType.php

-
rawMessage: 'Doing instanceof PHPStan\Type\ConstantScalarType is error-prone and deprecated. Use Type::isConstantScalarValue() or Type::getConstantScalarTypes() or Type::getConstantScalarValues() instead.'
identifier: phpstanApi.instanceofType
Expand Down Expand Up @@ -1479,6 +1485,12 @@ parameters:
count: 1
path: src/Type/ObjectType.php

-
rawMessage: 'Doing instanceof PHPStan\Type\ErrorType is error-prone and deprecated. Use Type::isError() instead.'
identifier: phpstanApi.instanceofType
count: 4
path: src/Type/ObjectType.php

-
rawMessage: Doing instanceof PHPStan\Type\Generic\GenericObjectType is error-prone and deprecated.
identifier: phpstanApi.instanceofType
Expand Down
6 changes: 3 additions & 3 deletions src/Analyser/MutatingScope.php
Original file line number Diff line number Diff line change
Expand Up @@ -1800,15 +1800,15 @@ static function (Node $node, Scope $scope) use ($arrowScope, &$arrowFunctionImpu

$returnType = $functionReflection->getReturnType();
$generatorSendType = $returnType->getTemplateType(Generator::class, 'TSend');
if ($generatorSendType instanceof ErrorType) {
if ($generatorSendType->isError()->yes()) {
return new MixedType();
}

return $generatorSendType;
} elseif ($node instanceof Expr\YieldFrom) {
$yieldFromType = $this->getType($node->expr);
$generatorReturnType = $yieldFromType->getTemplateType(Generator::class, 'TReturn');
if ($generatorReturnType instanceof ErrorType) {
if ($generatorReturnType->isError()->yes()) {
return new MixedType();
}

Expand Down Expand Up @@ -6040,7 +6040,7 @@ classReflection: $classReflection->withTypes($types)->asFinal(),
return TypeTraverser::map($newGenericType, static function (Type $type, callable $traverse) use ($resolvedTemplateTypeMap): Type {
if ($type instanceof TemplateType && !$type->isArgument()) {
$newType = $resolvedTemplateTypeMap->getType($type->getName());
if ($newType === null || $newType instanceof ErrorType) {
if ($newType === null || $newType->isError()->yes()) {
return $type->getDefault() ?? $type->getBound();
}

Expand Down
2 changes: 1 addition & 1 deletion src/Reflection/ClassReflection.php
Original file line number Diff line number Diff line change
Expand Up @@ -1643,7 +1643,7 @@ public function getActiveTemplateTypeMap(): TemplateTypeMap
if ($resolved !== null) {
$templateTypeMap = $this->getTemplateTypeMap();
return $this->activeTemplateTypeMap = $resolved->map(static function (string $name, Type $type) use ($templateTypeMap): Type {
if ($type instanceof ErrorType) {
if ($type->isError()->yes()) {
$templateType = $templateTypeMap->getType($name);
if ($templateType !== null) {
return TemplateTypeHelper::resolveToDefaults($templateType);
Expand Down
38 changes: 19 additions & 19 deletions src/Reflection/InitializerExprTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@ public function resolveConcatType(Type $left, Type $right): Type
if (TypeCombinator::union(
$leftStringType,
$rightStringType,
) instanceof ErrorType) {
)->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -974,7 +974,7 @@ public function getBitwiseAndType(Expr $left, Expr $right, callable $getTypeCall
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1001,7 +1001,7 @@ public function getBitwiseAndType(Expr $left, Expr $right, callable $getTypeCall
$leftNumberType = $leftType->toNumber();
$rightNumberType = $rightType->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1043,7 +1043,7 @@ public function getBitwiseOrType(Expr $left, Expr $right, callable $getTypeCallb
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1067,7 +1067,7 @@ public function getBitwiseOrType(Expr $left, Expr $right, callable $getTypeCallb
return new StringType();
}

if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber()) instanceof ErrorType) {
if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1102,7 +1102,7 @@ public function getBitwiseXorType(Expr $left, Expr $right, callable $getTypeCall
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1126,7 +1126,7 @@ public function getBitwiseXorType(Expr $left, Expr $right, callable $getTypeCall
return new StringType();
}

if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber()) instanceof ErrorType) {
if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1187,7 +1187,7 @@ public function getDivType(Expr $left, Expr $right, callable $getTypeCallback):
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1238,7 +1238,7 @@ public function getModType(Expr $left, Expr $right, callable $getTypeCallback):
return $extensionSpecified;
}

if ($leftType->toNumber() instanceof ErrorType || $rightType->toNumber() instanceof ErrorType) {
if ($leftType->toNumber()->isError()->yes() || $rightType->toNumber()->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1255,7 +1255,7 @@ public function getModType(Expr $left, Expr $right, callable $getTypeCallback):
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1354,7 +1354,7 @@ public function getPlusType(Expr $left, Expr $right, callable $getTypeCallback):
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1533,7 +1533,7 @@ public function getMinusType(Expr $left, Expr $right, callable $getTypeCallback)
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1577,7 +1577,7 @@ public function getMulType(Expr $left, Expr $right, callable $getTypeCallback):
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1630,7 +1630,7 @@ public function getPowType(Expr $left, Expr $right, callable $getTypeCallback):
}

$exponentiatedTyped = $leftType->exponentiate($rightType);
if (!$exponentiatedTyped instanceof ErrorType) {
if (!$exponentiatedTyped->isError()->yes()) {
return $exponentiatedTyped;
}

Expand Down Expand Up @@ -1662,7 +1662,7 @@ public function getShiftLeftType(Expr $left, Expr $right, callable $getTypeCallb
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1689,7 +1689,7 @@ public function getShiftLeftType(Expr $left, Expr $right, callable $getTypeCallb
$leftNumberType = $leftType->toNumber();
$rightNumberType = $rightType->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1721,7 +1721,7 @@ public function getShiftRightType(Expr $left, Expr $right, callable $getTypeCall
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand All @@ -1748,7 +1748,7 @@ public function getShiftRightType(Expr $left, Expr $right, callable $getTypeCall
$leftNumberType = $leftType->toNumber();
$rightNumberType = $rightType->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1966,7 +1966,7 @@ private function resolveCommonMath(Expr\BinaryOp $expr, Type $leftType, Type $ri
return new ErrorType();
}

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {
return new ErrorType();
}
if ($leftNumberType instanceof NeverType || $rightNumberType instanceof NeverType) {
Expand Down
3 changes: 1 addition & 2 deletions src/Reflection/Php/PhpClassReflectionExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
use PHPStan\Type\Constant\ConstantArrayTypeBuilder;
use PHPStan\Type\Constant\ConstantStringType;
use PHPStan\Type\Enum\EnumCaseObjectType;
use PHPStan\Type\ErrorType;
use PHPStan\Type\FileTypeMapper;
use PHPStan\Type\GeneralizePrecision;
use PHPStan\Type\Generic\TemplateMixedType;
Expand Down Expand Up @@ -1161,7 +1160,7 @@
}

$propertyType = $methodScope->getType($expr->expr);
if ($propertyType instanceof ErrorType || $propertyType instanceof NeverType) {
if ($propertyType->isError()->yes() || $propertyType instanceof NeverType) {

Check warning on line 1163 in src/Reflection/Php/PhpClassReflectionExtension.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ continue; } $propertyType = $methodScope->getType($expr->expr); - if ($propertyType->isError()->yes() || $propertyType instanceof NeverType) { + if (!$propertyType->isError()->no() || $propertyType instanceof NeverType) { continue; } $propertyType = $propertyType->generalize(GeneralizePrecision::lessSpecific());

Check warning on line 1163 in src/Reflection/Php/PhpClassReflectionExtension.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ continue; } $propertyType = $methodScope->getType($expr->expr); - if ($propertyType->isError()->yes() || $propertyType instanceof NeverType) { + if (!$propertyType->isError()->no() || $propertyType instanceof NeverType) { continue; } $propertyType = $propertyType->generalize(GeneralizePrecision::lessSpecific());

Check warning on line 1163 in src/Reflection/Php/PhpClassReflectionExtension.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ continue; } $propertyType = $methodScope->getType($expr->expr); - if ($propertyType->isError()->yes() || $propertyType instanceof NeverType) { + if (!$propertyType->isError()->no() || $propertyType instanceof NeverType) { continue; } $propertyType = $propertyType->generalize(GeneralizePrecision::lessSpecific());
continue;
}

Expand Down
5 changes: 2 additions & 3 deletions src/Reflection/ResolvedFunctionVariantWithOriginal.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use PHPStan\Reflection\Php\ExtendedDummyParameter;
use PHPStan\Type\ConditionalTypeForParameter;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Generic\GenericObjectType;
use PHPStan\Type\Generic\GenericStaticType;
use PHPStan\Type\Generic\TemplateType;
Expand Down Expand Up @@ -211,7 +210,7 @@
&& $type->getScope()->getFunctionName() !== null
) {
$newType = $this->resolvedTemplateTypeMap->getType($type->getName());
if ($newType === null || $newType instanceof ErrorType) {
if ($newType === null || $newType->isError()->yes()) {

Check warning on line 213 in src/Reflection/ResolvedFunctionVariantWithOriginal.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $objectCb = function (Type $type, callable $traverse) use ($references): Type { if ($type instanceof TemplateType && !$type->isArgument() && $type->getScope()->getFunctionName() !== null) { $newType = $this->resolvedTemplateTypeMap->getType($type->getName()); - if ($newType === null || $newType->isError()->yes()) { + if ($newType === null || !$newType->isError()->no()) { return $traverse($type); } $newType = TemplateTypeHelper::generalizeInferredTemplateType($type, $newType);

Check warning on line 213 in src/Reflection/ResolvedFunctionVariantWithOriginal.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $objectCb = function (Type $type, callable $traverse) use ($references): Type { if ($type instanceof TemplateType && !$type->isArgument() && $type->getScope()->getFunctionName() !== null) { $newType = $this->resolvedTemplateTypeMap->getType($type->getName()); - if ($newType === null || $newType->isError()->yes()) { + if ($newType === null || !$newType->isError()->no()) { return $traverse($type); } $newType = TemplateTypeHelper::generalizeInferredTemplateType($type, $newType);

Check warning on line 213 in src/Reflection/ResolvedFunctionVariantWithOriginal.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $objectCb = function (Type $type, callable $traverse) use ($references): Type { if ($type instanceof TemplateType && !$type->isArgument() && $type->getScope()->getFunctionName() !== null) { $newType = $this->resolvedTemplateTypeMap->getType($type->getName()); - if ($newType === null || $newType->isError()->yes()) { + if ($newType === null || !$newType->isError()->no()) { return $traverse($type); } $newType = TemplateTypeHelper::generalizeInferredTemplateType($type, $newType);
return $traverse($type);
}

Expand Down Expand Up @@ -252,7 +251,7 @@

if ($type instanceof TemplateType && !$type->isArgument()) {
$newType = $this->resolvedTemplateTypeMap->getType($type->getName());
if ($newType === null || $newType instanceof ErrorType) {
if ($newType === null || $newType->isError()->yes()) {
return $traverse($type);
}

Expand Down
2 changes: 2 additions & 0 deletions src/Rules/Api/ApiInstanceofTypeRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
use PHPStan\Type\Constant\ConstantStringType;
use PHPStan\Type\ConstantScalarType;
use PHPStan\Type\Enum\EnumCaseObjectType;
use PHPStan\Type\ErrorType;
use PHPStan\Type\FloatType;
use PHPStan\Type\Generic\GenericClassStringType;
use PHPStan\Type\Generic\GenericObjectType;
Expand Down Expand Up @@ -79,6 +80,7 @@ final class ApiInstanceofTypeRule implements Rule
IntersectionType::class => null,
ConstantScalarType::class => 'Type::isConstantScalarValue() or Type::getConstantScalarTypes() or Type::getConstantScalarValues()',
ObjectShapeType::class => 'Type::isObject() and Type::hasProperty()',
ErrorType::class => 'Type::isError()',

// accessory types
NonEmptyArrayType::class => 'Type::isIterableAtLeastOnce()',
Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/ArrayDestructuringRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\Constant\ConstantIntegerType;
use PHPStan\Type\ErrorType;
use PHPStan\Type\ObjectType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
Expand Down Expand Up @@ -65,7 +64,7 @@
static fn (Type $varType): bool => $varType->isArray()->yes() || (new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->yes(),
);
$exprType = $exprTypeResult->getType();
if ($exprType instanceof ErrorType) {
if ($exprType->isError()->yes()) {

Check warning on line 67 in src/Rules/Arrays/ArrayDestructuringRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { $exprTypeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $expr, '', static fn(Type $varType): bool => $varType->isArray()->yes() || (new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->yes()); $exprType = $exprTypeResult->getType(); - if ($exprType->isError()->yes()) { + if (!$exprType->isError()->no()) { return []; } if (!$exprType->isArray()->yes() && !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($exprType)->yes()) {

Check warning on line 67 in src/Rules/Arrays/ArrayDestructuringRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { $exprTypeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $expr, '', static fn(Type $varType): bool => $varType->isArray()->yes() || (new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->yes()); $exprType = $exprTypeResult->getType(); - if ($exprType->isError()->yes()) { + if (!$exprType->isError()->no()) { return []; } if (!$exprType->isArray()->yes() && !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($exprType)->yes()) {

Check warning on line 67 in src/Rules/Arrays/ArrayDestructuringRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { $exprTypeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $expr, '', static fn(Type $varType): bool => $varType->isArray()->yes() || (new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->yes()); $exprType = $exprTypeResult->getType(); - if ($exprType->isError()->yes()) { + if (!$exprType->isError()->no()) { return []; } if (!$exprType->isArray()->yes() && !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($exprType)->yes()) {
return [];
}
if (!$exprType->isArray()->yes() && !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($exprType)->yes()) {
Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/ArrayUnpackingRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
use PHPStan\Rules\Rule;
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
use function sprintf;
Expand Down Expand Up @@ -46,7 +45,7 @@ public function processNode(Node $node, Scope $scope): array
);

$keyType = $typeResult->getType();
if ($keyType instanceof ErrorType) {
if ($keyType->isError()->yes()) {
return $typeResult->getUnknownClassErrors();
}

Expand Down
5 changes: 2 additions & 3 deletions src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
use PHPStan\Rules\Rule;
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
use function sprintf;
Expand Down Expand Up @@ -49,7 +48,7 @@
static fn (Type $varType): bool => $varType->isArray()->no(),
)->getType();

if ($varType instanceof ErrorType) {
if ($varType->isError()->yes()) {

Check warning on line 51 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ return []; } $varType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->var, '', static fn(Type $varType): bool => $varType->isArray()->no())->getType(); - if ($varType->isError()->yes()) { + if (!$varType->isError()->no()) { return []; } $isArray = $varType->isArray();

Check warning on line 51 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ return []; } $varType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->var, '', static fn(Type $varType): bool => $varType->isArray()->no())->getType(); - if ($varType->isError()->yes()) { + if (!$varType->isError()->no()) { return []; } $isArray = $varType->isArray();

Check warning on line 51 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ return []; } $varType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->var, '', static fn(Type $varType): bool => $varType->isArray()->no())->getType(); - if ($varType->isError()->yes()) { + if (!$varType->isError()->no()) { return []; } $isArray = $varType->isArray();
return [];
}

Expand All @@ -65,7 +64,7 @@
'',
static fn (Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes(),
)->getType();
if ($dimensionType instanceof ErrorType) {
if ($dimensionType->isError()->yes()) {

Check warning on line 67 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->dim, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);

Check warning on line 67 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->dim, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);

Check warning on line 67 in src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->dim, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);
return [];
}

Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/InvalidKeyInArrayItemRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use PHPStan\Rules\Rule;
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
use function sprintf;
Expand Down Expand Up @@ -46,7 +45,7 @@
'',
static fn (Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes(),
)->getType();
if ($dimensionType instanceof ErrorType) {
if ($dimensionType->isError()->yes()) {

Check warning on line 48 in src/Rules/Arrays/InvalidKeyInArrayItemRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->key, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);

Check warning on line 48 in src/Rules/Arrays/InvalidKeyInArrayItemRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->key, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);

Check warning on line 48 in src/Rules/Arrays/InvalidKeyInArrayItemRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } $allowedArrayKeys = AllowedArrayKeysTypes::getType($this->phpVersion); $dimensionType = $this->ruleLevelHelper->findTypeToCheck($scope, $node->key, '', static fn(Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes())->getType(); - if ($dimensionType->isError()->yes()) { + if (!$dimensionType->isError()->no()) { return []; } $isSuperType = $allowedArrayKeys->isSuperTypeOf($dimensionType);
return [];
}

Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/IterableInForeachRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use PHPStan\Rules\Rule;
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
use function sprintf;
Expand Down Expand Up @@ -40,7 +39,7 @@
static fn (Type $type): bool => $type->isIterable()->yes(),
);
$type = $typeResult->getType();
if ($type instanceof ErrorType) {
if ($type->isError()->yes()) {

Check warning on line 42 in src/Rules/Arrays/IterableInForeachRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.3, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $originalNode = $node->getOriginalNode(); $typeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $originalNode->expr, 'Iterating over an object of an unknown class %s.', static fn(Type $type): bool => $type->isIterable()->yes()); $type = $typeResult->getType(); - if ($type->isError()->yes()) { + if (!$type->isError()->no()) { return $typeResult->getUnknownClassErrors(); } if ($type->isIterable()->yes()) {

Check warning on line 42 in src/Rules/Arrays/IterableInForeachRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.4, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $originalNode = $node->getOriginalNode(); $typeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $originalNode->expr, 'Iterating over an object of an unknown class %s.', static fn(Type $type): bool => $type->isIterable()->yes()); $type = $typeResult->getType(); - if ($type->isError()->yes()) { + if (!$type->isError()->no()) { return $typeResult->getUnknownClassErrors(); } if ($type->isIterable()->yes()) {

Check warning on line 42 in src/Rules/Arrays/IterableInForeachRule.php

View workflow job for this annotation

GitHub Actions / Mutation Testing (8.2, ubuntu-latest)

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $originalNode = $node->getOriginalNode(); $typeResult = $this->ruleLevelHelper->findTypeToCheck($scope, $originalNode->expr, 'Iterating over an object of an unknown class %s.', static fn(Type $type): bool => $type->isIterable()->yes()); $type = $typeResult->getType(); - if ($type->isError()->yes()) { + if (!$type->isError()->no()) { return $typeResult->getUnknownClassErrors(); } if ($type->isIterable()->yes()) {
return $typeResult->getUnknownClassErrors();
}
if ($type->isIterable()->yes()) {
Expand Down
Loading
Loading