BRANCH_LITERALS
BRANCH_LITERALS = 0
$policy : \Composer\DependencyResolver\PolicyInterface
$pool : \Composer\DependencyResolver\Pool
$installed : \Composer\Repository\RepositoryInterface
$rules : \Composer\DependencyResolver\RuleSet
$ruleSetGenerator : \Composer\DependencyResolver\RuleSetGenerator
$watchGraph : \Composer\DependencyResolver\RuleWatchGraph
$decisions : \Composer\DependencyResolver\Decisions
$problems : array<mixed,\Composer\DependencyResolver\Problem>
$io : \Composer\IO\IOInterface
__construct(\Composer\DependencyResolver\PolicyInterface $policy, \Composer\DependencyResolver\Pool $pool, \Composer\Repository\RepositoryInterface $installed, \Composer\IO\IOInterface $io)
\Composer\DependencyResolver\PolicyInterface | $policy | |
\Composer\DependencyResolver\Pool | $pool | |
\Composer\Repository\RepositoryInterface | $installed | |
\Composer\IO\IOInterface | $io |
solve(\Composer\DependencyResolver\Request $request, boolean $ignorePlatformReqs = false) : array
\Composer\DependencyResolver\Request | $request | |
boolean | $ignorePlatformReqs |
propagate(integer $level) : \Composer\DependencyResolver\Rule|null
Makes a decision and propagates it to all rules.
Evaluates each term affected by the decision (linked through watches) If we find unit rules we make new decisions based on them
integer | $level |
A rule on conflict, otherwise null.
analyze(integer $level, \Composer\DependencyResolver\Rule $rule) : array
integer | $level | |
\Composer\DependencyResolver\Rule | $rule |
setPropagateLearn(integer $level, string|integer $literal, boolean $disableRules, \Composer\DependencyResolver\Rule $rule) : integer
setpropagatelearn
add free decision (a positive literal) to decision queue increase level and propagate decision return if no conflict.
in conflict case, analyze conflict rule, add resulting rule to learnt rule set, make decision from learnt rule (always unit) and re-propagate.
returns the new solver level or 0 if unsolvable
integer | $level | |
string|integer | $literal | |
boolean | $disableRules | |
\Composer\DependencyResolver\Rule | $rule |
selectAndInstall(integer $level, array $decisionQueue, boolean $disableRules, \Composer\DependencyResolver\Rule $rule) : integer
integer | $level | |
array | $decisionQueue | |
boolean | $disableRules | |
\Composer\DependencyResolver\Rule | $rule |
analyzeUnsolvableRule(\Composer\DependencyResolver\Problem $problem, \Composer\DependencyResolver\Rule $conflictRule)
\Composer\DependencyResolver\Problem | $problem | |
\Composer\DependencyResolver\Rule | $conflictRule |
analyzeUnsolvable(\Composer\DependencyResolver\Rule $conflictRule, boolean $disableRules) : integer
\Composer\DependencyResolver\Rule | $conflictRule | |
boolean | $disableRules |
disableProblem(\Composer\DependencyResolver\Rule $why)
\Composer\DependencyResolver\Rule | $why |