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
6 changes: 6 additions & 0 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -1053,6 +1053,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
4 changes: 2 additions & 2 deletions src/Analyser/MutatingScope.php
Original file line number Diff line number Diff line change
Expand Up @@ -1323,15 +1323,15 @@

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

Check warning on line 1326 in src/Analyser/MutatingScope.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $returnType = $functionReflection->getReturnType(); $generatorSendType = $returnType->getTemplateType(Generator::class, 'TSend'); - if ($generatorSendType->isError()->yes()) { + if (!$generatorSendType->isError()->no()) { return new MixedType(); }

Check warning on line 1326 in src/Analyser/MutatingScope.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $returnType = $functionReflection->getReturnType(); $generatorSendType = $returnType->getTemplateType(Generator::class, 'TSend'); - if ($generatorSendType->isError()->yes()) { + if (!$generatorSendType->isError()->no()) { return new MixedType(); }
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()) {

Check warning on line 1334 in src/Analyser/MutatingScope.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } elseif ($node instanceof Expr\YieldFrom) { $yieldFromType = $this->getType($node->expr); $generatorReturnType = $yieldFromType->getTemplateType(Generator::class, 'TReturn'); - if ($generatorReturnType->isError()->yes()) { + if (!$generatorReturnType->isError()->no()) { return new MixedType(); }

Check warning on line 1334 in src/Analyser/MutatingScope.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ } elseif ($node instanceof Expr\YieldFrom) { $yieldFromType = $this->getType($node->expr); $generatorReturnType = $yieldFromType->getTemplateType(Generator::class, 'TReturn'); - if ($generatorReturnType->isError()->yes()) { + if (!$generatorReturnType->isError()->no()) { return new MixedType(); }
return new MixedType();
}

Expand Down
3 changes: 1 addition & 2 deletions src/Analyser/Traverser/GenericTypeTemplateTraverser.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace PHPStan\Analyser\Traverser;

use PHPStan\Type\ErrorType;
use PHPStan\Type\Generic\TemplateType;
use PHPStan\Type\Generic\TemplateTypeHelper;
use PHPStan\Type\Generic\TemplateTypeMap;
Expand All @@ -25,7 +24,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()) {

Check warning on line 27 in src/Analyser/Traverser/GenericTypeTemplateTraverser.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { if ($type instanceof TemplateType && !$type->isArgument()) { $newType = $this->resolvedTemplateTypeMap->getType($type->getName()); - if ($newType === null || $newType->isError()->yes()) { + if ($newType === null || !$newType->isError()->no()) { return $type->getDefault() ?? $type->getBound(); }

Check warning on line 27 in src/Analyser/Traverser/GenericTypeTemplateTraverser.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { if ($type instanceof TemplateType && !$type->isArgument()) { $newType = $this->resolvedTemplateTypeMap->getType($type->getName()); - if ($newType === null || $newType->isError()->yes()) { + if ($newType === null || !$newType->isError()->no()) { return $type->getDefault() ?? $type->getBound(); }
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 @@ -1666,7 +1666,7 @@
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()) {

Check warning on line 1669 in src/Reflection/ClassReflection.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ if ($resolved !== null) { $templateTypeMap = $this->getTemplateTypeMap(); return $this->activeTemplateTypeMap = $resolved->map(static function (string $name, Type $type) use ($templateTypeMap): Type { - if ($type->isError()->yes()) { + if (!$type->isError()->no()) { $templateType = $templateTypeMap->getType($name); if ($templateType !== null) { return TemplateTypeHelper::resolveToDefaults($templateType);

Check warning on line 1669 in src/Reflection/ClassReflection.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ if ($resolved !== null) { $templateTypeMap = $this->getTemplateTypeMap(); return $this->activeTemplateTypeMap = $resolved->map(static function (string $name, Type $type) use ($templateTypeMap): Type { - if ($type->isError()->yes()) { + if (!$type->isError()->no()) { $templateType = $templateTypeMap->getType($name); if ($templateType !== null) { return TemplateTypeHelper::resolveToDefaults($templateType);
$templateType = $templateTypeMap->getType($name);
if ($templateType !== null) {
return TemplateTypeHelper::resolveToDefaults($templateType);
Expand Down
34 changes: 17 additions & 17 deletions src/Reflection/InitializerExprTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -518,10 +518,10 @@
{
$leftStringType = $left->toString();
$rightStringType = $right->toString();
if (TypeCombinator::union(

Check warning on line 521 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { $leftStringType = $left->toString(); $rightStringType = $right->toString(); - if (TypeCombinator::union( + if (!TypeCombinator::union( $leftStringType, $rightStringType, - )->isError()->yes()) { + )->isError()->no()) { return new ErrorType(); }

Check warning on line 521 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ { $leftStringType = $left->toString(); $rightStringType = $right->toString(); - if (TypeCombinator::union( + if (!TypeCombinator::union( $leftStringType, $rightStringType, - )->isError()->yes()) { + )->isError()->no()) { return new ErrorType(); }
$leftStringType,
$rightStringType,
) instanceof ErrorType) {
)->isError()->yes()) {
return new ErrorType();
}

Expand Down Expand Up @@ -1020,7 +1020,7 @@
$leftNumberType = $leftType->toNumber();
$rightNumberType = $rightType->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {

Check warning on line 1023 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftType->toNumber(); $rightNumberType = $rightType->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if ($leftNumberType->isError()->yes() || !$rightNumberType->isError()->no()) { return new ErrorType(); }

Check warning on line 1023 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftType->toNumber(); $rightNumberType = $rightType->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if (!$leftNumberType->isError()->no() || $rightNumberType->isError()->yes()) { return new ErrorType(); }

Check warning on line 1023 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftType->toNumber(); $rightNumberType = $rightType->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if ($leftNumberType->isError()->yes() || !$rightNumberType->isError()->no()) { return new ErrorType(); }

Check warning on line 1023 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftType->toNumber(); $rightNumberType = $rightType->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if (!$leftNumberType->isError()->no() || $rightNumberType->isError()->yes()) { return new ErrorType(); }
return new ErrorType();
}

Expand Down Expand Up @@ -1075,7 +1075,7 @@
return new ErrorType();
}

if ($leftType->toNumber() instanceof ErrorType || $rightType->toNumber() instanceof ErrorType) {
if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->yes()) {

Check warning on line 1078 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ return new ErrorType(); } - if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->yes()) { + if (!TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->no()) { return new ErrorType(); }

Check warning on line 1078 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ return new ErrorType(); } - if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->yes()) { + if (!TypeCombinator::union($leftType->toNumber(), $rightType->toNumber())->isError()->no()) { return new ErrorType(); }
return new ErrorType();
}

Expand Down Expand Up @@ -1136,7 +1136,7 @@
$leftNumberType = $leftTypeInner->toNumber();
$rightNumberType = $rightTypeInner->toNumber();

if ($leftNumberType instanceof ErrorType || $rightNumberType instanceof ErrorType) {
if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) {

Check warning on line 1139 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftTypeInner->toNumber(); $rightNumberType = $rightTypeInner->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if ($leftNumberType->isError()->yes() || !$rightNumberType->isError()->no()) { return new ErrorType(); }

Check warning on line 1139 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftTypeInner->toNumber(); $rightNumberType = $rightTypeInner->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if (!$leftNumberType->isError()->no() || $rightNumberType->isError()->yes()) { return new ErrorType(); }

Check warning on line 1139 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftTypeInner->toNumber(); $rightNumberType = $rightTypeInner->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if ($leftNumberType->isError()->yes() || !$rightNumberType->isError()->no()) { return new ErrorType(); }

Check warning on line 1139 in src/Reflection/InitializerExprTypeResolver.php

View workflow job for this annotation

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

Escaped Mutant for Mutator "PHPStan\Infection\TrinaryLogicMutator": @@ @@ $leftNumberType = $leftTypeInner->toNumber(); $rightNumberType = $rightTypeInner->toNumber(); - if ($leftNumberType->isError()->yes() || $rightNumberType->isError()->yes()) { + if (!$leftNumberType->isError()->no() || $rightNumberType->isError()->yes()) { return new ErrorType(); }
return new ErrorType();
}

Expand Down Expand Up @@ -1183,7 +1183,7 @@
return new ErrorType();
}

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

Expand Down Expand Up @@ -1254,7 +1254,7 @@
$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 @@ -1310,7 +1310,7 @@
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 @@ -1327,7 +1327,7 @@
$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 @@ -1431,7 +1431,7 @@
$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 @@ -1634,7 +1634,7 @@
$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 @@ -1683,7 +1683,7 @@
$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 @@ -1741,7 +1741,7 @@
}

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

Expand Down Expand Up @@ -1778,7 +1778,7 @@
$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 @@ -1805,7 +1805,7 @@
$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 @@ -1842,7 +1842,7 @@
$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 @@ -1869,7 +1869,7 @@
$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 @@ -2087,7 +2087,7 @@
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 @@ -1178,7 +1177,7 @@ private function inferAndCachePropertyTypes(
}

$propertyType = $methodScope->getType($expr->expr);
if ($propertyType instanceof ErrorType || $propertyType instanceof NeverType) {
if ($propertyType->isError()->yes() || $propertyType instanceof NeverType) {
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 @@ private function resolveResolvableTemplateTypes(Type $type, TemplateTypeVariance
&& $type->getScope()->getFunctionName() !== null
) {
$newType = $this->resolvedTemplateTypeMap->getType($type->getName());
if ($newType === null || $newType instanceof ErrorType) {
if ($newType === null || $newType->isError()->yes()) {
return $traverse($type);
}

Expand Down Expand Up @@ -252,7 +251,7 @@ private function resolveResolvableTemplateTypes(Type $type, TemplateTypeVariance

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 @@ -80,6 +81,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 @@ private function getErrors(Scope $scope, Node\Expr\List_ $var, Expr $expr): arra
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()) {
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 @@ -51,7 +50,7 @@ public function processNode(Node $node, Scope $scope): array
static fn (Type $varType): bool => $varType->isArray()->no(),
)->getType();

if ($varType instanceof ErrorType) {
if ($varType->isError()->yes()) {
return [];
}

Expand All @@ -67,7 +66,7 @@ public function processNode(Node $node, Scope $scope): array
'',
static fn (Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes(),
)->getType();
if ($dimensionType instanceof ErrorType) {
if ($dimensionType->isError()->yes()) {
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 @@ -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 @@ public function processNode(Node $node, Scope $scope): array
'',
static fn (Type $dimType): bool => $allowedArrayKeys->isSuperTypeOf($dimType)->yes(),
)->getType();
if ($dimensionType instanceof ErrorType) {
if ($dimensionType->isError()->yes()) {
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 @@ public function processNode(Node $node, Scope $scope): array
static fn (Type $type): bool => $type->isIterable()->yes(),
);
$type = $typeResult->getType();
if ($type instanceof ErrorType) {
if ($type->isError()->yes()) {
return $typeResult->getUnknownClassErrors();
}
if ($type->isIterable()->yes()) {
Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/NonexistentOffsetInArrayDimFetchCheck.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
use PHPStan\Rules\RuleErrorBuilder;
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\Type\BenevolentUnionType;
use PHPStan\Type\ErrorType;
use PHPStan\Type\MixedType;
use PHPStan\Type\NeverType;
use PHPStan\Type\Type;
Expand Down Expand Up @@ -54,7 +53,7 @@ public function check(
static fn (Type $type): bool => $type->hasOffsetValueType($dimType)->yes(),
);
$type = $typeResult->getType();
if ($type instanceof ErrorType) {
if ($type->isError()->yes()) {
return $typeResult->getUnknownClassErrors();
}

Expand Down
3 changes: 1 addition & 2 deletions src/Rules/Arrays/NonexistentOffsetInArrayDimFetchRule.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
use PHPStan\Rules\RuleLevelHelper;
use PHPStan\TrinaryLogic;
use PHPStan\Type\Constant\ConstantIntegerType;
use PHPStan\Type\ErrorType;
use PHPStan\Type\Type;
use PHPStan\Type\VerbosityLevel;
use function count;
Expand Down Expand Up @@ -65,7 +64,7 @@ public function processNode(Node $node, Scope $scope): array
static fn (Type $type): bool => $type->isOffsetAccessible()->yes(),
);
$isOffsetAccessibleType = $isOffsetAccessibleTypeResult->getType();
if ($isOffsetAccessibleType instanceof ErrorType) {
if ($isOffsetAccessibleType->isError()->yes()) {
return $isOffsetAccessibleTypeResult->getUnknownClassErrors();
}

Expand Down
Loading
Loading