mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-07 08:08:50 +00:00
Use new name canonicalization approach
This commit is contained in:
@@ -1568,10 +1568,12 @@ gb_internal String lb_set_nested_type_name_ir_mangled_name(Entity *e, lbProcedur
|
|||||||
|
|
||||||
gb_internal String lb_get_entity_name(lbModule *m, Entity *e) {
|
gb_internal String lb_get_entity_name(lbModule *m, Entity *e) {
|
||||||
GB_ASSERT(m != nullptr);
|
GB_ASSERT(m != nullptr);
|
||||||
if (e != nullptr && e->kind == Entity_TypeName && e->TypeName.ir_mangled_name.len != 0) {
|
|
||||||
return e->TypeName.ir_mangled_name;
|
|
||||||
}
|
|
||||||
GB_ASSERT(e != nullptr);
|
GB_ASSERT(e != nullptr);
|
||||||
|
if (e->kind == Entity_TypeName && e->TypeName.ir_mangled_name.len != 0) {
|
||||||
|
return e->TypeName.ir_mangled_name;
|
||||||
|
} else if (e->kind == Entity_Procedure && e->Procedure.link_name.len != 0) {
|
||||||
|
return e->Procedure.link_name;
|
||||||
|
}
|
||||||
|
|
||||||
if (e->pkg == nullptr) {
|
if (e->pkg == nullptr) {
|
||||||
return e->token.string;
|
return e->token.string;
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ gb_internal gbString write_canonical_entity_name(gbString w, Entity *e) {
|
|||||||
w = gb_string_appendc(w, gb_bprintf(".[%.*s].", LIT(file_name)));
|
w = gb_string_appendc(w, gb_bprintf(".[%.*s].", LIT(file_name)));
|
||||||
goto write_base_name;
|
goto write_base_name;
|
||||||
}
|
}
|
||||||
gb_printf_err("%s HERE %s %u %p\n", token_pos_to_string(e->token.pos), type_to_string(e->type), s->flags, s->decl_info);
|
gb_printf_err("%s WEIRD ENTITY TYPE %s %u %p\n", token_pos_to_string(e->token.pos), type_to_string(e->type), s->flags, s->decl_info);
|
||||||
print_scope_flags(s);
|
print_scope_flags(s);
|
||||||
GB_PANIC("weird entity");
|
GB_PANIC("weird entity");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user