mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 05:18:40 +00:00
checkpoint on pass to majorly simplify debug frontend state, and eliminate df entities, and move from cmds -> msgs
This commit is contained in:
@@ -211,6 +211,24 @@ md_node_push_tag(MD_Node *parent, MD_Node *node)
|
||||
DLLPushBack_NPZ(&md_nil_node, parent->first_tag, parent->last_tag, node, next, prev);
|
||||
}
|
||||
|
||||
//- rjf: tree building helpers
|
||||
|
||||
internal MD_Node *
|
||||
md_push_list(Arena *arena)
|
||||
{
|
||||
MD_Node *n = md_push_node(arena, MD_NodeKind_List, 0, str8_zero(), str8_zero(), 0);
|
||||
return n;
|
||||
}
|
||||
|
||||
internal MD_Node *
|
||||
md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst)
|
||||
{
|
||||
MD_Node *ref = md_push_node(arena, MD_NodeKind_Reference, 0, str8_zero(), str8_zero(), 0);
|
||||
ref->first = ref->last = ref_dst;
|
||||
md_node_push_child(list, ref);
|
||||
return ref;
|
||||
}
|
||||
|
||||
//- rjf: tree introspection
|
||||
|
||||
internal MD_Node *
|
||||
|
||||
@@ -263,6 +263,10 @@ internal MD_Node *md_push_node(Arena *arena, MD_NodeKind kind, MD_NodeFlags flag
|
||||
internal void md_node_push_child(MD_Node *parent, MD_Node *node);
|
||||
internal void md_node_push_tag(MD_Node *parent, MD_Node *node);
|
||||
|
||||
//- rjf: tree building helpers
|
||||
internal MD_Node *md_push_list(Arena *arena);
|
||||
internal MD_Node *md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst);
|
||||
|
||||
//- rjf: tree introspection
|
||||
internal MD_Node * md_node_from_chain_string(MD_Node *first, MD_Node *opl, String8 string, StringMatchFlags flags);
|
||||
internal MD_Node * md_node_from_chain_index(MD_Node *first, MD_Node *opl, U64 index);
|
||||
|
||||
Reference in New Issue
Block a user