forked from Imagelibrary/binutils-gdb
gdb: add type::name / type::set_name
Add the `name` and `set_name` methods on `struct type`, in order to remove the `TYPE_NAME` macro. In this patch, the `TYPE_NAME` macro is changed to use `type::name`, so all the call sites that are used to set the type name are changed to use `type::set_name`. The next patch will remove `TYPE_NAME` completely. gdb/ChangeLog: * gdbtypes.h (struct type) <name, set_name>: New methods. (TYPE_CODE): Use type::name. Change all call sites used to set the name to use type::set_name instead.
This commit is contained in:
@@ -889,6 +889,18 @@ struct type
|
||||
this->main_type->code = code;
|
||||
}
|
||||
|
||||
/* Get the name of this type. */
|
||||
const char *name () const
|
||||
{
|
||||
return this->main_type->name;
|
||||
}
|
||||
|
||||
/* Set the name of this type. */
|
||||
void set_name (const char *name)
|
||||
{
|
||||
this->main_type->name = name;
|
||||
}
|
||||
|
||||
/* * Return the dynamic property of the requested KIND from this type's
|
||||
list of dynamic properties. */
|
||||
dynamic_prop *dyn_prop (dynamic_prop_node_kind kind) const;
|
||||
@@ -1404,7 +1416,7 @@ extern void allocate_gnat_aux_type (struct type *);
|
||||
|
||||
#define TYPE_INSTANCE_FLAGS(thistype) (thistype)->instance_flags
|
||||
#define TYPE_MAIN_TYPE(thistype) (thistype)->main_type
|
||||
#define TYPE_NAME(thistype) TYPE_MAIN_TYPE(thistype)->name
|
||||
#define TYPE_NAME(thistype) ((thistype)->name ())
|
||||
#define TYPE_TARGET_TYPE(thistype) TYPE_MAIN_TYPE(thistype)->target_type
|
||||
#define TYPE_POINTER_TYPE(thistype) (thistype)->pointer_type
|
||||
#define TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type
|
||||
|
||||
Reference in New Issue
Block a user