qdoc: Improve resolving related non-members and their overload numbers
authorTopi Reinio <topi.reinio@digia.com>
Wed, 12 Aug 2015 09:00:19 +0000 (11:00 +0200)
committerTopi Reiniö <topi.reinio@digia.com>
Wed, 19 Aug 2015 11:30:23 +0000 (11:30 +0000)
commitd558100aa71f714342526c072005ad3bcef88d0f
tree100824281ff956d4495541cbb42537a605003057
parent53762b102bc656c1f9b294b164f9b494a6d78da7
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>
src/tools/qdoc/cppcodeparser.cpp
src/tools/qdoc/node.cpp
src/tools/qdoc/node.h
src/tools/qdoc/qdocdatabase.cpp
src/tools/qdoc/qdocindexfiles.cpp
src/tools/qdoc/qdocindexfiles.h