Skip to content

Commit de8376e

Browse files
authored
Microoptimize TypeCombinator
1 parent 54aa8be commit de8376e

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/Type/TypeCombinator.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,24 +201,23 @@ public static function union(Type ...$types): Type
201201
unset($types[$i]);
202202
continue;
203203
}
204+
204205
if ($types[$i]->isBoolean()->yes()) {
205206
$hasGenericScalarTypes[ConstantBooleanType::class] = true;
206-
}
207-
if ($types[$i]->isFloat()->yes()) {
207+
} elseif ($types[$i]->isFloat()->yes()) {
208208
$hasGenericScalarTypes[ConstantFloatType::class] = true;
209-
}
210-
if ($types[$i]->isInteger()->yes() && !$types[$i] instanceof IntegerRangeType) {
209+
} elseif ($types[$i]->isInteger()->yes() && !$types[$i] instanceof IntegerRangeType) {
211210
$hasGenericScalarTypes[ConstantIntegerType::class] = true;
212-
}
213-
if ($types[$i]->isString()->yes() && $types[$i]->isClassString()->no() && TypeUtils::getAccessoryTypes($types[$i]) === []) {
211+
} elseif ($types[$i]->isString()->yes() && $types[$i]->isClassString()->no() && TypeUtils::getAccessoryTypes($types[$i]) === []) {
214212
$hasGenericScalarTypes[ConstantStringType::class] = true;
215-
}
216-
$enumCases = $types[$i]->getEnumCases();
217-
if (count($enumCases) === 1) {
218-
$enumCaseTypes[$types[$i]->describe(VerbosityLevel::cache())] = $types[$i];
213+
} else {
214+
$enumCases = $types[$i]->getEnumCases();
215+
if (count($enumCases) === 1) {
216+
$enumCaseTypes[$types[$i]->describe(VerbosityLevel::cache())] = $types[$i];
219217

220-
unset($types[$i]);
221-
continue;
218+
unset($types[$i]);
219+
continue;
220+
}
222221
}
223222

224223
if ($types[$i] instanceof IntegerRangeType) {

0 commit comments

Comments
 (0)