| 744 | } |
| 745 | |
| 746 | void |
| 747 | Mod_query_filter::Case::eval_pair(Context &ctx, const PairExpr &pe, QPair &qp) const |
| 748 | { |
| 749 | if (!pe._name.empty()) { |
| 750 | auto name = ctx.extract(pe._name); |
| 751 | if (!is_nil(name)) { |
| 752 | qp.name = ctx.render_transient([&](BufferWriter &w) { w.print("{}", name); }); |
| 753 | ctx.commit_transient(); |
| 754 | } |
| 755 | } |
| 756 | |
| 757 | if (!pe._value.empty()) { |
| 758 | auto value = ctx.extract(pe._value); |
| 759 | if (!is_nil(value)) { |
| 760 | qp.value = ctx.render_transient([&](BufferWriter &w) { w.print("{}", value); }); |
| 761 | ctx.commit_transient(); |
| 762 | } |
| 763 | } |
| 764 | } |
| 765 | |
| 766 | Rv<Feature> |
| 767 | Mod_query_filter::operator()(Context &ctx, feature_type_for<STRING> qs) |
no test coverage detected