diff options
Diffstat (limited to 'include/clang/AST/DeclBase.h')
-rw-r--r-- | include/clang/AST/DeclBase.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/AST/DeclBase.h b/include/clang/AST/DeclBase.h index 6d61da4698..55919da54e 100644 --- a/include/clang/AST/DeclBase.h +++ b/include/clang/AST/DeclBase.h @@ -211,6 +211,10 @@ public: static bool CollectingStats(bool Enable = false); static void PrintStats(); + /// isTemplateParameter - Determines whether this declartion is a + /// template parameter. + bool isTemplateParameter() const; + // Implement isa/cast/dyncast/etc. static bool classof(const Decl *) { return true; } static DeclContext *castToDeclContext(const Decl *); @@ -388,6 +392,11 @@ template<> struct DeclContext::KindTrait<DeclContext> { static Decl::Kind getKind(const DeclContext *D) { return D->DeclKind; } }; +inline bool Decl::isTemplateParameter() const { + return getKind() == TemplateTypeParm || getKind() == NonTypeTemplateParm; +} + + } // end clang. namespace llvm { |