qdoc: Resolve namespaces declared in index trees
QDoc never called resolveNamespaces() unless running in single-exec mode. This commit fixes that, and causes public namespaces documented in other modules to be treated as 'seen', i.e, as if they were declared locally. Change-Id: Id1dda7aaea6c9bd38bbeb5992121575a1876cbf7 Task-number: QTBUG-48523 Reviewed-by: Martin Smith <martin.smith@digia.com>bb10
parent
bbb2c95d7a
commit
8058ab5758
|
|
@ -1296,6 +1296,8 @@ void QDocDatabase::resolveIssues() {
|
|||
QDocIndexFiles::qdocIndexFiles()->resolveRelates();
|
||||
QDocIndexFiles::destroyQDocIndexFiles();
|
||||
}
|
||||
if (Generator::generating())
|
||||
resolveNamespaces();
|
||||
}
|
||||
|
||||
void QDocDatabase::resolveStuff()
|
||||
|
|
@ -1326,8 +1328,10 @@ void QDocDatabase::resolveNamespaces()
|
|||
int count = nmm_.remove(s);
|
||||
if (count > 1) {
|
||||
foreach (Node* n, nodes) {
|
||||
if (n->isNamespace() && n->wasSeen()) {
|
||||
// Treat public namespaces from index trees as 'seen'
|
||||
if (n->isNamespace() && (n->wasSeen() || (n->isIndexNode() && n->access() == Node::Public))) {
|
||||
ns = static_cast<NamespaceNode*>(n);
|
||||
ns->markSeen();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue