public override SelectorMatcher GetMatcher() { SelectorMatcher matcher = (in SelectorMatcherContext ctx) => false; foreach (var selector in Children) { matcher = SelectorCompilerHelper.ComposeOr(SelectorCompiler.Compile(selector), matcher); } return(matcher); }
public override SelectorMatcher GetMatcher() { SelectorMatcher composedMatcher = (in SelectorMatcherContext _) => true; for (var i = Children.Count - 1; i >= 0; i--) { var child = Children[i]; var matcher = child.GetMatcher(); composedMatcher = SelectorCompilerHelper.ComposeAnd(composedMatcher, matcher); } return(composedMatcher); }
public override SelectorMatcher GetMatcher() { SelectorMatcher matcher = (in SelectorMatcherContext _) => false; foreach (var selector in _relativeSelectors) { matcher = SelectorCompilerHelper.ComposeOr(matcher, selector.GetMatcher()); } var query = new QulalySelector(matcher, this); return((in SelectorMatcherContext ctx) => { return ctx.Node.QuerySelector(query) != null; });