function Solver::revert
Reverts a decision at the given level.
2 calls to Solver::revert()
- Solver::runSat in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ Solver.php - Solver::setPropagateLearn in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ Solver.php - setpropagatelearn
File
-
vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ Solver.php, line 241
Class
- Solver
- @author Nils Adermann <naderman@naderman.de>
Namespace
Composer\DependencyResolverCode
private function revert(int $level) : void {
while (!$this->decisions
->isEmpty()) {
$literal = $this->decisions
->lastLiteral();
if ($this->decisions
->undecided($literal)) {
break;
}
$decisionLevel = $this->decisions
->decisionLevel($literal);
if ($decisionLevel <= $level) {
break;
}
$this->decisions
->revertLast();
$this->propagateIndex = \count($this->decisions);
}
while (\count($this->branches) > 0 && $this->branches[\count($this->branches) - 1][self::BRANCH_LEVEL] >= $level) {
array_pop($this->branches);
}
}