mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
shift watch view expressions from being a watch view implementation detail to being a top-level entity
This commit is contained in:
+3
-3
@@ -6212,7 +6212,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
|
||||
DF_EvalView *eval_view = df_eval_view_from_key(eval_view_key);
|
||||
DF_ExpandKey parent_key = df_expand_key_make(5381, 1);
|
||||
DF_ExpandKey key = df_expand_key_make(df_hash_from_expand_key(parent_key), 1);
|
||||
DF_EvalVizBlockList viz_blocks = df_eval_viz_block_list_from_eval_view_expr_keys(scratch.arena, scope, eval_view, expr, parent_key, key);
|
||||
DF_EvalVizBlockList viz_blocks = df_eval_viz_block_list_from_eval_view_expr_keys(scratch.arena, eval_view, expr, parent_key, key);
|
||||
U32 default_radix = (eval.mode == E_Mode_Reg ? 16 : 10);
|
||||
DF_EvalVizWindowedRowList viz_rows = df_eval_viz_windowed_row_list_from_viz_block_list(scratch.arena, scope, eval_view, default_radix, ui_top_font(), ui_top_font_size(), r1s64(0, 50), &viz_blocks);
|
||||
|
||||
@@ -12011,7 +12011,7 @@ df_code_slice(DF_Window *ws, DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *m
|
||||
{
|
||||
if(!df_entity_is_nil(df_entity_from_handle(df_interact_regs()->file)))
|
||||
{
|
||||
df_entity_change_parent(0, dropped_entity, dropped_entity->parent, df_entity_from_handle(df_interact_regs()->file));
|
||||
df_entity_change_parent(0, dropped_entity, dropped_entity->parent, df_entity_from_handle(df_interact_regs()->file), &df_g_nil_entity);
|
||||
df_entity_equip_txt_pt(dropped_entity, txt_pt(line_num, 1));
|
||||
if(dropped_entity->flags & DF_EntityFlag_HasVAddr)
|
||||
{
|
||||
@@ -12020,7 +12020,7 @@ df_code_slice(DF_Window *ws, DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *m
|
||||
}
|
||||
else if(line_vaddr != 0)
|
||||
{
|
||||
df_entity_change_parent(0, dropped_entity, dropped_entity->parent, df_entity_root());
|
||||
df_entity_change_parent(0, dropped_entity, dropped_entity->parent, df_entity_root(), &df_g_nil_entity);
|
||||
df_entity_equip_vaddr(dropped_entity, line_vaddr);
|
||||
}
|
||||
}break;
|
||||
|
||||
+311
-570
File diff suppressed because it is too large
Load Diff
@@ -270,16 +270,6 @@ struct DF_ModulesViewState
|
||||
////////////////////////////////
|
||||
//~ rjf: Watch, Locals, Registers @view_types
|
||||
|
||||
typedef struct DF_EvalRoot DF_EvalRoot;
|
||||
struct DF_EvalRoot
|
||||
{
|
||||
DF_EvalRoot *next;
|
||||
DF_EvalRoot *prev;
|
||||
U64 expr_buffer_string_size;
|
||||
U64 expr_buffer_cap;
|
||||
U8 *expr_buffer;
|
||||
};
|
||||
|
||||
typedef enum DF_WatchViewColumnKind
|
||||
{
|
||||
DF_WatchViewColumnKind_Expr,
|
||||
@@ -350,12 +340,6 @@ struct DF_WatchViewState
|
||||
F32 value_column_pct;
|
||||
F32 type_column_pct;
|
||||
F32 view_rule_column_pct;
|
||||
|
||||
// rjf: mutable fill-kind root expression state
|
||||
DF_EvalRoot *first_root;
|
||||
DF_EvalRoot *last_root;
|
||||
DF_EvalRoot *first_free_root;
|
||||
U64 root_count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
@@ -539,16 +523,6 @@ internal DF_CodeViewBuildResult df_code_view_build(Arena *arena, DF_Window *ws,
|
||||
//- rjf: eval watch view instance -> eval view key
|
||||
internal DF_EvalViewKey df_eval_view_key_from_eval_watch_view(DF_WatchViewState *ewv);
|
||||
|
||||
//- rjf: root allocation/deallocation/mutation
|
||||
internal DF_EvalRoot * df_eval_root_alloc(DF_View *view, DF_WatchViewState *ews);
|
||||
internal void df_eval_root_release(DF_WatchViewState *ews, DF_EvalRoot *root);
|
||||
internal void df_eval_root_equip_string(DF_EvalRoot *root, String8 string);
|
||||
internal DF_EvalRoot * df_eval_root_from_string(DF_WatchViewState *ews, String8 string);
|
||||
internal DF_EvalRoot * df_eval_root_from_expand_key(DF_WatchViewState *ews, DF_EvalView *eval_view, DF_ExpandKey expand_key);
|
||||
internal String8 df_string_from_eval_root(DF_EvalRoot *root);
|
||||
internal DF_ExpandKey df_parent_expand_key_from_eval_root(DF_EvalRoot *root);
|
||||
internal DF_ExpandKey df_expand_key_from_eval_root(DF_EvalRoot *root);
|
||||
|
||||
//- rjf: watch view points <-> table coordinates
|
||||
internal B32 df_watch_view_point_match(DF_WatchViewPoint a, DF_WatchViewPoint b);
|
||||
internal DF_WatchViewPoint df_watch_view_point_from_tbl(DF_EvalVizBlockList *blocks, Vec2S64 tbl);
|
||||
|
||||
Reference in New Issue
Block a user