diff options
author | Rob Taylor <rob.taylor@codethink.co.uk> | 2007-07-02 13:26:42 +0100 |
---|---|---|
committer | Josh Triplett <josh@freedesktop.org> | 2007-07-13 08:34:49 -0700 |
commit | 29753cad1490a9ddaaac3de6c541cd973608ed09 (patch) | |
tree | 54ef790ffd7e276028f02fd3dc1040259a4bfbd4 /symbol.c | |
parent | add sparse_keep_tokens api to lib.h (diff) | |
download | sparse-29753cad1490a9ddaaac3de6c541cd973608ed09.tar.gz sparse-29753cad1490a9ddaaac3de6c541cd973608ed09.tar.bz2 sparse-29753cad1490a9ddaaac3de6c541cd973608ed09.zip |
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 <rob.taylor@codethink.co.uk>
Diffstat (limited to 'symbol.c')
-rw-r--r-- | symbol.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -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) |