Declaration at line 923 of file docnode.h, definition at line 5955 of file docnode.cpp.
5956{
5958 Token retval = Token::make_RetVal_OK();
5960
5961 if (!m_id.isEmpty())
5962 {
5964 if (sec)
5965 {
5973 }
5974 }
5975
5976
5979 do
5980 {
5983 if (isFirst) { par->markFirst(); isFirst=FALSE; }
5984 retval=par->parse();
5985 if (!par->isEmpty())
5986 {
5988 lastPar = par;
5989 }
5990 else
5991 {
5993 }
5994 if (retval.is(TokenRetval::TK_LISTITEM))
5995 {
5997 }
5998 if (retval.is(TokenRetval::RetVal_Internal))
5999 {
6002 if (retval.is(TokenRetval::RetVal_EndInternal))
6003 {
6004 retval = Token::make_RetVal_OK();
6005 }
6006 }
6007 } while (!retval.is_any_of(TokenRetval::TK_NONE, TokenRetval::TK_EOF, TokenRetval::RetVal_Section, TokenRetval::RetVal_Subsection,
6008 TokenRetval::RetVal_Subsubsection, TokenRetval::RetVal_Paragraph, TokenRetval::RetVal_SubParagraph,
6009 TokenRetval::RetVal_SubSubParagraph, TokenRetval::RetVal_EndInternal)
6010 );
6011
6013
6014 while (true)
6015 {
6016 if (retval.is(TokenRetval::RetVal_Subsection) && m_level<=1)
6017 {
6018
6019 while (retval.is(TokenRetval::RetVal_Subsection))
6020 {
6022 2,
6025 }
6026 break;
6027 }
6028 else if (retval.is(TokenRetval::RetVal_Subsubsection) && m_level<=2)
6029 {
6032 {
6034 parser()->tokenizer.getLineNr(),
6035 "Unexpected subsubsection command found inside {}!",
6037 }
6038
6039 while (retval.is(TokenRetval::RetVal_Subsubsection))
6040 {
6042 3,
6045 }
6046 if (!(m_level < 2 && retval.is(TokenRetval::RetVal_Subsection))) break;
6047 }
6048 else if (retval.is(TokenRetval::RetVal_Paragraph) && m_level<=3)
6049 {
6052 {
6054 "Unexpected paragraph command found inside {}!",
6056 }
6057
6058 while (retval.is(TokenRetval::RetVal_Paragraph))
6059 {
6061 4,
6064 }
6065 if (!(m_level<3 && (retval.is_any_of(TokenRetval::RetVal_Subsection,TokenRetval::RetVal_Subsubsection)))) break;
6066 }
6067 else if (retval.is(TokenRetval::RetVal_SubParagraph) && m_level<=4)
6068 {
6071 {
6073 "Unexpected subparagraph command found inside {}!",
6075 }
6076
6077 while (retval.is(TokenRetval::RetVal_SubParagraph))
6078 {
6080 5,
6083 }
6084 if (!(m_level<4 && (retval.is_any_of(TokenRetval::RetVal_Subsection,TokenRetval::RetVal_Subsubsection,TokenRetval::RetVal_Paragraph)))) break;
6085 }
6086 else if (retval.is(TokenRetval::RetVal_SubSubParagraph) && m_level<=5)
6087 {
6090 {
6092 "Unexpected subsubparagraph command found inside {}!",
6094 }
6095
6096 while (retval.is(TokenRetval::RetVal_SubSubParagraph))
6097 {
6099 6,
6102 }
6103 if (!(m_level<5 && (retval.is_any_of( TokenRetval::RetVal_Subsection, TokenRetval::RetVal_Subsubsection,
6104 TokenRetval::RetVal_Paragraph, TokenRetval::RetVal_SubParagraph)))) break;
6105 }
6106 else
6107 {
6108 break;
6109 }
6110 }
6111
6113 TokenRetval::RetVal_Section, TokenRetval::RetVal_Subsection,
6114 TokenRetval::RetVal_Subsubsection, TokenRetval::RetVal_Paragraph,
6115 TokenRetval::RetVal_SubParagraph, TokenRetval::RetVal_SubSubParagraph,
6116 TokenRetval::RetVal_Internal, TokenRetval::RetVal_EndInternal)
6117 );
6118
6120 return retval;
6121}
References DocNodeList::append, AUTO_TRACE, AUTO_TRACE_EXIT, DocCompoundNode::children, DocParser::context, createDocNode, DocSection, FALSE, SectionInfo::fileName, LinkedMap< T, Hash, KeyEqual, Map >::find, g_sectionLevelToName, DocNodeList::get_last, AnchorGenerator::instance, SectionManager::instance, INTERNAL_ASSERT, Token::is, Token::is_any_of, QCString::isEmpty, SectionInfo::label, m_anchor, m_file, m_id, m_level, m_title, DocPara::markLast, parse, DocNode::parser, GrowVector< T >::pop_back, TokenInfo::sectionId, DocNode::thisVariant, title, SectionInfo::title, Token::to_string, DocParserContext::token, TRUE and warn_doc_error.
Referenced by parse.