function PoolOptimizer::expandDisjunctiveMultiConstraints
Return value
2 calls to PoolOptimizer::expandDisjunctiveMultiConstraints()
- PoolOptimizer::extractConflictConstraintsPerPackage in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ PoolOptimizer.php - Disjunctive conflict constraints need to be considered in their own group. E.g. "^2.14 || ^3.3" needs to generate two conflict constraint groups in order for us to keep the best matching package for "^2.14" AND "^3.3" as…
- PoolOptimizer::extractRequireConstraintsPerPackage in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ PoolOptimizer.php - Disjunctive require constraints need to be considered in their own group. E.g. "^2.14 || ^3.3" needs to generate two require constraint groups in order for us to keep the best matching package for "^2.14" AND "^3.3" as…
File
-
vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ PoolOptimizer.php, line 462
Class
- PoolOptimizer
- Optimizes a given pool
Namespace
Composer\DependencyResolverCode
private function expandDisjunctiveMultiConstraints(ConstraintInterface $constraint) {
$constraint = Intervals::compactConstraint($constraint);
if ($constraint instanceof MultiConstraint && $constraint->isDisjunctive()) {
// No need to call ourselves recursively here because Intervals::compactConstraint() ensures that there
// are no nested disjunctive MultiConstraint instances possible
return $constraint->getConstraints();
}
// Regular constraints and conjunctive MultiConstraints
return [
$constraint,
];
}