Comment AST: DeclInfo: collapse a bunch of boolean flags into an enum.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161352 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Comment.cpp b/lib/AST/Comment.cpp
index e35b2a3..96b09d0 100644
--- a/lib/AST/Comment.cpp
+++ b/lib/AST/Comment.cpp
@@ -142,9 +142,7 @@
 
   // Set defaults.
   Kind = OtherKind;
-  IsTemplateDecl = false;
-  IsTemplateSpecialization = false;
-  IsTemplatePartialSpecialization = false;
+  TemplateKind = NotTemplate;
   IsObjCMethod = false;
   IsInstanceMethod = false;
   IsClassMethod = false;
@@ -174,8 +172,7 @@
     ResultType = FD->getResultType();
     unsigned NumLists = FD->getNumTemplateParameterLists();
     if (NumLists != 0) {
-      IsTemplateDecl = true;
-      IsTemplateSpecialization = true;
+      TemplateKind = TemplateSpecialization;
       TemplateParameters =
           FD->getTemplateParameterList(NumLists - 1);
     }
@@ -202,7 +199,7 @@
   case Decl::FunctionTemplate: {
     const FunctionTemplateDecl *FTD = cast<FunctionTemplateDecl>(ThisDecl);
     Kind = FunctionKind;
-    IsTemplateDecl = true;
+    TemplateKind = Template;
     const FunctionDecl *FD = FTD->getTemplatedDecl();
     ParamVars = ArrayRef<const ParmVarDecl *>(FD->param_begin(),
                                               FD->getNumParams());
@@ -213,7 +210,7 @@
   case Decl::ClassTemplate: {
     const ClassTemplateDecl *CTD = cast<ClassTemplateDecl>(ThisDecl);
     Kind = ClassKind;
-    IsTemplateDecl = true;
+    TemplateKind = Template;
     TemplateParameters = CTD->getTemplateParameters();
     break;
   }
@@ -221,15 +218,13 @@
     const ClassTemplatePartialSpecializationDecl *CTPSD =
         cast<ClassTemplatePartialSpecializationDecl>(ThisDecl);
     Kind = ClassKind;
-    IsTemplateDecl = true;
-    IsTemplatePartialSpecialization = true;
+    TemplateKind = TemplatePartialSpecialization;
     TemplateParameters = CTPSD->getTemplateParameters();
     break;
   }
   case Decl::ClassTemplateSpecialization:
     Kind = ClassKind;
-    IsTemplateDecl = true;
-    IsTemplateSpecialization = true;
+    TemplateKind = TemplateSpecialization;
     break;
   case Decl::Record:
   case Decl::CXXRecord:
@@ -251,7 +246,7 @@
   case Decl::TypeAliasTemplate: {
     const TypeAliasTemplateDecl *TAT = cast<TypeAliasTemplateDecl>(ThisDecl);
     Kind = TypedefKind;
-    IsTemplateDecl = true;
+    TemplateKind = Template;
     TemplateParameters = TAT->getTemplateParameters();
     break;
   }