mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-19 23:16:48 +00:00
force hover eval in window on X axis only; store expr strings rather than expr trees in auto hook map
This commit is contained in:
@@ -461,7 +461,7 @@ e_auto_hook_map_insert_new_(Arena *arena, E_AutoHookMap *map, E_AutoHookParams *
|
||||
E_AutoHookNode *node = push_array(arena, E_AutoHookNode, 1);
|
||||
node->type_string = str8_skip_chop_whitespace(e_type_string_from_key(arena, type_key));
|
||||
node->type_pattern_parts = pattern_parts;
|
||||
node->expr = e_parse_from_string(params->tag_expr_string).expr;
|
||||
node->expr_string = push_str8_copy(arena, params->tag_expr_string);
|
||||
if(!e_type_key_match(e_type_key_zero(), type_key))
|
||||
{
|
||||
U64 hash = e_hash_from_string(5381, node->type_string);
|
||||
@@ -1054,7 +1054,8 @@ e_auto_hook_exprs_from_type_key(Arena *arena, E_TypeKey type_key)
|
||||
{
|
||||
if(str8_match(n->type_string, type_string, 0))
|
||||
{
|
||||
e_expr_list_push(arena, &exprs, n->expr);
|
||||
E_Expr *expr = e_parse_from_string(n->expr_string).expr;
|
||||
e_expr_list_push(arena, &exprs, expr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1089,7 +1090,8 @@ e_auto_hook_exprs_from_type_key(Arena *arena, E_TypeKey type_key)
|
||||
}
|
||||
if(fits_this_type_string)
|
||||
{
|
||||
e_expr_list_push(arena, &exprs, auto_hook_node->expr);
|
||||
E_Expr *expr = e_parse_from_string(auto_hook_node->expr_string).expr;
|
||||
e_expr_list_push(arena, &exprs, expr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -669,7 +669,7 @@ struct E_AutoHookNode
|
||||
E_AutoHookNode *pattern_order_next;
|
||||
String8 type_string;
|
||||
String8List type_pattern_parts;
|
||||
E_Expr *expr;
|
||||
String8 expr_string;
|
||||
};
|
||||
|
||||
typedef struct E_AutoHookSlot E_AutoHookSlot;
|
||||
@@ -884,6 +884,12 @@ struct E_UsedExprMap
|
||||
|
||||
//- rjf: type key -> auto hook expression list cache
|
||||
|
||||
typedef struct E_TypeAutoHookMatch E_TypeAutoHookMatch;
|
||||
struct E_TypeAutoHookMatch
|
||||
{
|
||||
String8 expr;
|
||||
};
|
||||
|
||||
typedef struct E_TypeAutoHookCacheNode E_TypeAutoHookCacheNode;
|
||||
struct E_TypeAutoHookCacheNode
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user