summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/CommentSema.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Comment parser and sema: remove useless return valuesDmitri Gribenko2012-08-061-43/+30
| | | | llvm-svn: 161331
* Comment diagnostics: warn on duplicate \brief and \return commands.Dmitri Gribenko2012-08-061-3/+40
| | | | | | | | | | Doxygen manual claims that multiple \brief or \returns commands will be merged together, but actual behavior is different (second \brief command becomes a part of a discussion, second \returns becomes a "Returns: blah" paragraph on its own). Anyway, it seems to be a bad idea to use multiple \brief or \returns commands in a single command. llvm-svn: 161325
* Comment diagnostics: \return in void function: specialize diagnostic text forDmitri Gribenko2012-08-061-1/+4
| | | | | | ObjC methods. llvm-svn: 161324
* Comment diagnostics: warn if \returns is used in a non-function comment or ifDmitri Gribenko2012-08-031-5/+40
| | | | | | the function returns void. llvm-svn: 161261
* Comments AST: refactor DeclInfo to use an enum for decl kind instead ofDmitri Gribenko2012-08-021-1/+1
| | | | | | separate flags. llvm-svn: 161217
* Initialize flag in DeclInfo.Dmitri Gribenko2012-08-011-0/+1
| | | | llvm-svn: 161141
* Comment AST: add DeclInfo to store information about the declaration. Sema wasDmitri Gribenko2012-08-011-67/+22
| | | | | | already extracting most of this, but discarding at the end of semantic analysis. llvm-svn: 161140
* Comment parsing: add support for \tparam command on all levels.Dmitri Gribenko2012-07-311-23/+258
| | | | | | | | | | The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this breaks libclang binary compatibility, but should not be a problem since API is so new. This also fixes PR13372 as a side-effect. llvm-svn: 161087
* CommentSema.cpp: remove extra semicolonDmitri Gribenko2012-07-271-1/+1
| | | | llvm-svn: 160901
* Comment Sema: don't try to typo-correct a \param when function has zeroDmitri Gribenko2012-07-271-0/+4
| | | | | | arguments. Just an optimization, no functional change. llvm-svn: 160896
* Comment diagnostics: add warning for multiple \param commands with duplicateDmitri Gribenko2012-07-241-1/+11
| | | | | | parameter names. llvm-svn: 160696
* CommentSema: simplify functions, per Jordan's comment.Dmitri Gribenko2012-07-241-8/+4
| | | | llvm-svn: 160689
* Comment Sema: refactor handling of 'ParmVarDecl's and save them in Sema members.Dmitri Gribenko2012-07-231-26/+49
| | | | llvm-svn: 160634
* Comment AST: add InlineContentComment::RenderKind to specify a defaultDmitri Gribenko2012-07-231-10/+28
| | | | | | | | rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. llvm-svn: 160633
* CommentSema: add more inline commands to tablesDmitri Gribenko2012-07-191-2/+3
| | | | llvm-svn: 160481
* CommentSema: \short is the same as \brief.Dmitri Gribenko2012-07-181-2/+2
| | | | llvm-svn: 160414
* Comment AST nodes: rename getXXXCount() methods to getNumXXXs() to be in ↵Dmitri Gribenko2012-07-131-3/+3
| | | | | | line with Statement AST nodes. llvm-svn: 160182
* Comment parsing: repaint the bikesched: rename 'HTML open tags' to 'HTML ↵Dmitri Gribenko2012-07-131-38/+36
| | | | | | start tags' and 'HTML close tags' to 'HTML end tags' according to HTML spec. llvm-svn: 160153
* Make concepts of optional and forbidden end tags separate. Thanks Jordan ↵Dmitri Gribenko2012-07-121-7/+30
| | | | | | for pointing this! llvm-svn: 160149
* AST/CommentSema.cpp: Fix signess in abs() to appease msvc. It would not make ↵NAKAMURA Takumi2012-07-121-1/+2
| | | | | | sense to pass (unsigned)-(unsigned) to abs(). llvm-svn: 160097
* Fix warning.Richard Smith2012-07-111-1/+1
| | | | llvm-svn: 160087
* Enable comment parsing and semantic analysis to emit diagnostics. A fewDmitri Gribenko2012-07-111-61/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | diagnostics implemented -- see testcases. I created a new TableGen file for comment diagnostics, DiagnosticCommentKinds.td, because comment diagnostics don't logically fit into AST diagnostics file. But I don't feel strongly about it. This also implements support for self-closing HTML tags in comment lexer and parser (for example, <br />). In order to issue precise diagnostics CommentSema needs to know the declaration the comment is attached to. There is no easy way to find a decl by comment, so we match comments and decls in lockstep: after parsing one declgroup we check if we have any new, not yet attached comments. If we do -- then we do the usual comment-finding process. It is interesting that this automatically handles trailing comments. We pick up not only comments that precede the declaration, but also comments that *follow* the declaration -- thanks to the lookahead in the lexer: after parsing the declgroup we've consumed the semicolon and looked ahead through comments. Added -Wdocumentation-html flag for semantic HTML errors to allow the user to disable only HTML warnings (but not HTML parse errors, which we emit as warnings in -Wdocumentation). llvm-svn: 160078
* Implement AST classes for comments, a real parser for Doxygen comments and aDmitri Gribenko2012-07-061-0/+268
very simple semantic analysis that just builds the AST; minor changes for lexer to pick up source locations I didn't think about before. Comments AST is modelled along the ideas of HTML AST: block and inline content. * Block content is a paragraph or a command that has a paragraph as an argument or verbatim command. * Inline content is placed within some block. Inline content includes plain text, inline commands and HTML as tag soup. llvm-svn: 159790
OpenPOWER on IntegriCloud