[PATCH] Sink CommentCommandList.inc into CommentSema.cpp

NAKAMURA Takumi geek4civic at gmail.com
Mon Dec 23 08:49:42 PST 2013


Hi gribozavr,

Seems CommentCommandList.inc is used in one file, CommentSema.cpp.

I am working to cut dependencies to source files out of clang-tblgen.
You may commit this yourself if you think this reasonable, thank you.

http://llvm-reviews.chandlerc.com/D2461

Files:
  clang/include/clang/AST/CommentCommandTraits.h
  clang/lib/AST/CommentSema.cpp

Index: clang/include/clang/AST/CommentCommandTraits.h
===================================================================
--- clang/include/clang/AST/CommentCommandTraits.h
+++ clang/include/clang/AST/CommentCommandTraits.h
@@ -123,13 +123,6 @@
 /// in comments.
 class CommandTraits {
 public:
-  enum KnownCommandIDs {
-#define COMMENT_COMMAND(NAME) KCI_##NAME,
-#include "clang/AST/CommentCommandList.inc"
-#undef COMMENT_COMMAND
-    KCI_Last
-  };
-
   CommandTraits(llvm::BumpPtrAllocator &Allocator,
                 const CommentOptions &CommentOptions);
 
Index: clang/lib/AST/CommentSema.cpp
===================================================================
--- clang/lib/AST/CommentSema.cpp
+++ clang/lib/AST/CommentSema.cpp
@@ -22,6 +22,16 @@
 namespace comments {
 
 namespace {
+
+namespace CommandList {
+  enum KnownCommandIDs {
+#define COMMENT_COMMAND(NAME) KCI_##NAME,
+#include "clang/AST/CommentCommandList.inc"
+#undef COMMENT_COMMAND
+    KCI_Last
+  };
+}
+
 #include "clang/AST/CommentHTMLTagsProperties.inc"
 } // unnamed namespace
 
@@ -97,19 +107,19 @@
 
   unsigned DiagSelect;
   switch (Comment->getCommandID()) {
-    case CommandTraits::KCI_function:
+    case CommandList::KCI_function:
       DiagSelect = (!isAnyFunctionDecl() && !isFunctionTemplateDecl())? 1 : 0;
       break;
-    case CommandTraits::KCI_functiongroup:
+    case CommandList::KCI_functiongroup:
       DiagSelect = (!isAnyFunctionDecl() && !isFunctionTemplateDecl())? 2 : 0;
       break;
-    case CommandTraits::KCI_method:
+    case CommandList::KCI_method:
       DiagSelect = !isObjCMethodDecl() ? 3 : 0;
       break;
-    case CommandTraits::KCI_methodgroup:
+    case CommandList::KCI_methodgroup:
       DiagSelect = !isObjCMethodDecl() ? 4 : 0;
       break;
-    case CommandTraits::KCI_callback:
+    case CommandList::KCI_callback:
       DiagSelect = !isFunctionPointerVarDecl() ? 5 : 0;
       break;
     default:
@@ -129,24 +139,24 @@
     return;
   unsigned DiagSelect;
   switch (Comment->getCommandID()) {
-    case CommandTraits::KCI_class:
+    case CommandList::KCI_class:
       DiagSelect = (!isClassOrStructDecl() && !isClassTemplateDecl()) ? 1 : 0;
       // Allow @class command on @interface declarations.
       // FIXME. Currently, \class and @class are indistinguishable. So,
       // \class is also allowed on an @interface declaration
       if (DiagSelect && Comment->getCommandMarker() && isObjCInterfaceDecl())
         DiagSelect = 0;
       break;
-    case CommandTraits::KCI_interface:
+    case CommandList::KCI_interface:
       DiagSelect = !isObjCInterfaceDecl() ? 2 : 0;
       break;
-    case CommandTraits::KCI_protocol:
+    case CommandList::KCI_protocol:
       DiagSelect = !isObjCProtocolDecl() ? 3 : 0;
       break;
-    case CommandTraits::KCI_struct:
+    case CommandList::KCI_struct:
       DiagSelect = !isClassOrStructDecl() ? 4 : 0;
       break;
-    case CommandTraits::KCI_union:
+    case CommandList::KCI_union:
       DiagSelect = !isUnionDecl() ? 5 : 0;
       break;
     default:
@@ -166,37 +176,37 @@
     return;
   unsigned DiagSelect;
   switch (Comment->getCommandID()) {
-    case CommandTraits::KCI_classdesign:
+    case CommandList::KCI_classdesign:
       DiagSelect = 1;
       break;
-    case CommandTraits::KCI_coclass:
+    case CommandList::KCI_coclass:
       DiagSelect = 2;
       break;
-    case CommandTraits::KCI_dependency:
+    case CommandList::KCI_dependency:
       DiagSelect = 3;
       break;
-    case CommandTraits::KCI_helper:
+    case CommandList::KCI_helper:
       DiagSelect = 4;
       break;
-    case CommandTraits::KCI_helperclass:
+    case CommandList::KCI_helperclass:
       DiagSelect = 5;
       break;
-    case CommandTraits::KCI_helps:
+    case CommandList::KCI_helps:
       DiagSelect = 6;
       break;
-    case CommandTraits::KCI_instancesize:
+    case CommandList::KCI_instancesize:
       DiagSelect = 7;
       break;
-    case CommandTraits::KCI_ownership:
+    case CommandList::KCI_ownership:
       DiagSelect = 8;
       break;
-    case CommandTraits::KCI_performance:
+    case CommandList::KCI_performance:
       DiagSelect = 9;
       break;
-    case CommandTraits::KCI_security:
+    case CommandList::KCI_security:
       DiagSelect = 10;
       break;
-    case CommandTraits::KCI_superclass:
+    case CommandList::KCI_superclass:
       DiagSelect = 11;
       break;
     default:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2461.1.patch
Type: text/x-patch
Size: 4442 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131223/58825520/attachment.bin>


More information about the cfe-commits mailing list