mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 14:06:07 +00:00
Cleanup \brief comment. Since it is a single paragraph, no need to save newlines there.
llvm-svn: 159325
This commit is contained in:
parent
6c0bc0b378
commit
0743f94671
@ -12,6 +12,34 @@
|
||||
namespace clang {
|
||||
namespace comments {
|
||||
|
||||
namespace {
|
||||
/// Convert all whitespace into spaces, remove leading and trailing spaces,
|
||||
/// compress multiple spaces into one.
|
||||
void cleanupBrief(std::string &S) {
|
||||
bool PrevWasSpace = true;
|
||||
std::string::iterator O = S.begin();
|
||||
for (std::string::iterator I = S.begin(), E = S.end();
|
||||
I != E; ++I) {
|
||||
const char C = *I;
|
||||
if (C == ' ' || C == '\n' || C == '\r' ||
|
||||
C == '\t' || C == '\v' || C == '\f') {
|
||||
if (!PrevWasSpace) {
|
||||
*O++ = ' ';
|
||||
PrevWasSpace = true;
|
||||
}
|
||||
continue;
|
||||
} else {
|
||||
*O++ = C;
|
||||
PrevWasSpace = false;
|
||||
}
|
||||
}
|
||||
if (O != S.begin() && *(O - 1) == ' ')
|
||||
--O;
|
||||
|
||||
S.resize(O - S.begin());
|
||||
}
|
||||
} // unnamed namespace
|
||||
|
||||
std::string BriefParser::Parse() {
|
||||
std::string Paragraph;
|
||||
bool InFirstParagraph = true;
|
||||
@ -47,7 +75,7 @@ std::string BriefParser::Parse() {
|
||||
|
||||
if (Tok.is(tok::newline)) {
|
||||
if (InFirstParagraph || InBrief)
|
||||
Paragraph += '\n';
|
||||
Paragraph += ' ';
|
||||
ConsumeToken();
|
||||
|
||||
if (Tok.is(tok::newline)) {
|
||||
@ -66,6 +94,7 @@ std::string BriefParser::Parse() {
|
||||
ConsumeToken();
|
||||
}
|
||||
|
||||
cleanupBrief(Paragraph);
|
||||
return Paragraph;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
// RUN: c-index-test -test-load-source all %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
|
||||
// CHECK: annotate-comments-unterminated.c:9:5: VarDecl=x:{{.*}} RawComment=[/** Aaa. */]{{.*}} BriefComment=[ Aaa. \n]
|
||||
// CHECK: annotate-comments-unterminated.c:11:5: VarDecl=y:{{.*}} RawComment=[/**< Bbb. */]{{.*}} BriefComment=[ Bbb. \n]
|
||||
// CHECK: annotate-comments-unterminated.c:9:5: VarDecl=x:{{.*}} RawComment=[/** Aaa. */]{{.*}} BriefComment=[Aaa.]
|
||||
// CHECK: annotate-comments-unterminated.c:11:5: VarDecl=y:{{.*}} RawComment=[/**< Bbb. */]{{.*}} BriefComment=[Bbb.]
|
||||
// CHECK-ERR: error: unterminated
|
||||
|
||||
/** Aaa. */
|
||||
|
@ -268,7 +268,7 @@ void isdoxy47(int);
|
||||
// CHECK: annotate-comments.cpp:163:7: FieldDecl=isdoxy42:{{.*}} isdoxy42 IS_DOXYGEN_SINGLE
|
||||
// CHECK: annotate-comments.cpp:176:6: FunctionDecl=isdoxy43:{{.*}} IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
|
||||
|
||||
// CHECK: annotate-comments.cpp:185:6: FunctionDecl=isdoxy44:{{.*}} BriefComment=[ IS_DOXYGEN_START Aaa bbb\n ccc.\n]
|
||||
// CHECK: annotate-comments.cpp:195:6: FunctionDecl=isdoxy45:{{.*}} BriefComment=[\n Ddd eee.\n Fff.\n]
|
||||
// CHECK: annotate-comments.cpp:204:6: FunctionDecl=isdoxy47:{{.*}} BriefComment=[ IS_DOXYGEN_START Aaa bbb\n ]
|
||||
// CHECK: annotate-comments.cpp:185:6: FunctionDecl=isdoxy44:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb ccc.]
|
||||
// CHECK: annotate-comments.cpp:195:6: FunctionDecl=isdoxy45:{{.*}} BriefComment=[Ddd eee. Fff.]
|
||||
// CHECK: annotate-comments.cpp:204:6: FunctionDecl=isdoxy47:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user