aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/CommentBriefParser.cpp
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2012-06-29 18:19:20 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2012-06-29 18:19:20 +0000
commit55e1808c6064ace116e458ab82abf33d3f83659a (patch)
treec5307d5c425604956aae373865cfeaf3ef21cf7a /lib/AST/CommentBriefParser.cpp
parent619ee6acdd43b95b20c5aa96b22c3f238ce1a021 (diff)
Factor out a check for block commands (that implicitly start a new paragraph) into a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159444 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/CommentBriefParser.cpp')
-rw-r--r--lib/AST/CommentBriefParser.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/lib/AST/CommentBriefParser.cpp b/lib/AST/CommentBriefParser.cpp
index 4040a99924..a56d79bda7 100644
--- a/lib/AST/CommentBriefParser.cpp
+++ b/lib/AST/CommentBriefParser.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "clang/AST/CommentBriefParser.h"
+#include "llvm/ADT/StringSwitch.h"
namespace clang {
namespace comments {
@@ -38,6 +39,21 @@ void cleanupBrief(std::string &S) {
S.resize(O - S.begin());
}
+
+bool isBlockCommand(StringRef Name) {
+ return llvm::StringSwitch<bool>(Name)
+ .Case("brief", true)
+ .Case("result", true)
+ .Case("return", true)
+ .Case("returns", true)
+ .Case("author", true)
+ .Case("authors", true)
+ .Case("pre", true)
+ .Case("post", true)
+ .Case("param", true)
+ .Case("arg", true)
+ .Default(false);
+}
} // unnamed namespace
std::string BriefParser::Parse() {
@@ -61,9 +77,8 @@ std::string BriefParser::Parse() {
ConsumeToken();
continue;
}
- // Check if this command implicitly starts a new paragraph.
- if (Name == "param" || Name == "result" || Name == "return" ||
- Name == "returns") {
+ // Block commands implicitly start a new paragraph.
+ if (isBlockCommand(Name)) {
// We found an implicit paragraph end.
InFirstParagraph = false;
if (InBrief) {