dwarves: Introduce cu__find_enumeration_by_name()
We'll use it in an upcoming feature, to pretty print fields that albeit not declared as an enum, have values coming from one. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
20051b7157
commit
163c330d31
24
dwarves.c
24
dwarves.c
|
@ -734,6 +734,30 @@ struct tag *cu__find_enumeration_by_sname_and_size(const struct cu *cu,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct tag *cu__find_enumeration_by_name(const struct cu *cu, const char *name, type_id_t *idp)
|
||||||
|
{
|
||||||
|
uint32_t id;
|
||||||
|
struct tag *pos;
|
||||||
|
|
||||||
|
if (name == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
cu__for_each_type(cu, id, pos) {
|
||||||
|
if (pos->tag == DW_TAG_enumeration_type) {
|
||||||
|
const struct type *type = tag__type(pos);
|
||||||
|
const char *tname = type__name(type, cu);
|
||||||
|
|
||||||
|
if (tname && strcmp(tname, name) == 0) {
|
||||||
|
if (idp != NULL)
|
||||||
|
*idp = id;
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
struct tag *cu__find_struct_by_sname(const struct cu *cu, strings_t sname,
|
struct tag *cu__find_struct_by_sname(const struct cu *cu, strings_t sname,
|
||||||
const int include_decls, type_id_t *idp)
|
const int include_decls, type_id_t *idp)
|
||||||
{
|
{
|
||||||
|
|
|
@ -348,6 +348,7 @@ struct tag *cu__find_base_type_by_sname_and_size(const struct cu *cu,
|
||||||
strings_t name,
|
strings_t name,
|
||||||
uint16_t bit_size,
|
uint16_t bit_size,
|
||||||
type_id_t *idp);
|
type_id_t *idp);
|
||||||
|
struct tag *cu__find_enumeration_by_name(const struct cu *cu, const char *name, type_id_t *idp);
|
||||||
struct tag *cu__find_enumeration_by_sname_and_size(const struct cu *cu,
|
struct tag *cu__find_enumeration_by_sname_and_size(const struct cu *cu,
|
||||||
strings_t sname,
|
strings_t sname,
|
||||||
uint16_t bit_size,
|
uint16_t bit_size,
|
||||||
|
|
Loading…
Reference in New Issue