| 8712 | } |
| 8713 | |
| 8714 | void apply_predicate(xpath_node_set_raw& ns, size_t first, const xpath_stack& stack, bool once) |
| 8715 | { |
| 8716 | if (ns.size() == first) return; |
| 8717 | |
| 8718 | assert(_type == ast_filter || _type == ast_predicate); |
| 8719 | |
| 8720 | if (_test == predicate_constant || _test == predicate_constant_one) |
| 8721 | apply_predicate_number_const(ns, first, _right, stack); |
| 8722 | else if (_right->rettype() == xpath_type_number) |
| 8723 | apply_predicate_number(ns, first, _right, stack, once); |
| 8724 | else |
| 8725 | apply_predicate_boolean(ns, first, _right, stack, once); |
| 8726 | } |
| 8727 | |
| 8728 | void apply_predicates(xpath_node_set_raw& ns, size_t first, const xpath_stack& stack, nodeset_eval_t eval) |
| 8729 | { |
no test coverage detected