summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2009-09-29 19:41:13 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2009-09-29 19:41:13 +0000
commit1632b142b6d4d486dffa26f44579978805eedbc8 (patch)
tree45e6956acffec6947f5d4a544aa8aad14732dc76 /clang
parent402e1dcf6f59f166224881b4e10533c3a653d0ca (diff)
downloadbcm5719-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.h2
-rw-r--r--clang/lib/AST/Type.cpp9
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!");
OpenPOWER on IntegriCloud