mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-21 23:12:01 -07:00
fix expr chain parsing; fix panel tree building
This commit is contained in:
@@ -73,46 +73,6 @@ rd_cmd_list_push_new(Arena *arena, RD_CmdList *cmds, String8 name, RD_Regs *regs
|
||||
cmds->count += 1;
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View Spec Type Functions
|
||||
|
||||
#if 0 // TODO(rjf): @cfg
|
||||
internal RD_ViewRuleKind
|
||||
rd_view_rule_kind_from_string(String8 string)
|
||||
{
|
||||
RD_ViewRuleKind kind = RD_ViewRuleKind_Null;
|
||||
for EachEnumVal(RD_ViewRuleKind, k)
|
||||
{
|
||||
if(str8_match(string, rd_view_rule_kind_info_table[k].string, 0))
|
||||
{
|
||||
kind = k;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return kind;
|
||||
}
|
||||
|
||||
internal RD_ViewRuleInfo *
|
||||
rd_view_rule_info_from_kind(RD_ViewRuleKind kind)
|
||||
{
|
||||
return &rd_view_rule_kind_info_table[kind];
|
||||
}
|
||||
|
||||
internal RD_ViewRuleInfo *
|
||||
rd_view_rule_info_from_string(String8 string)
|
||||
{
|
||||
RD_ViewRuleInfo *result = &rd_nil_view_rule_info;
|
||||
{
|
||||
RD_ViewRuleKind kind = rd_view_rule_kind_from_string(string);
|
||||
if(kind != RD_ViewRuleKind_Null)
|
||||
{
|
||||
result = &rd_view_rule_kind_info_table[kind];
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View UI Rule Functions
|
||||
|
||||
@@ -847,7 +807,7 @@ rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg)
|
||||
}
|
||||
|
||||
// rjf: extract cfg info
|
||||
B32 panel_has_tabs = 0;
|
||||
B32 panel_has_children = 0;
|
||||
dst->cfg = src;
|
||||
dst->pct_of_parent = (F32)f64_from_str8(src->string);
|
||||
dst->tab_side = (rd_cfg_child_from_string(src, str8_lit("tabs_on_bottom")) != &rd_nil_cfg ? Side_Max : Side_Min);
|
||||
@@ -857,7 +817,7 @@ rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg)
|
||||
MD_TokenizeResult tokenize = md_tokenize_from_text(scratch.arena, src_child->string);
|
||||
if(tokenize.tokens.count == 1 && tokenize.tokens.v[0].flags & MD_TokenFlag_Numeric)
|
||||
{
|
||||
// NOTE(rjf): skip - this is a panel.
|
||||
panel_has_children = 1;
|
||||
}
|
||||
else if(str8_match(src_child->string, str8_lit("tabs_on_bottom"), 0))
|
||||
{
|
||||
@@ -869,7 +829,6 @@ rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg)
|
||||
}
|
||||
else if(tokenize.tokens.count == 1 && tokenize.tokens.v[0].flags & MD_TokenFlag_Identifier)
|
||||
{
|
||||
panel_has_tabs = 1;
|
||||
rd_cfg_list_push(arena, &dst->tabs, src_child);
|
||||
if(rd_cfg_child_from_string(src_child, str8_lit("selected")) != &rd_nil_cfg)
|
||||
{
|
||||
@@ -880,7 +839,7 @@ rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg)
|
||||
|
||||
// rjf: recurse
|
||||
rec = rd_cfg_rec__depth_first(src_root, src);
|
||||
if(panel_has_tabs)
|
||||
if(!panel_has_children)
|
||||
{
|
||||
MemoryZeroStruct(&rec);
|
||||
rec.next = &rd_nil_cfg;
|
||||
@@ -13165,7 +13124,10 @@ rd_frame(void)
|
||||
E_Parse parse = e_parse_expr_from_text__cached(expr);
|
||||
if(parse.msgs.max_kind == E_MsgKind_Null)
|
||||
{
|
||||
e_push_leaf_ident_exprs_from_expr__in_place(scratch.arena, ctx->macro_map, parse.expr);
|
||||
for(E_Expr *expr = parse.first_expr; expr != &e_expr_nil; expr = expr->next)
|
||||
{
|
||||
e_push_leaf_ident_exprs_from_expr__in_place(scratch.arena, ctx->macro_map, expr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -936,15 +936,6 @@ internal RD_Regs *rd_regs_copy(Arena *arena, RD_Regs *src);
|
||||
|
||||
internal void rd_cmd_list_push_new(Arena *arena, RD_CmdList *cmds, String8 name, RD_Regs *regs);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View Spec Type Functions
|
||||
|
||||
#if 0 // TODO(rjf): @cfg
|
||||
internal RD_ViewRuleKind rd_view_rule_kind_from_string(String8 string);
|
||||
internal RD_ViewRuleInfo *rd_view_rule_info_from_kind(RD_ViewRuleKind kind);
|
||||
internal RD_ViewRuleInfo *rd_view_rule_info_from_string(String8 string);
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View UI Rule Functions
|
||||
|
||||
|
||||
@@ -2793,7 +2793,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
String8 string = ev_expr_string_from_row(scratch.arena, row, 0);
|
||||
E_TokenArray tokens = e_token_array_from_text(scratch.arena, string);
|
||||
E_Parse parse = e_parse_expr_from_text_tokens(scratch.arena, string, &tokens);
|
||||
E_IRTreeAndType irtree = e_irtree_and_type_from_expr(scratch.arena, parse.expr);
|
||||
E_IRTreeAndType irtree = e_irtree_and_type_from_expr(scratch.arena, parse.last_expr);
|
||||
E_OpList oplist = e_oplist_from_irtree(scratch.arena, irtree.root);
|
||||
String8 bytecode = e_bytecode_from_oplist(scratch.arena, &oplist);
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Text:");
|
||||
@@ -2815,7 +2815,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
E_Expr *expr;
|
||||
S64 depth;
|
||||
};
|
||||
Task start_task = {0, 0, parse.expr};
|
||||
Task start_task = {0, 0, parse.last_expr};
|
||||
Task *first_task = &start_task;
|
||||
Task *last_task = first_task;
|
||||
for(Task *t = first_task; t != 0; t = t->next)
|
||||
|
||||
Reference in New Issue
Block a user