CppEditor: Generate doxygen comments for functions with macros

...at least for object-like macros. This handles the common case where a
macro before the function signature annotates the DLL import/export.

Task-number: QTCREATORBUG-15819
Change-Id: I79f22508188019402fb7345222408aaf90106f20
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2016-03-04 12:43:06 +01:00
parent f99f5dcdc6
commit 2b2ba298f3
12 changed files with 131 additions and 19 deletions

View File

@@ -38,7 +38,9 @@ FastPreprocessor::FastPreprocessor(const Snapshot &snapshot)
, _addIncludesToCurrentDoc(false)
{ }
QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QByteArray &source)
QByteArray FastPreprocessor::run(Document::Ptr newDoc,
const QByteArray &source,
bool mergeDefinedMacrosOfDocument)
{
std::swap(newDoc, _currentDoc);
_addIncludesToCurrentDoc = _currentDoc->resolvedIncludes().isEmpty()
@@ -57,6 +59,9 @@ QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QByteArray &source)
foreach (const Document::Include &i, doc->resolvedIncludes())
mergeEnvironment(i.resolvedFileName());
if (mergeDefinedMacrosOfDocument)
_env.addMacros(_currentDoc->definedMacros());
}
const QByteArray preprocessed = _preproc.run(fileName, source);