mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-15 23:54:07 +00:00
Prefix named types with package name in debug types
This commit is contained in:
@@ -2010,6 +2010,9 @@ void lb_debug_complete_types(lbModule *m) {
|
||||
String name = str_lit("<anonymous-struct>");
|
||||
if (t->kind == Type_Named) {
|
||||
name = t->Named.name;
|
||||
if (t->Named.type_name && t->Named.type_name->pkg && t->Named.type_name->pkg->name.len != 0) {
|
||||
name = concatenate3_strings(temporary_allocator(), t->Named.type_name->pkg->name, str_lit("."), t->Named.name);
|
||||
}
|
||||
|
||||
LLVMMetadataRef file = nullptr;
|
||||
unsigned line = 0;
|
||||
|
||||
@@ -343,6 +343,15 @@ String concatenate_strings(gbAllocator a, String const &x, String const &y) {
|
||||
data[len] = 0;
|
||||
return make_string(data, len);
|
||||
}
|
||||
String concatenate3_strings(gbAllocator a, String const &x, String const &y, String const &z) {
|
||||
isize len = x.len+y.len+z.len;
|
||||
u8 *data = gb_alloc_array(a, u8, len+1);
|
||||
gb_memmove(data, x.text, x.len);
|
||||
gb_memmove(data+x.len, y.text, y.len);
|
||||
gb_memmove(data+x.len+y.len, z.text, z.len);
|
||||
data[len] = 0;
|
||||
return make_string(data, len);
|
||||
}
|
||||
|
||||
String string_join_and_quote(gbAllocator a, Array<String> strings) {
|
||||
if (!strings.count) {
|
||||
|
||||
Reference in New Issue
Block a user