From 86f45ce5e79e1a8c31ad784c49faac5b40323d7b Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Mon, 12 Aug 2024 09:26:44 -0700 Subject: [PATCH] do not assume valid identifier maps if location info is not present --- src/eval/eval_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/eval/eval_parse.c b/src/eval/eval_parse.c index 1d084e9d..54848609 100644 --- a/src/eval/eval_parse.c +++ b/src/eval/eval_parse.c @@ -1219,7 +1219,6 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to U64 local_num = e_num_from_string(e_parse_ctx->locals_map, local_lookup_string); if(local_num != 0) { - mapped_identifier = 1; identifier_type_is_possibly_dynamically_overridden = 1; RDI_Local *local_var = rdi_element_from_name_idx(e_parse_ctx->rdis[e_parse_ctx->rdis_primary_idx], Locals, local_num-1); RDI_TypeNode *type_node = rdi_element_from_name_idx(e_parse_ctx->rdis[e_parse_ctx->rdis_primary_idx], TypeNodes, local_var->type_idx); @@ -1233,6 +1232,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to RDI_LocationBlock *block = rdi_element_from_name_idx(e_parse_ctx->rdis[e_parse_ctx->rdis_primary_idx], LocationBlocks, loc_block_idx); if(block->scope_off_first <= e_parse_ctx->ip_voff && e_parse_ctx->ip_voff < block->scope_off_opl) { + mapped_identifier = 1; U64 all_location_data_size = 0; U8 *all_location_data = rdi_table_from_name(e_parse_ctx->rdis[e_parse_ctx->rdis_primary_idx], LocationData, &all_location_data_size); loc_kind = *((RDI_LocationKind *)(all_location_data + block->location_data_off));