Skip to main content

tagreader.cpp File

Included Headers​

#include "tagreader.h" #include <map> #include <functional> #include <utility> #include <algorithm> #include <variant> #include <assert.h> #include <stdio.h> #include <stdarg.h> #include "xml.h" #include "entry.h" #include "doxygen.h" #include "util.h" #include "message.h" #include "defargs.h" #include "arguments.h" #include "filedef.h" #include "filename.h" #include "section.h" #include "containers.h" #include "debug.h" #include "anchor.h" #include "moduledef.h"

Namespaces Index​

namespaceanonymous{tagreader.cpp}

Classes Index​

classTagAnchorInfo

Information about an linkable anchor. More...

classTagEnumValueInfo

Container for enum values that are scoped within an enum. More...

classTagIncludeInfo

Container for include info that can be read from a tagfile. More...

classTagMemberInfo

Container for member specific info that can be read from a tagfile. More...

structTagCompoundInfo

Base class for all compound types. More...

structTagClassInfo

Container for class specific info that can be read from a tagfile. More...

structTagConceptInfo

Container for concept specific info that can be read from a tagfile. More...

structTagModuleInfo

Container for module specific info that can be read from a tagfile. More...

structTagNamespaceInfo

Container for namespace specific info that can be read from a tagfile. More...

structTagPackageInfo

Container for package specific info that can be read from a tagfile. More...

structTagFileInfo

Container for file specific info that can be read from a tagfile. More...

structTagGroupInfo

Container for group specific info that can be read from a tagfile. More...

structTagPageInfo

Container for page specific info that can be read from a tagfile. More...

structTagDirInfo

Container for directory specific info that can be read from a tagfile. More...

classTagCompoundVariant

Variant class that holds a unique pointer to one of the specific container types. More...

classTagFileParser

Tag file parser. More...

structClassNode
structElementCallbacks
structCompoundFactory

Functions Index​

voidparseTagFile (const std::shared_ptr< Entry > &root, const char *fullName)

Macro Definitions Index​

#definep_warn(fmt, ...)   ...

Functions​

parseTagFile()​

void parseTagFile (const std::shared_ptr< Entry > & root, const char * fullName)

Definition at line 1864 of file tagreader.cpp.

1864void parseTagFile(const std::shared_ptr<Entry> &root,const char *fullName)
1865{
1866 TagFileParser tagFileParser(fullName);
1867 QCString inputStr = fileToString(fullName);
1868 XMLHandlers handlers;
1869 // connect the generic events handlers of the XML parser to the specific handlers of the tagFileParser object
1870 handlers.startDocument = [&tagFileParser]() { tagFileParser.startDocument(); };
1871 handlers.startElement = [&tagFileParser](const std::string &name,const XMLHandlers::Attributes &attrs) { tagFileParser.startElement(QCString(name),attrs); };
1872 handlers.endElement = [&tagFileParser](const std::string &name) { tagFileParser.endElement(QCString(name)); };
1873 handlers.characters = [&tagFileParser](const std::string &chars) { tagFileParser.characters(QCString(chars)); };
1874 handlers.error = [&tagFileParser](const std::string &fileName,int lineNr,const std::string &msg) { tagFileParser.error(QCString(fileName),lineNr,QCString(msg)); };
1875 XMLParser parser(handlers);
1876 tagFileParser.setDocumentLocator(&parser);
1877 parser.parse(fullName,inputStr.data(),Debug::isFlagSet(Debug::Lex_xml),
1878 [&]() { DebugLex::print(Debug::Lex_xml,"Entering","libxml/xml.l",fullName); },
1879 [&]() { DebugLex::print(Debug::Lex_xml,"Finished", "libxml/xml.l",fullName); }
1880 );
1881 tagFileParser.buildLists(root);
1882 tagFileParser.addIncludes();
1884 {
1885 tagFileParser.dump();
1886 }
1887}

References XMLHandlers::characters, QCString::data, XMLHandlers::endElement, XMLHandlers::error, fileToString, Debug::isFlagSet, Debug::Lex_xml, msg, XMLParser::parse, XMLHandlers::startDocument, XMLHandlers::startElement, Debug::Tag and anonymous{tagreader.cpp}::TagFileParser::TagFileParser.

Referenced by readTagFile.

Macro Definitions​

p_warn​

#define p_warn(fmt, ...)   ...
Value
do { \ warn(m_locator->fileName(),m_locator->lineNr(),fmt,##__VA_ARGS__); \ } while(0)

Definition at line 330 of file tagreader.cpp.

330#define p_warn(fmt,...) do { \
331 warn(m_locator->fileName(),m_locator->lineNr(),fmt,##__VA_ARGS__); \
332 } while(0)

Referenced by anonymous{tagreader.cpp}::TagFileParser::buildLists, anonymous{tagreader.cpp}::TagFileParser::endAnchor, anonymous{tagreader.cpp}::TagFileParser::endAnchorFile, anonymous{tagreader.cpp}::TagFileParser::endArglist, anonymous{tagreader.cpp}::TagFileParser::endBase, anonymous{tagreader.cpp}::TagFileParser::endClangId, anonymous{tagreader.cpp}::TagFileParser::endClass, anonymous{tagreader.cpp}::TagFileParser::endCompound, anonymous{tagreader.cpp}::TagFileParser::endConcept, anonymous{tagreader.cpp}::TagFileParser::endDir, anonymous{tagreader.cpp}::TagFileParser::endDocAnchor, anonymous{tagreader.cpp}::TagFileParser::endElement, anonymous{tagreader.cpp}::TagFileParser::endFile, anonymous{tagreader.cpp}::TagFileParser::endFilename, anonymous{tagreader.cpp}::TagFileParser::endIncludes, anonymous{tagreader.cpp}::TagFileParser::endMember, anonymous{tagreader.cpp}::TagFileParser::endModule, anonymous{tagreader.cpp}::TagFileParser::endName, anonymous{tagreader.cpp}::TagFileParser::endNamespace, anonymous{tagreader.cpp}::TagFileParser::endPage, anonymous{tagreader.cpp}::TagFileParser::endPath, anonymous{tagreader.cpp}::TagFileParser::endSubgroup, anonymous{tagreader.cpp}::TagFileParser::endSubpage, anonymous{tagreader.cpp}::TagFileParser::endTemplateArg, anonymous{tagreader.cpp}::TagFileParser::endTitle, anonymous{tagreader.cpp}::TagFileParser::endType, anonymous{tagreader.cpp}::TagFileParser::startBase, anonymous{tagreader.cpp}::TagFileParser::startCompound, anonymous{tagreader.cpp}::TagFileParser::startElement and anonymous{tagreader.cpp}::TagFileParser::startEnumValue.


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.14.0.