summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/FastPreprocessor.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2016-03-04 12:43:06 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2016-03-04 14:22:27 +0000
commit2b2ba298f3cfc17b74ddd476613377f0b325955b (patch)
tree3ccd65e272d234c0c2b71954884b36776c101d7e /src/libs/cplusplus/FastPreprocessor.cpp
parentf99f5dcdc6f1ae26145242712985ca42d724e34d (diff)
downloadqt-creator-2b2ba298f3cfc17b74ddd476613377f0b325955b.tar.gz
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>
Diffstat (limited to 'src/libs/cplusplus/FastPreprocessor.cpp')
-rw-r--r--src/libs/cplusplus/FastPreprocessor.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/cplusplus/FastPreprocessor.cpp b/src/libs/cplusplus/FastPreprocessor.cpp
index 6aac2c68a7..78a25826cc 100644
--- a/src/libs/cplusplus/FastPreprocessor.cpp
+++ b/src/libs/cplusplus/FastPreprocessor.cpp
@@ -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);