diff options
author | Martin Smith <martin.smith@digia.com> | 2014-01-31 11:56:10 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-31 21:04:52 +0200 |
commit | 5fecc6512f0e869713658502674665f9077cc340 (patch) | |
tree | 523f6ae6de75862b61694d9e090f62b42e5dff7d /src/tools/qdoc/codeparser.cpp | |
parent | e9954e31624c77d986077ec5431c7ec4a9b058e0 (diff) |
qdoc: Teach qdoc to use multiple trees (part 2)
qdoc now knows how to search the forrest of node
trees in an optimal order. But there remain some
problems with specific searches that cross module
boundaries. These include group membership and C++
and QML module membership, as well ass C++ base
class resolution. Part 3 will be concerned with
fixing these remaining bugs.
With this update, qdoc now takes less time to
generate the docs for Qt 5. Testing indicates
that qdoc run time has dropped from about 14
minutes to about 7.5 minutes on an iMac.
Task-number: QTBUG-35377
Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/tools/qdoc/codeparser.cpp')
-rw-r--r-- | src/tools/qdoc/codeparser.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/tools/qdoc/codeparser.cpp b/src/tools/qdoc/codeparser.cpp index a0ea561b28..5811dc8afc 100644 --- a/src/tools/qdoc/codeparser.cpp +++ b/src/tools/qdoc/codeparser.cpp @@ -412,9 +412,9 @@ bool CodeParser::isParsingQdoc() const for an entity that will produce a documentation page will contain an \inmodule command to tell qdoc which module the entity belongs to. - But now that we normally run qdoc on each module in two passes. The - first produces an index file; the second pass generates the docs - after reading all the index files it needs. + But now we normally run qdoc on each module in two passes. The first + produces an index file; the second pass generates the docs after + reading all the index files it needs. This means that all the pages generated during each pass 2 run of qdoc almost certainly belong to a single module, and the name of @@ -431,10 +431,10 @@ bool CodeParser::isParsingQdoc() const void CodeParser::checkModuleInclusion(Node* n) { if (n->moduleName().isEmpty()) { + n->setModuleName(Generator::defaultModuleName()); switch (n->type()) { case Node::Class: if (n->access() != Node::Private && !n->doc().isEmpty()) { - n->setModuleName(Generator::defaultModuleName()); n->doc().location().warning(tr("Class %1 has no \\inmodule command; " "using project name by default: %2") .arg(n->name()).arg(Generator::defaultModuleName())); @@ -442,16 +442,15 @@ void CodeParser::checkModuleInclusion(Node* n) break; case Node::Namespace: if (n->access() != Node::Private && !n->name().isEmpty() && !n->doc().isEmpty()) { - n->setModuleName(Generator::defaultModuleName()); n->doc().location().warning(tr("Namespace %1 has no \\inmodule command; " "using project name by default: %2") .arg(n->name()).arg(Generator::defaultModuleName())); } break; +#if 0 case Node::Document: if (n->access() != Node::Private && !n->doc().isEmpty()) { if (n->subType() == Node::HeaderFile) { - n->setModuleName(Generator::defaultModuleName()); #if 0 n->doc().location().warning(tr("Header file with title \"%1\" has no \\inmodule command; " "using project name by default: %2") @@ -459,7 +458,6 @@ void CodeParser::checkModuleInclusion(Node* n) #endif } else if (n->subType() == Node::Page) { - n->setModuleName(Generator::defaultModuleName()); #if 0 n->doc().location().warning(tr("Page with title \"%1\" has no \\inmodule command; " "using project name by default: %2") @@ -467,7 +465,6 @@ void CodeParser::checkModuleInclusion(Node* n) #endif } else if (n->subType() == Node::Example) { - n->setModuleName(Generator::defaultModuleName()); #if 0 n->doc().location().warning(tr("Example with title \"%1\" has no \\inmodule command; " "using project name by default: %2") @@ -476,6 +473,7 @@ void CodeParser::checkModuleInclusion(Node* n) } } break; +#endif default: break; } |