mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
eliminate watch view fill kind; extend rtti & eval type system with 'external' pointers, for e.g. meta-space vaddr u64s pointing into an address space; begin sketching out paths for mutational rows in watch collections, use to add 'add target' fastpath in targets collection evaluations
This commit is contained in:
@@ -7902,6 +7902,10 @@ EV_VIEW_RULE_BLOCK_PROD_FUNCTION_DEF(rd_collection_block_prod)
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
RD_EntityList targets = rd_query_cached_entity_list_with_kind(RD_EntityKind_Target);
|
||||
EV_ViewRuleList top_level_view_rules = {0};
|
||||
EV_Key addnew_key = ev_key_make(ev_hash_from_key(key), 1);
|
||||
EV_Block *addnew_block = ev_block_begin(arena, EV_BlockKind_Canvas, key, addnew_key, depth);
|
||||
addnew_block->visual_idx_range = addnew_block->semantic_idx_range = r1u64(0, 1);
|
||||
ev_block_end(out, addnew_block);
|
||||
for(RD_EntityNode *n = targets.first; n != 0; n = n->next)
|
||||
{
|
||||
RD_Entity *target = n->entity;
|
||||
@@ -8255,7 +8259,19 @@ rd_append_value_strings_from_eval(Arena *arena, EV_StringFlags flags, U32 defaul
|
||||
if(eval.space.kind == RD_EvalSpaceKind_MetaEntity ||
|
||||
eval.space.kind == RD_EvalSpaceKind_MetaCtrlEntity)
|
||||
{
|
||||
no_addr = 1;
|
||||
E_TypeKind kind = e_type_kind_from_key(eval.type_key);
|
||||
if(kind != E_TypeKind_Ptr)
|
||||
{
|
||||
no_addr = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
E_Type *type = e_type_from_key(scratch.arena, eval.type_key);
|
||||
if(!(type->flags & E_TypeFlag_External))
|
||||
{
|
||||
no_addr = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: member evaluations -> display member info
|
||||
|
||||
Reference in New Issue
Block a user