Example #1
0
        public override SelectorMatcher GetMatcher()
        {
            SelectorMatcher matcher = (in SelectorMatcherContext ctx) => false;

            foreach (var selector in Children)
            {
                matcher = SelectorCompilerHelper.ComposeOr(SelectorCompiler.Compile(selector), matcher);
            }

            return(matcher);
        }
Example #2
0
        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);
        }
Example #3
0
        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;
            });