Lines Matching refs:patterns
106 public function match(array $nodes, array $patterns): array|null argument
111 if (!$matcher($nodes, $patterns, $captures)) {
116 if ($patterns === []) {
164 … $this->matchers[] = static function (array &$nodes, array &$patterns) use ($relationships): bool {
165 if (in_array($patterns[0] ?? '', $relationships, true)) {
167 $patterns = array_slice($patterns, 1);
205 …$this->matchers[] = static function (array &$nodes, array &$patterns, array &$captures) use ($rela…
206 $limit = min(intdiv(count($nodes), 2), count($patterns));
209 if (!in_array($patterns[$generations], $relationships, true)) {
216 $patterns = array_slice($patterns, $generations);
459 … $this->matchers[] = static function (array &$nodes, array &$patterns, array &$captures): bool {
460 $count = count($patterns);
465 while ($n < $count && in_array($patterns[$n], Relationship::PARENTS, true)) {
475 if (!in_array($patterns[$n], Relationship::SIBLINGS, true)) {
481 if (!in_array($patterns[$descendants], Relationship::CHILDREN, true)) {
487 $patterns = [];