From 63224271713f5035c3a7c2b15d34ed2b7f0b488e Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Thu, 29 May 2025 17:36:41 -0700 Subject: [PATCH] qualify constant names by containing type, if applicable; otherwise we get tons of duplicate constant names... --- src/rdi_from_pdb/rdi_from_pdb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rdi_from_pdb/rdi_from_pdb.c b/src/rdi_from_pdb/rdi_from_pdb.c index b9874081..7a6a9860 100644 --- a/src/rdi_from_pdb/rdi_from_pdb.c +++ b/src/rdi_from_pdb/rdi_from_pdb.c @@ -2963,10 +2963,16 @@ ASYNC_WORK_DEF(p2r_symbol_stream_convert_work) U8 *name_ptr = val_ptr + val.encoded_size; String8 name = str8_cstring_capped(name_ptr, sym_data_opl); String8 val_data = str8_struct(&val64); + U64 container_name_opl = p2r_end_of_cplusplus_container_name(type->name); + String8 name_qualified = name; + if(container_name_opl != 0) + { + name_qualified = push_str8f(arena, "%S%S", str8_prefix(type->name, container_name_opl), name); + } // rjf: build constant symbol RDIM_Symbol *cnst = rdim_symbol_chunk_list_push(arena, &sym_constants, sym_constants_chunk_cap); - cnst->name = name; + cnst->name = name_qualified; cnst->type = type; rdim_symbol_push_value_data(arena, &sym_constants, cnst, val_data); }break;