clang API Documentation
Doxygen comment parser. More...
#include <CommentParser.h>
Public Member Functions | |
Parser (Lexer &L, Sema &S, llvm::BumpPtrAllocator &Allocator, const SourceManager &SourceMgr, DiagnosticsEngine &Diags, const CommandTraits &Traits) | |
void | parseParamCommandArgs (ParamCommandComment *PC, TextTokenRetokenizer &Retokenizer) |
Parse arguments for \param command. | |
void | parseTParamCommandArgs (TParamCommandComment *TPC, TextTokenRetokenizer &Retokenizer) |
Parse arguments for \tparam command. | |
void | parseBlockCommandArgs (BlockCommandComment *BC, TextTokenRetokenizer &Retokenizer, unsigned NumArgs) |
BlockCommandComment * | parseBlockCommand () |
InlineCommandComment * | parseInlineCommand () |
HTMLStartTagComment * | parseHTMLStartTag () |
HTMLEndTagComment * | parseHTMLEndTag () |
BlockContentComment * | parseParagraphOrBlockCommand () |
VerbatimBlockComment * | parseVerbatimBlock () |
VerbatimLineComment * | parseVerbatimLine () |
BlockContentComment * | parseBlockContent () |
FullComment * | parseFullComment () |
Friends | |
class | TextTokenRetokenizer |
Doxygen comment parser.
Definition at line 30 of file CommentParser.h.
clang::comments::Parser::Parser | ( | Lexer & | L, |
Sema & | S, | ||
llvm::BumpPtrAllocator & | Allocator, | ||
const SourceManager & | SourceMgr, | ||
DiagnosticsEngine & | Diags, | ||
const CommandTraits & | Traits | ||
) |
Definition at line 257 of file CommentParser.cpp.
Definition at line 311 of file CommentParser.cpp.
References clang::comments::Sema::actOnBlockCommandFinish(), clang::comments::Sema::actOnBlockCommandStart(), clang::comments::Sema::actOnParagraphComment(), clang::comments::Sema::actOnParamCommandFinish(), clang::comments::Sema::actOnParamCommandStart(), clang::comments::Sema::actOnTParamCommandFinish(), clang::comments::Sema::actOnTParamCommandStart(), clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::CMK_At, clang::comments::CMK_Backslash, clang::comments::Token::getCommandID(), clang::comments::CommandTraits::getCommandInfo(), clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::is(), clang::comments::CommandInfo::IsParamCommand, clang::comments::CommandInfo::IsTParamCommand, clang::comments::tok::newline, clang::comments::CommandInfo::NumArgs, parseBlockCommandArgs(), parseParagraphOrBlockCommand(), parseParamCommandArgs(), parseTParamCommandArgs(), and clang::comments::TextTokenRetokenizer::putBackLeftoverTokens().
Referenced by parseParagraphOrBlockCommand().
void clang::comments::Parser::parseBlockCommandArgs | ( | BlockCommandComment * | BC, |
TextTokenRetokenizer & | Retokenizer, | ||
unsigned | NumArgs | ||
) |
Definition at line 293 of file CommentParser.cpp.
References clang::comments::Sema::actOnBlockCommandArgs(), clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), and clang::comments::TextTokenRetokenizer::lexWord().
Referenced by parseBlockCommand().
Definition at line 728 of file CommentParser.cpp.
References clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::tok::eof, clang::comments::Token::getKind(), clang::comments::tok::html_end_tag, clang::comments::tok::html_equals, clang::comments::tok::html_greater, clang::comments::tok::html_ident, clang::comments::tok::html_quoted_string, clang::comments::tok::html_slash_greater, clang::comments::tok::html_start_tag, clang::comments::tok::newline, parseParagraphOrBlockCommand(), parseVerbatimBlock(), parseVerbatimLine(), clang::comments::tok::text, clang::comments::tok::unknown_command, clang::comments::tok::verbatim_block_begin, clang::comments::tok::verbatim_block_end, clang::comments::tok::verbatim_block_line, clang::comments::tok::verbatim_line_name, and clang::comments::tok::verbatim_line_text.
Referenced by parseFullComment().
Definition at line 759 of file CommentParser.cpp.
References clang::comments::Sema::actOnFullComment(), clang::comments::Sema::copyArray(), clang::comments::tok::eof, clang::comments::Token::is(), clang::comments::Token::isNot(), clang::comments::tok::newline, and parseBlockContent().
Definition at line 538 of file CommentParser.cpp.
References clang::comments::Sema::actOnHTMLEndTag(), clang::comments::Token::getLocation(), clang::comments::tok::html_end_tag, clang::comments::tok::html_greater, and clang::comments::Token::is().
Referenced by parseParagraphOrBlockCommand().
Definition at line 433 of file CommentParser.cpp.
References clang::comments::Sema::actOnHTMLStartTagFinish(), clang::comments::Sema::actOnHTMLStartTagStart(), clang::comments::Sema::copyArray(), clang::comments::Token::getEndLocation(), clang::comments::Token::getHTMLIdent(), clang::comments::Token::getHTMLQuotedString(), clang::comments::Token::getHTMLTagStartName(), clang::comments::Token::getKind(), clang::comments::Token::getLocation(), clang::SourceManager::getPresumedLineNumber(), clang::comments::tok::html_equals, clang::comments::tok::html_greater, clang::comments::tok::html_ident, clang::comments::tok::html_quoted_string, clang::comments::tok::html_slash_greater, clang::comments::tok::html_start_tag, clang::comments::Token::is(), and clang::comments::Token::isNot().
Referenced by parseParagraphOrBlockCommand().
Definition at line 403 of file CommentParser.cpp.
References clang::comments::Sema::actOnInlineCommand(), clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::Token::is(), clang::comments::TextTokenRetokenizer::lexWord(), and clang::comments::TextTokenRetokenizer::putBackLeftoverTokens().
Referenced by parseParagraphOrBlockCommand().
Definition at line 553 of file CommentParser.cpp.
References clang::comments::Sema::actOnParagraphComment(), clang::comments::Sema::actOnText(), clang::comments::Sema::actOnUnknownCommand(), clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::Sema::copyArray(), clang::comments::tok::eof, clang::comments::Token::getCommandID(), clang::comments::CommandTraits::getCommandInfo(), clang::comments::Token::getEndLocation(), clang::comments::CommandInfo::getID(), clang::comments::Token::getKind(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::Token::getUnknownCommandName(), clang::comments::tok::html_end_tag, clang::comments::tok::html_equals, clang::comments::tok::html_greater, clang::comments::tok::html_ident, clang::comments::tok::html_quoted_string, clang::comments::tok::html_slash_greater, clang::comments::tok::html_start_tag, clang::comments::Token::is(), clang::comments::CommandInfo::IsBlockCommand, clang::comments::CommandInfo::IsInlineCommand, clang::comments::CommandInfo::IsUnknownCommand, clang::comments::CommandInfo::IsVerbatimBlockEndCommand, clang::isWhitespace(), clang::comments::CommandInfo::Name, clang::comments::tok::newline, parseBlockCommand(), parseHTMLEndTag(), parseHTMLStartTag(), parseInlineCommand(), clang::comments::tok::text, clang::comments::tok::unknown_command, clang::comments::tok::verbatim_block_begin, clang::comments::tok::verbatim_block_end, clang::comments::tok::verbatim_block_line, clang::comments::tok::verbatim_line_name, and clang::comments::tok::verbatim_line_text.
Referenced by parseBlockCommand(), and parseBlockContent().
void clang::comments::Parser::parseParamCommandArgs | ( | ParamCommandComment * | PC, |
TextTokenRetokenizer & | Retokenizer | ||
) |
Parse arguments for \param command.
Definition at line 265 of file CommentParser.cpp.
References clang::comments::Sema::actOnParamCommandDirectionArg(), clang::comments::Sema::actOnParamCommandParamNameArg(), clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexDelimitedSeq(), and clang::comments::TextTokenRetokenizer::lexWord().
Referenced by parseBlockCommand().
void clang::comments::Parser::parseTParamCommandArgs | ( | TParamCommandComment * | TPC, |
TextTokenRetokenizer & | Retokenizer | ||
) |
Parse arguments for \tparam command.
Definition at line 283 of file CommentParser.cpp.
References clang::comments::Sema::actOnTParamCommandParamNameArg(), clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), and clang::comments::TextTokenRetokenizer::lexWord().
Referenced by parseBlockCommand().
Definition at line 655 of file CommentParser.cpp.
References clang::comments::Sema::actOnVerbatimBlockFinish(), clang::comments::Sema::actOnVerbatimBlockLine(), clang::comments::Sema::actOnVerbatimBlockStart(), clang::comments::Sema::copyArray(), clang::comments::CommandTraits::getCommandInfo(), clang::comments::Token::getLocation(), clang::comments::Token::getVerbatimBlockID(), clang::comments::Token::getVerbatimBlockText(), clang::comments::Token::is(), Line, clang::comments::CommandInfo::Name, clang::comments::tok::newline, clang::comments::tok::verbatim_block_begin, clang::comments::tok::verbatim_block_end, and clang::comments::tok::verbatim_block_line.
Referenced by parseBlockContent().
Definition at line 702 of file CommentParser.cpp.
References clang::comments::Sema::actOnVerbatimLine(), clang::comments::Token::getLocation(), clang::comments::Token::getVerbatimLineText(), clang::comments::Token::is(), clang::comments::tok::verbatim_line_name, and clang::comments::tok::verbatim_line_text.
Referenced by parseBlockContent().
friend class TextTokenRetokenizer [friend] |
Definition at line 34 of file CommentParser.h.