[prev in list] [next in list] [prev in thread] [next in thread]
List: cfe-commits
Subject: Re: Please review patch to add '\headerfile' command conversion to HTML
From: Dmitri Gribenko <gribozavr () gmail ! com>
Date: 2013-01-31 19:31:00
Message-ID: CA+Y5xYcBjOknJO6_S_tdE-5Uxr3Sv05sPJWdz4nTpsgbx4SJ9A () mail ! gmail ! com
[Download RAW message or body]
Hi Fariborz,
On Thu, Jan 31, 2013 at 9:01 PM, jahanian <fjahanian@apple.com> wrote:
> [Comment parsing]. Currently, comment parser does not recognize \headerfile, so \
> merges its text to the following text. This patch recognizes \headerfile command \
> and, according to our requirement, places its text into a separate <Para>…</Para> \
> tag. Note that this is not a complete implementation of \headerfile command. Our \
> immediate need is to provide separate paragraph for its text and not mix it with \
> the \brief text which follows it. Please review.
Index: include/clang/AST/CommentCommandTraits.h
===================================================================
--- include/clang/AST/CommentCommandTraits.h (revision 174067)
+++ include/clang/AST/CommentCommandTraits.h (working copy)
@@ -96,6 +96,9 @@
/// \fn void f(int a);
/// \endcode
unsigned IsDeclarationCommand : 1;
+
+ /// \brief True if this is a \headerfile documentation
+ unsigned IsHeaderfileCommand : 1;
(1) "True if this as a \\headerfile-like command."
(2) Please move this after IsDeprecatedCommand, so that it is near
other marker bits for different kinds of block commands. (This change
affects TableGen backend, too.)
Index: include/clang/AST/CommentCommands.td
===================================================================
--- include/clang/AST/CommentCommands.td (revision 174067)
+++ include/clang/AST/CommentCommands.td (working copy)
@@ -19,6 +19,7 @@
bit IsVerbatimBlockEndCommand = 0;
bit IsVerbatimLineCommand = 0;
bit IsDeclarationCommand = 0;
+ bit IsHeaderfileCommand = 0;
}
Please place after IsDeprecatedCommand.
@@ -72,6 +73,7 @@
// Doxygen
def Tparam : BlockCommand<"tparam"> { let IsTParamCommand = 1; }
+def Headerfile : BlockCommand<"headerfile"> { let IsHeaderfileCommand = 1; }
Please move after def Deprecated : BlockCommand<"deprecated">.
+ HeaderfileCommand(NULL){
Space before "{".
@@ -485,6 +486,12 @@
return;
}
PrevCommand = ReturnsCommand;
+ } else if (Info->IsHeaderfileCommand) {
+ if (!HeaderfileCommand) {
+ HeaderfileCommand = Command;
+ return;
+ }
+ PrevCommand = HeaderfileCommand;
} else {
// We don't want to check this command for duplicates.
return;
Please add a test for the "duplicate command" warning for \headerfile.
It should go into test/Sema/warn-documentation.cpp, after
test_duplicate_returns4. Nothing fancy, just a single test (because
there are no aliases for \headerfile, unlike \return -- \returnS
pair):
// expected-warning@+2 ...
/// \headerfile ""
/// \headerfile foo.h
int test_duplicate_headerfile1(int);
We do want a warning here, right?
+// CHECK-NEXT: (CXComment_Text Text=[ Device.h ])
+// CHECK-NEXT: (CXComment_Text Text=[<Foundation])
+// CHECK-NEXT: (CXComment_Text Text=[/Device.h>])))
Nice that our HTML parser is forgiving enough not to recognize this as
plain text... Please also add tests for:
\headerfile <stdio.h>
\headerfile <algorithm>
Result << "<Abstract>";
+ if (Parts.Headerfile)
+ visit(Parts.Headerfile);
I don't think it is good to stuff this into the brief description. It
actually contradicts with your goal:
> Our immediate need is to provide separate paragraph for its text and not mix it \
> with the \brief text which follows it.
Brief description should be short, and should start with something
immediately helpful. I think we should introduce a new tag, like
<Headerfile>. It looks like a good idea, since we already have
<Declaration>. Please put it before <Declaration> in the schema.
Dmitri
--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr@gmail.com>*/
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic