mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-31 19:30:03 +00:00
further progress on using the upgraded eval system; sketch out replacement breakpoints & callstack views, which are just specializations of watch window
This commit is contained in:
+3
-24
@@ -7513,8 +7513,9 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt)
|
||||
DF_EntityKind sub_entity_kind = DF_EntityKind_Nil;
|
||||
for(EachEnumVal(DF_EntityKind, k2))
|
||||
{
|
||||
if(str8_match(child->string, df_g_entity_kind_name_lower_table[k2], StringMatchFlag_CaseInsensitive) ||
|
||||
(k2 == DF_EntityKind_Executable && str8_match(child->string, str8_lit("exe"), StringMatchFlag_CaseInsensitive)))
|
||||
if(child->flags & DF_CfgNodeFlag_Identifier && child->first != &df_g_nil_cfg_node &&
|
||||
(str8_match(child->string, df_g_entity_kind_name_lower_table[k2], StringMatchFlag_CaseInsensitive) ||
|
||||
(k2 == DF_EntityKind_Executable && str8_match(child->string, str8_lit("exe"), StringMatchFlag_CaseInsensitive))))
|
||||
{
|
||||
Task *task = push_array(scratch.arena, Task, 1);
|
||||
task->next = t->next;
|
||||
@@ -8288,28 +8289,6 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt)
|
||||
expr->u64 = thread->ctrl_id;
|
||||
e_string2expr_map_insert(arena, ctx->macro_map, str8_lit("tid"), expr);
|
||||
}
|
||||
|
||||
// rjf: thread -> current thread info
|
||||
if(!df_entity_is_nil(thread))
|
||||
{
|
||||
E_MemberList members_list = {0};
|
||||
{
|
||||
E_Member tid_member =
|
||||
{
|
||||
.kind = E_MemberKind_DataField,
|
||||
.type_key = e_type_key_basic(E_TypeKind_U32),
|
||||
.name = str8_lit("tid"),
|
||||
.off = 0,
|
||||
};
|
||||
e_member_list_push(arena, &members_list, &tid_member);
|
||||
}
|
||||
E_MemberArray members = e_member_array_from_list(arena, &members_list);
|
||||
E_TypeKey thread_type_key = e_type_key_cons(.kind = E_TypeKind_Struct, .count = members.count, .members = members.v, .name = str8_lit("Thread"));
|
||||
E_Expr *expr = e_push_expr(arena, E_ExprKind_LeafBytecode, 0);
|
||||
expr->u64 = thread->ctrl_id;
|
||||
expr->type_key = thread_type_key;
|
||||
e_string2expr_map_insert(arena, ctx->macro_map, str8_lit("thread"), expr);
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: add macros for all watches which define identifiers
|
||||
|
||||
Reference in New Issue
Block a user