1
0
Fork 0

Get rid of continue 2; and use array_filter instead of manual looping

pull/715/head
Nils Adermann 2012-05-19 20:48:12 +02:00
parent 451bab1c2c
commit a395bc04d7
1 changed files with 8 additions and 7 deletions

View File

@ -57,15 +57,16 @@ class RuleWatchGraph
if (!$node->getRule()->isDisabled() && !call_user_func($skipCallback, $otherWatch)) {
$ruleLiterals = $node->getRule()->getLiterals();
foreach ($ruleLiterals as $ruleLiteral) {
if ($literal !== $ruleLiteral &&
$alternativeLiterals = array_filter($ruleLiterals, function ($ruleLiteral) use ($literal, $otherWatch, $conflictCallback) {
return $literal !== $ruleLiteral &&
$otherWatch !== $ruleLiteral &&
!call_user_func($conflictCallback, $ruleLiteral)) {
!call_user_func($conflictCallback, $ruleLiteral);
});
$this->moveWatch($literal, $ruleLiteral, $node);
continue 2;
}
if ($alternativeLiterals) {
reset($alternativeLiterals);
$this->moveWatch($literal, current($alternativeLiterals), $node);
continue;
}
if (call_user_func($conflictCallback, $otherWatch)) {