mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-16 09:02:22 -07:00
fix expansion rules being applied to traditionally non-expandable type info; plug memory view back in
This commit is contained in:
@@ -537,8 +537,13 @@ ev_block_tree_from_string(Arena *arena, EV_View *view, String8 filter, String8 s
|
||||
// rjf: unpack expr
|
||||
E_IRTreeAndType expr_irtree = e_irtree_and_type_from_expr(scratch.arena, t->expr);
|
||||
|
||||
// rjf: skip if type info disallows expansion
|
||||
if(!ev_type_key_and_mode_is_expandable(expr_irtree.type_key, expr_irtree.mode))
|
||||
// rjf: get expr's expansion rule
|
||||
EV_ExpandRuleTagPair expand_rule_and_tag = ev_expand_rule_tag_pair_from_expr_irtree(t->expr, &expr_irtree);
|
||||
EV_ExpandRule *expand_rule = expand_rule_and_tag.rule;
|
||||
E_Expr *expand_rule_tag = expand_rule_and_tag.tag;
|
||||
|
||||
// rjf: skip if no expansion rule, & type info disallows expansion
|
||||
if(expand_rule == &ev_nil_expand_rule && !ev_type_key_and_mode_is_expandable(expr_irtree.type_key, expr_irtree.mode))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -548,11 +553,6 @@ ev_block_tree_from_string(Arena *arena, EV_View *view, String8 filter, String8 s
|
||||
E_LookupRule *lookup_rule = lookup_rule_and_tag.rule;
|
||||
E_Expr *lookup_rule_tag = lookup_rule_and_tag.tag;
|
||||
|
||||
// rjf: get expr's expansion rule
|
||||
EV_ExpandRuleTagPair expand_rule_and_tag = ev_expand_rule_tag_pair_from_expr_irtree(t->expr, &expr_irtree);
|
||||
EV_ExpandRule *expand_rule = expand_rule_and_tag.rule;
|
||||
E_Expr *expand_rule_tag = expand_rule_and_tag.tag;
|
||||
|
||||
// rjf: get top-level lookup/expansion info
|
||||
E_LookupInfo lookup_info = lookup_rule->info(arena, &expr_irtree, filter);
|
||||
EV_ExpandInfo expand_info = expand_rule->info(arena, view, filter, t->expr, expand_rule_tag);
|
||||
|
||||
@@ -4524,7 +4524,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
//////////////////////////////
|
||||
//- rjf: unpack parameterization info
|
||||
//
|
||||
Rng1U64 space_range = {0}; // TODO(rjf): @cfg rd_range_from_eval_params(eval, params);
|
||||
Rng1U64 space_range = rd_range_from_eval_tag(eval, tag);
|
||||
if(eval.space.kind == 0)
|
||||
{
|
||||
eval.space = rd_eval_space_from_ctrl_entity(ctrl_entity_from_handle(d_state->ctrl_entity_store, rd_regs()->process), RD_EvalSpaceKind_CtrlEntity);
|
||||
@@ -4534,10 +4534,10 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
space_range = r1u64(0, 0x7FFFFFFFFFFFull);
|
||||
}
|
||||
}
|
||||
U64 cursor = 0; // TODO(rjf): @cfg rd_value_from_params_key(params, str8_lit("cursor_vaddr")).u64;
|
||||
U64 mark = 0; // TODO(rjf): @cfg rd_value_from_params_key(params, str8_lit("mark_vaddr")).u64;
|
||||
U64 bytes_per_cell = 0; // TODO(rjf): @cfg rd_value_from_params_key(params, str8_lit("bytes_per_cell")).u64;
|
||||
U64 num_columns = 0; // TODO(rjf): @cfg rd_value_from_params_key(params, str8_lit("num_columns")).u64;
|
||||
U64 cursor = rd_view_cfg_value_from_string(str8_lit("cursor_vaddr")).u64;
|
||||
U64 mark = rd_view_cfg_value_from_string(str8_lit("mark_vaddr")).u64;
|
||||
U64 bytes_per_cell = rd_view_cfg_value_from_string(str8_lit("bytes_per_cell")).u64;
|
||||
U64 num_columns = rd_view_cfg_value_from_string(str8_lit("num_columns")).u64;
|
||||
if(num_columns == 0)
|
||||
{
|
||||
num_columns = 16;
|
||||
|
||||
Reference in New Issue
Block a user