mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-01 11:48:10 +00:00
further enriching of codebase type info & eval type info to encode code-contents of pointers, pretty names for members; further progress on improving watch views to support all needed features for replacing all table uis
This commit is contained in:
@@ -453,10 +453,14 @@ e_type_key_cons_base(Type *type)
|
||||
{
|
||||
E_TypeKey direct_type = e_type_key_cons_base(type->direct);
|
||||
E_TypeFlags flags = 0;
|
||||
if(type->is_external)
|
||||
if(type->flags & TypeFlag_IsExternal)
|
||||
{
|
||||
flags |= E_TypeFlag_External;
|
||||
}
|
||||
if(type->flags & TypeFlag_IsCode)
|
||||
{
|
||||
flags |= E_TypeFlag_IsCode;
|
||||
}
|
||||
result = e_type_key_cons_ptr(arch_from_context(), direct_type, flags);
|
||||
}break;
|
||||
case TypeKind_Array:
|
||||
@@ -471,7 +475,7 @@ e_type_key_cons_base(Type *type)
|
||||
for(U64 idx = 0; idx < type->count; idx += 1)
|
||||
{
|
||||
E_TypeKey member_type_key = e_type_key_cons_base(type->members[idx].type);
|
||||
e_member_list_push_new(scratch.arena, &members, .name = type->members[idx].name, .off = type->members[idx].value, .type_key = member_type_key);
|
||||
e_member_list_push_new(scratch.arena, &members, .name = type->members[idx].name, .off = type->members[idx].value, .type_key = member_type_key, .pretty_name = type->members[idx].pretty_name);
|
||||
}
|
||||
E_MemberArray members_array = e_member_array_from_list(scratch.arena, &members);
|
||||
result = e_type_key_cons(.arch = arch_from_context(),
|
||||
|
||||
@@ -69,6 +69,7 @@ enum
|
||||
E_TypeFlag_Const = (1<<0),
|
||||
E_TypeFlag_Volatile = (1<<1),
|
||||
E_TypeFlag_External = (1<<2),
|
||||
E_TypeFlag_IsCode = (1<<3),
|
||||
};
|
||||
|
||||
typedef struct E_Member E_Member;
|
||||
@@ -77,6 +78,7 @@ struct E_Member
|
||||
E_MemberKind kind;
|
||||
E_TypeKey type_key;
|
||||
String8 name;
|
||||
String8 pretty_name;
|
||||
U64 off;
|
||||
E_TypeKeyList inheritance_key_chain;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user