summaryrefslogtreecommitdiffstats
path: root/lib/AST/TemplateName.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-06-19 19:28:53 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-06-19 19:28:53 +0000
commit90b715e0df34eae2b50b9b43ec60828ed31dcf94 (patch)
treec45801a030245b443dd759bde3624fb6a9f0fa32 /lib/AST/TemplateName.cpp
parent4d3a7b0a0608febe3cdac68f6121546672ca875e (diff)
Initial support for writing templates to PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106391 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/TemplateName.cpp')
-rw-r--r--lib/AST/TemplateName.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/AST/TemplateName.cpp b/lib/AST/TemplateName.cpp
index 14722f7039..ef7b315314 100644
--- a/lib/AST/TemplateName.cpp
+++ b/lib/AST/TemplateName.cpp
@@ -21,6 +21,17 @@
using namespace clang;
using namespace llvm;
+TemplateName::NameKind TemplateName::getKind() const {
+ if (Storage.is<TemplateDecl *>())
+ return Template;
+ if (Storage.is<OverloadedTemplateStorage *>())
+ return OverloadedTemplate;
+ if (Storage.is<QualifiedTemplateName *>())
+ return QualifiedTemplate;
+ assert(Storage.is<DependentTemplateName *>() && "There's a case unhandled!");
+ return DependentTemplate;
+}
+
TemplateDecl *TemplateName::getAsTemplateDecl() const {
if (TemplateDecl *Template = Storage.dyn_cast<TemplateDecl *>())
return Template;