Skip to main content

The tagreader.cpp File Reference

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 by Doxygen 1.14.0.