Move Sema::isTemplateParameterDecl to Decl::isTemplateParameter, where it belongs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60708 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index ef99aaa..4a8f830 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -995,7 +995,6 @@
   //===--------------------------------------------------------------------===//
   // C++ Templates [C++ 14]
   //
-  bool isTemplateParameterDecl(Decl *D);
   bool DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl);
   virtual DeclTy *ActOnTypeParameter(Scope *S, bool Typename, 
 				     SourceLocation KeyLoc,
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index b6b1f4c..41587c5 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -868,7 +868,7 @@
     }
   }
 
-  if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+  if (PrevDecl && PrevDecl->isTemplateParameter()) {
     // Maybe we will complain about the shadowed template parameter.
     InvalidDecl = InvalidDecl 
       || DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl);
@@ -2035,7 +2035,7 @@
   // among each other.  Here they can only shadow globals, which is ok.
   IdentifierInfo *II = D.getIdentifier();
   if (Decl *PrevDecl = LookupDecl(II, Decl::IDNS_Ordinary, S)) {
-    if (isTemplateParameterDecl(PrevDecl)) {
+    if (PrevDecl->isTemplateParameter()) {
       // Maybe we will complain about the shadowed template parameter.
       DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl);
       // Just pretend that we didn't see the previous declaration.
@@ -2299,7 +2299,7 @@
     PrevDecl = dyn_cast_or_null<ScopedDecl>(LookupDecl(Name, Decl::IDNS_Tag,S));
   }
 
-  if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+  if (PrevDecl && PrevDecl->isTemplateParameter()) {
     // Maybe we will complain about the shadowed template parameter.
     DiagnoseTemplateParameterShadow(NameLoc, PrevDecl);
     // Just pretend that we didn't see the previous declaration.
@@ -2442,7 +2442,7 @@
     PrevDecl = dyn_cast_or_null<ScopedDecl>(LookupDecl(Name, Decl::IDNS_Tag,S));
   }
   
-  if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+  if (PrevDecl && PrevDecl->isTemplateParameter()) {
     // Maybe we will complain about the shadowed template parameter.
     DiagnoseTemplateParameterShadow(NameLoc, PrevDecl);
     // Just pretend that we didn't see the previous declaration.
@@ -2959,7 +2959,7 @@
   // Verify that there isn't already something declared with this name in this
   // scope.
   Decl *PrevDecl = LookupDecl(Id, Decl::IDNS_Ordinary, S);
-  if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+  if (PrevDecl && PrevDecl->isTemplateParameter()) {
     // Maybe we will complain about the shadowed template parameter.
     DiagnoseTemplateParameterShadow(IdLoc, PrevDecl);
     // Just pretend that we didn't see the previous declaration.
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index d7b7121..7a93b45 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -66,7 +66,7 @@
   
   // Check for another declaration kind with the same name.
   Decl *PrevDecl = LookupDecl(ClassName, Decl::IDNS_Ordinary, TUScope);
-  if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+  if (PrevDecl && PrevDecl->isTemplateParameter()) {
     // Maybe we will complain about the shadowed template parameter.
     DiagnoseTemplateParameterShadow(ClassLoc, PrevDecl);
     // Just pretend that we didn't see the previous declaration.
@@ -826,7 +826,7 @@
   for (unsigned i = 0; i != NumElts; ++i) {
     // Check for another declaration kind with the same name.
     Decl *PrevDecl = LookupDecl(IdentList[i], Decl::IDNS_Ordinary, TUScope);
-    if (PrevDecl && isTemplateParameterDecl(PrevDecl)) {
+    if (PrevDecl && PrevDecl->isTemplateParameter()) {
       // Maybe we will complain about the shadowed template parameter.
       DiagnoseTemplateParameterShadow(AtClassLoc, PrevDecl);
       // Just pretend that we didn't see the previous declaration.
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp
index 092c9d2..2dcb9fe 100644
--- a/lib/Sema/SemaTemplate.cpp
+++ b/lib/Sema/SemaTemplate.cpp
@@ -18,18 +18,12 @@
 
 using namespace clang;
 
-/// isTemplateParameterDecl - Determines whether the given declaration
-/// 'D' names a template parameter.
-bool Sema::isTemplateParameterDecl(Decl *D) {
-  return isa<TemplateTypeParmDecl>(D) || isa<NonTypeTemplateParmDecl>(D);
-}
-
 /// DiagnoseTemplateParameterShadow - Produce a diagnostic complaining
 /// that the template parameter 'PrevDecl' is being shadowed by a new
 /// declaration at location Loc. Returns true to indicate that this is
 /// an error, and false otherwise.
 bool Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) {
-  assert(isTemplateParameterDecl(PrevDecl) && "Not a template parameter");
+  assert(PrevDecl->isTemplateParameter() && "Not a template parameter");
 
   // Microsoft Visual C++ permits template parameters to be shadowed.
   if (getLangOptions().Microsoft)
@@ -63,7 +57,7 @@
 
   if (ParamName) {
     Decl *PrevDecl = LookupDecl(ParamName, Decl::IDNS_Tag, S);
-    if (PrevDecl && isTemplateParameterDecl(PrevDecl))
+    if (PrevDecl && PrevDecl->isTemplateParameter())
       Invalid = Invalid || DiagnoseTemplateParameterShadow(ParamNameLoc,
 							   PrevDecl);
   }
@@ -97,7 +91,7 @@
   IdentifierInfo *ParamName = D.getIdentifier();
   if (ParamName) {
     Decl *PrevDecl = LookupDecl(ParamName, Decl::IDNS_Tag, S);
-    if (PrevDecl && isTemplateParameterDecl(PrevDecl))
+    if (PrevDecl && PrevDecl->isTemplateParameter())
       Invalid = Invalid || DiagnoseTemplateParameterShadow(D.getIdentifierLoc(),
 							   PrevDecl);
   }