History log of /external/clang/lib/AST/CommentBriefParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8536fa14ee1048e5e2d62cb3dc11fc640c7dc00d 02-Mar-2013 Fariborz Jahanian <fjahanian@apple.com> Some refactoring in my patch on document
command source fidelity. // rdar://13066276



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
e4330a302ac20b41b9800267ebd4b5b01f8553f8 10-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment AST: TableGen'ize all command lists in CommentCommandTraits.cpp.

Now we have a list of all commands. This is a good thing in itself, but it
also enables us to easily implement typo correction for command names.

With this change we have objects that contain information about each command,
so it makes sense to resolve command name just once during lexing (currently we
store command names as strings and do a linear search every time some property
value is needed). Thus comment token and AST nodes were changed to contain a
command ID -- index into a tables of builtin and registered commands. Unknown
commands are registered during parsing and thus are also uniformly assigned an
ID. Using an ID instead of a StringRef is also a nice memory optimization
since ID is a small integer that fits into a common bitfield in Comment class.

This change implies that to get any information about a command (even a command
name) we need a CommandTraits object to resolve the command ID to CommandInfo*.
Currently a fresh temporary CommandTraits object is created whenever it is
needed since it does not have any state. But with this change it has state --
new commands can be registered, so a CommandTraits object was added to
ASTContext.

Also, in libclang CXComment has to be expanded to include a CXTranslationUnit
so that all functions working on comment AST nodes can get a CommandTraits
object. This breaks binary compatibility of CXComment APIs.

Now clang_FullComment_getAsXML(CXTranslationUnit TU, CXComment CXC) doesn't
need TU parameter anymore, so it was removed. This is a source-incompatible
change for this C API.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
0ac4ec7f1c79a13f813fa644997a4b89ac0ba3aa 21-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: allow paragraphs to be separated by line of whitespace.
Skip paragraphs that contain only whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
aa58081902ad31927df02e8537d972eabe29d6df 09-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing: extract TableGen'able pieces into new CommandTraits class.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
96b098674908eaa59a9128f3305cda6fbbdad563 01-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing: add support for \tparam command on all levels.

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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
4423f81705bd834054f9940d4eb9195addaea065 20-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: coding style fix


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
72021ff4038cbc48b09a3acb743e319809f086db 20-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: use \returns if we can't find the \brief or just a plain
paragraph.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
76e7edddfa0692097a94c32fff0bc5f5f4512cff 17-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: use StringSwitch::Cases to group synonyms. Thanks Jordan!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
659a7124c7069b3e01dd171f7290562f58f9e97a 17-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: make \short should equivalent to \brief, per Doxygen manual.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
57aceb227d192ce41f5412a53d451354e90dd792 03-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> CommentBriefParser: remove dead store. Found by Clang Analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
55e1808c6064ace116e458ab82abf33d3f83659a 29-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> 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
/external/clang/lib/AST/CommentBriefParser.cpp
d558b5238df74ef3cb76d7125375a5c28fe0eaa9 28-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> Cleanup \brief comment. Since it is a single paragraph, no need to save newlines there.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
f199b9cd4af562029a3c7b82c4672819b2c39e70 28-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> Teach \brief parser about commands that start a new paragraph implicitly


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
c0b8324d6f68dfc2221257cdb83e39b974431c0b 27-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> Simplify logic in BriefParser::Parse(), per Jordan's comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp
2d44d77fed3200e2eff289f55493317e90d3398c 26-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> Implement a lexer for structured comments.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/CommentBriefParser.cpp