From 29753cad1490a9ddaaac3de6c541cd973608ed09 Mon Sep 17 00:00:00 2001 From: Rob Taylor Date: Mon, 2 Jul 2007 13:26:42 +0100 Subject: new get_type_name function Adds function get_type_name to symbol.h to get a string representation of a given type. Signed-off-by: Rob Taylor --- symbol.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'symbol.c') diff --git a/symbol.c b/symbol.c index 2fa68d9..9c105c2 100644 --- a/symbol.c +++ b/symbol.c @@ -444,6 +444,35 @@ struct symbol *examine_symbol_type(struct symbol * sym) return sym; } +const char* get_type_name(enum type type) +{ + const char *type_lookup[] = { + [SYM_UNINITIALIZED] = "uninitialized", + [SYM_PREPROCESSOR] = "preprocessor", + [SYM_BASETYPE] = "basetype", + [SYM_NODE] = "node", + [SYM_PTR] = "pointer", + [SYM_FN] = "function", + [SYM_ARRAY] = "array", + [SYM_STRUCT] = "struct", + [SYM_UNION] = "union", + [SYM_ENUM] = "enum", + [SYM_TYPEDEF] = "typedef", + [SYM_TYPEOF] = "typeof", + [SYM_MEMBER] = "member", + [SYM_BITFIELD] = "bitfield", + [SYM_LABEL] = "label", + [SYM_RESTRICT] = "restrict", + [SYM_FOULED] = "fouled", + [SYM_KEYWORD] = "keyword", + [SYM_BAD] = "bad"}; + + if (type <= SYM_BAD) + return type_lookup[type]; + else + return NULL; +} + static struct symbol_list *restr, *fouled; void create_fouled(struct symbol *type) -- cgit v1.2.3-65-gdbad