diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-09-29 19:41:13 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-09-29 19:41:13 +0000 |
commit | 1632b142b6d4d486dffa26f44579978805eedbc8 (patch) | |
tree | 45e6956acffec6947f5d4a544aa8aad14732dc76 /clang | |
parent | 402e1dcf6f59f166224881b4e10533c3a653d0ca (diff) | |
download | bcm5719-llvm-1632b142b6d4d486dffa26f44579978805eedbc8.tar.gz bcm5719-llvm-1632b142b6d4d486dffa26f44579978805eedbc8.zip |
Introduce Type::getTypeClassName() that returns the string associated with the TypeClass enum.
llvm-svn: 83090
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/AST/Type.h | 2 | ||||
-rw-r--r-- | clang/lib/AST/Type.cpp | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h index c3fe86ce348..952671915f2 100644 --- a/clang/include/clang/AST/Type.h +++ b/clang/include/clang/AST/Type.h @@ -874,6 +874,8 @@ public: /// set of type specifiers. bool isSpecifierType() const; + const char *getTypeClassName() const; + QualType getCanonicalTypeInternal() const { return CanonicalType; } void dump() const; virtual void getAsStringInternal(std::string &InnerString, diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index bda06ace1bc..c3eade2cb96 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -668,6 +668,15 @@ bool Type::isSpecifierType() const { } } +const char *Type::getTypeClassName() const { + switch (TC) { + default: assert(0 && "Type class not in TypeNodes.def!"); +#define ABSTRACT_TYPE(Derived, Base) +#define TYPE(Derived, Base) case Derived: return #Derived; +#include "clang/AST/TypeNodes.def" + } +} + const char *BuiltinType::getName(const LangOptions &LO) const { switch (getKind()) { default: assert(0 && "Unknown builtin type!"); |