Lines Matching refs:left
95 $left = array_pop($stack);
96 $stack[] = $this->opAnd($left, $right);
101 $left = array_pop($stack);
102 $stack[] = $this->opOr($left, $right);
125 * @param StackEntry $left
129 protected function opAnd(StackEntry $left, StackEntry $right): StackEntry argument
132 if ($left instanceof PageSet && $right instanceof NegatedEntry) {
133 return $this->subtractNegated($left, $right);
135 if ($left instanceof NegatedEntry && $right instanceof PageSet) {
136 return $this->subtractNegated($right, $left);
140 if ($left instanceof PageSet && $right instanceof NamespacePredicate) {
141 return $right->filter($left);
143 if ($left instanceof NamespacePredicate && $right instanceof PageSet) {
144 return $left->filter($right);
148 if ($left instanceof PageSet && $right instanceof PageSet) {
149 return $left->intersect($right);
153 return $this->materialize($left)->intersect($this->materialize($right));
162 * @param StackEntry $left
166 protected function opOr(StackEntry $left, StackEntry $right): StackEntry argument
168 if ($left instanceof PageSet && $right instanceof PageSet) {
169 return $left->unite($right);
172 return $this->materialize($left)->unite($this->materialize($right));