member filtering

This commit is contained in:
Ryan Fleury
2025-02-20 18:46:22 -08:00
parent 2373af25ce
commit 92df402ad1
4 changed files with 260 additions and 81 deletions
@@ -592,7 +592,7 @@ ev_block_tree_from_exprs(Arena *arena, EV_View *view, String8 filter, E_ExprChai
E_Expr *lookup_rule_tag = lookup_rule_and_tag.tag;
// rjf: get top-level lookup/expansion info
E_LookupInfo lookup_info = lookup_rule->info(arena, &expr_irtree, filter);
E_LookupInfo lookup_info = lookup_rule->info(arena, &expr_irtree, lookup_rule_and_tag.tag, filter);
EV_ExpandInfo expand_info = expand_rule->info(arena, view, filter, t->expr, expand_rule_tag);
// rjf: determine expansion info
@@ -712,7 +712,7 @@ ev_block_tree_from_exprs(Arena *arena, EV_View *view, String8 filter, E_ExprChai
Rng1U64 child_range = r1u64(split_relative_idx, split_relative_idx+1);
E_Expr *child_expr = &e_expr_nil;
String8 child_string = {0};
lookup_rule->range(arena, t->expr, r1u64(split_relative_idx, split_relative_idx+1), &child_expr, &child_string, lookup_info.user_data);
lookup_rule->range(arena, t->expr, lookup_rule_tag, r1u64(split_relative_idx, split_relative_idx+1), &child_expr, &child_string, lookup_info.user_data);
if(child_expr != &e_expr_nil)
{
EV_Key child_key = child_keys[idx];
@@ -1003,7 +1003,7 @@ ev_windowed_row_list_from_block_range_list(Arena *arena, EV_View *view, String8
}
else
{
n->v.block->lookup_rule->range(arena, n->v.block->expr, block_relative_range__windowed, range_exprs, range_exprs_strings, n->v.block->lookup_rule_user_data);
n->v.block->lookup_rule->range(arena, n->v.block->expr, n->v.block->lookup_tag, block_relative_range__windowed, range_exprs, range_exprs_strings, n->v.block->lookup_rule_user_data);
}
// rjf: no expansion operator applied -> push row for block expression; pass through block info