@ -213,7 +213,7 @@ class Solver
$this->io->writeError('Resolving dependencies through SAT', true, IOInterface::DEBUG);
$before = microtime(true);
$this->runSat(true );
$this->runSat();
$this->io->writeError('', true, IOInterface::DEBUG);
$this->io->writeError(sprintf('Dependency resolution completed in %.3f seconds', microtime(true) - $before), true, IOInterface::VERBOSE);
@ -298,11 +298,10 @@ class Solver
*
* @param int $level
* @param string|int $literal
* @param bool $disableRules
* @param Rule $rule
* @return int
*/
private function setPropagateLearn($level, $literal, $disableRules, Rule $rule)
private function setPropagateLearn($level, $literal, Rule $rule)
{
$level++;
@ -316,7 +315,7 @@ class Solver
}
if ($level == 1) {
return $this->analyzeUnsolvable($rule, $disableRules );
return $this->analyzeUnsolvable($rule);
}
// conflict
@ -353,11 +352,10 @@ class Solver
/**
* @param int $level
* @param array $decisionQueue
* @param bool $disableRules
* @param Rule $rule
* @return int
*/
private function selectAndInstall($level, array $decisionQueue, $disableRules, Rule $rule)
private function selectAndInstall($level, array $decisionQueue, Rule $rule)
{
// choose best package to install from decisionQueue
$literals = $this->policy->selectPreferredPackages($this->pool, $decisionQueue, $rule->getRequiredPackage());
@ -369,7 +367,7 @@ class Solver
$this->branches[] = array($literals, $level);
}
return $this->setPropagateLearn($level, $selectedLiteral, $disableRules, $ rule);
return $this->setPropagateLearn($level, $selectedLiteral, $rule);
}
/**
@ -515,10 +513,9 @@ class Solver
/**
* @param Rule $conflictRule
* @param bool $disableRules
* @return int
*/
private function analyzeUnsolvable(Rule $conflictRule, $disableRules )
private function analyzeUnsolvable(Rule $conflictRule)
{
$problem = new Problem($this->pool);
$problem->addRule($conflictRule);
@ -562,16 +559,6 @@ class Solver
}
}
if ($disableRules) {
foreach ($this->problems[count($this->problems) - 1] as $reason) {
$this->disableProblem($reason['rule']);
}
$this->resetSolver();
return 1;
}
return 0;
}
@ -637,10 +624,7 @@ class Solver
}
}
/**
* @param bool $disableRules
*/
private function runSat($disableRules = true)
private function runSat()
{
$this->propagateIndex = 0;
@ -656,10 +640,6 @@ class Solver
$decisionQueue = array();
$decisionSupplementQueue = array();
/**
* @todo this makes $disableRules always false; determine the rationale and possibly remove dead code?
*/
$disableRules = false;
$level = 1;
$systemLevel = $level + 1;
@ -669,7 +649,7 @@ class Solver
if (1 === $level) {
$conflictRule = $this->propagate($level);
if (null !== $conflictRule) {
if ($this->analyzeUnsolvable($conflictRule, $disableRules )) {
if ($this->analyzeUnsolvable($conflictRule)) {
continue;
}
@ -710,7 +690,7 @@ class Solver
if ($noneSatisfied & & count($decisionQueue)) {
$oLevel = $level;
$level = $this->selectAndInstall($level, $decisionQueue, $disableRules, $ rule);
$level = $this->selectAndInstall($level, $decisionQueue, $rule);
if (0 === $level) {
return;
@ -786,7 +766,7 @@ class Solver
continue;
}
$level = $this->selectAndInstall($level, $decisionQueue, $disableRules, $ rule);
$level = $this->selectAndInstall($level, $decisionQueue, $rule);
if (0 === $level) {
return;
@ -829,7 +809,7 @@ class Solver
$why = $this->decisions->lastReason();
$level = $this->setPropagateLearn($level, $lastLiteral, $disableRules, $ why);
$level = $this->setPropagateLearn($level, $lastLiteral, $why);
if ($level == 0) {
return;