Skip to main content

The DocText Class Reference

Root node of a text fragment. More...

Declaration

class DocText { ... }

Included Headers

#include <src/docnode.h>

Base class

classDocCompoundNode

Base class for nodes with children. More...

Public Constructors Index

DocText (DocParser *parser)

Public Member Functions Index

voidparse ()
boolisEmpty () const

Description

Root node of a text fragment.

Definition at line 1303 of file docnode.h.

Public Constructors

DocText()

DocText::DocText (DocParser * parser)
inline

Definition at line 1306 of file docnode.h.

References DocCompoundNode::DocCompoundNode and DocNode::parser.

Public Member Functions

isEmpty()

bool DocText::isEmpty ()
inline

Definition at line 1308 of file docnode.h.

1308 bool isEmpty() const { return children().empty(); }

References DocCompoundNode::children and GrowVector< T >::empty.

parse()

void DocText::parse ()

Declaration at line 1307 of file docnode.h, definition at line 6125 of file docnode.cpp.

6126{
6127 AUTO_TRACE();
6128 auto ns = AutoNodeStack(parser(),thisVariant());
6130
6131 Token tok = parser()->tokenizer.lex();
6132 while (!tok.is_any_of(TokenRetval::TK_NONE, TokenRetval::TK_EOF)) // get the next token
6133 {
6134 switch(tok.value())
6135 {
6136 case TokenRetval::TK_WORD:
6138 break;
6139 case TokenRetval::TK_WHITESPACE:
6141 break;
6142 case TokenRetval::TK_SYMBOL:
6143 {
6144 HtmlEntityMapper::SymType s = DocSymbol::decodeSymbol(parser()->context.token->name);
6146 {
6148 }
6149 else
6150 {
6151 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"Unsupported symbol '{}' found",
6152 parser()->context.token->name);
6153 }
6154 }
6155 break;
6156 case TokenRetval::TK_COMMAND_AT:
6157 // fall through
6158 case TokenRetval::TK_COMMAND_BS:
6159 switch (Mappers::cmdMapper->map(parser()->context.token->name))
6160 {
6163 break;
6166 break;
6169 break;
6172 break;
6175 break;
6178 break;
6181 break;
6184 break;
6187 break;
6191 break;
6196 break;
6199 break;
6202 break;
6205 break;
6208 break;
6211 break;
6214 break;
6217 break;
6218 default:
6219 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"Unexpected command '{}' found",
6220 parser()->context.token->name);
6221 break;
6222 }
6223 break;
6224 default:
6225 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"Unexpected token {}",
6226 tok.to_string());
6227 break;
6228 }
6229 tok = parser()->tokenizer.lex();
6230 }
6231
6233
6234}

References DocNodeList::append, AUTO_TRACE, TokenInfo::chars, DocCompoundNode::children, CMD_AMP, CMD_AT, CMD_BSLASH, CMD_DCOLON, CMD_DOLLAR, CMD_EQUAL, CMD_EXCLAMATION, CMD_GREATER, CMD_HASH, CMD_LESS, CMD_MDASH, CMD_MINUS, CMD_NDASH, CMD_PERCENT, CMD_PLUS, CMD_PUNT, CMD_QUESTION, CMD_QUOTE, Mappers::cmdMapper, DocParser::context, DocSymbol::decodeSymbol, DocParser::handleUnclosedStyleCommands, Token::is_any_of, DocTokenizer::lex, TokenInfo::name, DocNode::parser, DocTokenizer::setStateText, HtmlEntityMapper::Sym_Amp, HtmlEntityMapper::Sym_At, HtmlEntityMapper::Sym_BSlash, HtmlEntityMapper::Sym_Dollar, HtmlEntityMapper::Sym_Dot, HtmlEntityMapper::Sym_DoubleColon, HtmlEntityMapper::Sym_Equal, HtmlEntityMapper::Sym_Exclam, HtmlEntityMapper::Sym_Greater, HtmlEntityMapper::Sym_Hash, HtmlEntityMapper::Sym_Less, HtmlEntityMapper::Sym_Minus, HtmlEntityMapper::Sym_Percent, HtmlEntityMapper::Sym_Plus, HtmlEntityMapper::Sym_Quest, HtmlEntityMapper::Sym_Quot, HtmlEntityMapper::Sym_Unknown, DocNode::thisVariant, Token::to_string, DocParserContext::token, DocParser::tokenizer, Token::value and warn_doc_error.


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus by Doxygen 1.14.0.