clang 22.0.0git
|
Doxygen comment parser. More...
#include "clang/AST/CommentParser.h"
Friends | |
class | TextTokenRetokenizer |
Doxygen comment parser.
Definition at line 29 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 387 of file CommentParser.cpp.
BlockCommandComment * clang::comments::Parser::parseBlockCommand | ( | ) |
Definition at line 473 of file CommentParser.cpp.
References clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::Block, clang::cast(), clang::comments::CMK_At, clang::comments::CMK_Backslash, clang::comments::CommandInfo::IsParamCommand, clang::comments::CommandInfo::IsParCommand, clang::comments::CommandInfo::IsThrowsCommand, clang::comments::CommandInfo::IsTParamCommand, clang::comments::tok::newline, clang::comments::CommandInfo::NumArgs, parseCommandArgs(), parseParagraphOrBlockCommand(), parseParamCommandArgs(), parseParCommandArgs(), parseThrowCommandArgs(), parseTParamCommandArgs(), clang::comments::TextTokenRetokenizer::putBackLeftoverTokens(), and TextTokenRetokenizer.
Referenced by parseParagraphOrBlockCommand().
BlockContentComment * clang::comments::Parser::parseBlockContent | ( | ) |
Definition at line 890 of file CommentParser.cpp.
References clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::tok::eof, 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().
ArrayRef< Comment::Argument > clang::comments::Parser::parseCommandArgs | ( | TextTokenRetokenizer & | Retokenizer, |
unsigned | NumArgs ) |
Definition at line 424 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexWord(), and TextTokenRetokenizer.
Referenced by parseBlockCommand(), and parseInlineCommand().
FullComment * clang::comments::Parser::parseFullComment | ( | ) |
Definition at line 921 of file CommentParser.cpp.
References clang::comments::tok::eof, clang::comments::tok::newline, and parseBlockContent().
Referenced by clang::RawComment::parse().
HTMLEndTagComment * clang::comments::Parser::parseHTMLEndTag | ( | ) |
Definition at line 702 of file CommentParser.cpp.
References clang::comments::Token::getHTMLTagEndName(), clang::comments::Token::getLocation(), clang::comments::tok::html_end_tag, and clang::comments::tok::html_greater.
Referenced by parseParagraphOrBlockCommand().
HTMLStartTagComment * clang::comments::Parser::parseHTMLStartTag | ( | ) |
Definition at line 601 of file CommentParser.cpp.
References clang::comments::Token::getHTMLIdent(), clang::comments::Comment::getLocation(), clang::comments::Token::getLocation(), clang::comments::Comment::getSourceRange(), 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, and clang::comments::tok::html_start_tag.
Referenced by parseParagraphOrBlockCommand().
InlineCommandComment * clang::comments::Parser::parseInlineCommand | ( | ) |
Definition at line 571 of file CommentParser.cpp.
References clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::CMK_At, clang::comments::CMK_Backslash, clang::comments::Token::getCommandID(), clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::SourceLocation::getLocWithOffset(), clang::comments::Token::is(), clang::comments::CommandInfo::Name, clang::comments::CommandInfo::NumArgs, parseCommandArgs(), clang::comments::TextTokenRetokenizer::putBackLeftoverTokens(), and TextTokenRetokenizer.
Referenced by parseParagraphOrBlockCommand().
BlockContentComment * clang::comments::Parser::parseParagraphOrBlockCommand | ( | ) |
Definition at line 717 of file CommentParser.cpp.
References clang::comments::tok::at_command, clang::comments::tok::backslash_command, clang::comments::tok::eof, clang::comments::CommandInfo::getID(), 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::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 395 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexDelimitedSeq(), clang::comments::TextTokenRetokenizer::lexWord(), and TextTokenRetokenizer.
Referenced by parseBlockCommand().
ArrayRef< Comment::Argument > clang::comments::Parser::parseParCommandArgs | ( | TextTokenRetokenizer & | Retokenizer, |
unsigned | NumArgs ) |
Definition at line 456 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexParHeading(), and TextTokenRetokenizer.
Referenced by parseBlockCommand().
ArrayRef< Comment::Argument > clang::comments::Parser::parseThrowCommandArgs | ( | TextTokenRetokenizer & | Retokenizer, |
unsigned | NumArgs ) |
Parse arguments for.
command | supported args are in form of class or template. |
Definition at line 439 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexType(), and TextTokenRetokenizer.
Referenced by parseBlockCommand().
void clang::comments::Parser::parseTParamCommandArgs | ( | TParamCommandComment * | TPC, |
TextTokenRetokenizer & | Retokenizer ) |
Parse arguments for \tparam command.
Definition at line 413 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getText(), clang::comments::TextTokenRetokenizer::lexWord(), and TextTokenRetokenizer.
Referenced by parseBlockCommand().
VerbatimBlockComment * clang::comments::Parser::parseVerbatimBlock | ( | ) |
Definition at line 818 of file CommentParser.cpp.
References clang::comments::Comment::getLocation(), clang::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().
VerbatimLineComment * clang::comments::Parser::parseVerbatimLine | ( | ) |
Definition at line 864 of file CommentParser.cpp.
References clang::comments::Token::getEndLocation(), clang::comments::Token::getLocation(), clang::comments::Token::getVerbatimLineID(), clang::Text, clang::comments::tok::verbatim_line_name, and clang::comments::tok::verbatim_line_text.
Referenced by parseBlockContent().
|
friend |
Definition at line 33 of file CommentParser.h.
References TextTokenRetokenizer.
Referenced by parseBlockCommand(), parseCommandArgs(), parseInlineCommand(), parseParamCommandArgs(), parseParCommandArgs(), parseThrowCommandArgs(), parseTParamCommandArgs(), and TextTokenRetokenizer.