diff options
author | Topi Reinio <topi.reinio@digia.com> | 2015-08-12 11:00:19 +0200 |
---|---|---|
committer | Topi Reiniƶ <topi.reinio@digia.com> | 2015-08-19 11:30:23 +0000 |
commit | d558100aa71f714342526c072005ad3bcef88d0f (patch) | |
tree | 100824281ff956d4495541cbb42537a605003057 /src/tools/qdoc/node.h | |
parent | 53762b102bc656c1f9b294b164f9b494a6d78da7 (diff) |
qdoc: Improve resolving related non-members and their overload numbers
There were several problems related to resolving related non-member
(RNM) functions for classes. This commit does the following changes:
- Overload numbers for RNMs are now calculated at the time the
\relates command is processed, instead of a separate step.
- If a \relates refers to an entity outside the module boundary,
write the argument passed to it as-is into the index file.
- Delay the destruction of QDocIndexFiles singleton, to resolve
the RNMs read from the index files prior to generating docs.
- Remove the redundant call to normalizeOverloads() for single-
exec mode as unnecessary.
These changes ensure that all RNMs are listed in the documentation
for the node that they belong to.
A remaining issue is that if a function relates to a class outside
the module boundary, that function documentation will be empty
because the doc content is not stored into the index file (for
obvious reasons). Single-exec mode does not have this problem.
Change-Id: I33f038120728932cd9fd70da28d9090023068bd6
Task-number: QTBUG-47589
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Diffstat (limited to 'src/tools/qdoc/node.h')
-rw-r--r-- | src/tools/qdoc/node.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h index 596a71b6d5..6262cee0ab 100644 --- a/src/tools/qdoc/node.h +++ b/src/tools/qdoc/node.h @@ -178,6 +178,7 @@ public: void setThreadSafeness(ThreadSafeness t) { safeness_ = (unsigned char) t; } void setSince(const QString &since); void setRelates(Aggregate* pseudoParent); + void setRelates(const QString &name); void setPhysicalModuleName(const QString &name) { physicalModuleName_ = name; } void setUrl(const QString& url) { url_ = url; } void setTemplateStuff(const QString &t) { templateStuff_ = t; } @@ -336,6 +337,7 @@ public: protected: Node(NodeType type, Aggregate* parent, const QString& name); + void removeRelates(); private: @@ -421,6 +423,7 @@ private: static bool isSameSignature(const FunctionNode* f1, const FunctionNode* f2); void removeRelated(Node* pseudoChild); + void addRelated(Node* pseudoChild); QString outputFileName_; QStringList pageKeywds; |