| @@ 61-71 (lines=11) @@ | ||
| 58 | public function compile(array &$arguments, $negate = false) { |
|
| 59 | $condition = $arguments[0]->compile(); |
|
| 60 | if (!$negate) { |
|
| 61 | return function (Node $n) use ($condition) { |
|
| 62 | $nodes = $n->related_nodes(function (Relation $r) use ($condition) { |
|
| 63 | return in_array($r->type(), self::$relations); |
|
| 64 | }); |
|
| 65 | foreach ($nodes as $node) { |
|
| 66 | if ($condition($node)) { |
|
| 67 | return true; |
|
| 68 | } |
|
| 69 | } |
|
| 70 | return false; |
|
| 71 | }; |
|
| 72 | } |
|
| 73 | else { |
|
| 74 | return function (Node $n) use ($condition) { |
|
| @@ 74-84 (lines=11) @@ | ||
| 71 | }; |
|
| 72 | } |
|
| 73 | else { |
|
| 74 | return function (Node $n) use ($condition) { |
|
| 75 | $nodes = $n->related_nodes(function (Relation $r) use ($condition) { |
|
| 76 | return in_array($r->type(), self::$relations); |
|
| 77 | }); |
|
| 78 | foreach ($nodes as $node) { |
|
| 79 | if ($condition($node)) { |
|
| 80 | return false; |
|
| 81 | } |
|
| 82 | } |
|
| 83 | return true; |
|
| 84 | }; |
|
| 85 | } |
|
| 86 | } |
|
| 87 | } |
|