Skip to content

Commit fa9a951

Browse files
committed
Use getFiniteTypes() in some places
1 parent 7912caf commit fa9a951

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

src/Reflection/InitializerExprTypeResolver.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -1309,10 +1309,10 @@ public function resolveIdenticalType(Type $leftType, Type $rightType): BooleanTy
13091309
return new ConstantBooleanType($leftType->getValue() === $rightType->getValue());
13101310
}
13111311

1312-
$leftTypeEnumCases = $leftType->getEnumCases();
1313-
$rightTypeEnumCases = $rightType->getEnumCases();
1314-
if (count($leftTypeEnumCases) === 1 && count($rightTypeEnumCases) === 1) {
1315-
return new ConstantBooleanType($leftTypeEnumCases[0]->equals($rightTypeEnumCases[0]));
1312+
$leftTypeFiniteTypes = $leftType->getFiniteTypes();
1313+
$rightTypeFiniteType = $rightType->getFiniteTypes();
1314+
if (count($leftTypeFiniteTypes) === 1 && count($rightTypeFiniteType) === 1) {
1315+
return new ConstantBooleanType($leftTypeFiniteTypes[0]->equals($rightTypeFiniteType[0]));
13161316
}
13171317

13181318
$isSuperset = $leftType->isSuperTypeOf($rightType);

src/Rules/Comparison/ImpossibleCheckTypeHelper.php

+2-4
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,8 @@ public function findSpecifiedType(
9999
$needleArg = $node->getArgs()[0]->value;
100100
$needleType = ($this->treatPhpDocTypesAsCertain ? $scope->getType($needleArg) : $scope->getNativeType($needleArg));
101101
$valueType = $haystackType->getIterableValueType();
102-
$constantNeedleTypesCount = count($needleType->getConstantScalarValues())
103-
+ count($needleType->getEnumCases());
104-
$constantHaystackTypesCount = count($valueType->getConstantScalarValues())
105-
+ count($valueType->getEnumCases());
102+
$constantNeedleTypesCount = count($needleType->getFiniteTypes());
103+
$constantHaystackTypesCount = count($valueType->getFiniteTypes());
106104
$isNeedleSupertype = $needleType->isSuperTypeOf($valueType);
107105
if ($haystackType->isConstantArray()->no()) {
108106
if ($haystackType->isIterableAtLeastOnce()->yes()) {

0 commit comments

Comments
 (0)