summaryrefslogtreecommitdiff
path: root/src/qdoc/cppcodeparser.cpp
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@qt.io>2016-12-06 12:25:10 +0100
committerMartin Smith <martin.smith@qt.io>2017-08-10 07:33:40 +0000
commit54425fbd3de2911bf98a934423ec22e495e8424c (patch)
treeba247ad5cca6e6cce25dcd26fe6231f7dba4c7a3 /src/qdoc/cppcodeparser.cpp
parent85ddd7d2e36e2f9bd94c4a2fe572fe44c7573a12 (diff)
downloadqttools-54425fbd3de2911bf98a934423ec22e495e8424c.tar.gz
qdoc: fix resolve inheritance bug
clangqdoc was unable to find base class nodes, when the base class node was in a different module from the subclass. This was mostly because the fixInheritance() function, which handles base class resolution after the headers have been parsed, was being called before the headers were parsed. This was caused by the new parsing strategy for clangqdoc, which is to use the old loop where qdoc used to parse the header files only to build up a list of all the required header files and to delay parsing the header files until clang is called to build the PCH. The basic fix is to mode the call to resolveInheritance() from main.cpp into clangcodeparser.cpp right after the PCH is built. There are also a few other minor changes in this change that make the base class resolution more robust by ensuring that as much useful information as possible is retained in the index file and in the base class list for a class node. Change-Id: I51433f618cdf40b37b0687ff1686da03359de111 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/qdoc/cppcodeparser.cpp')
0 files changed, 0 insertions, 0 deletions