diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-07-16 11:25:15 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-07-24 12:25:02 +0200 |
commit | 6a9ae7e25f6841cfd56be5560ecde9de52378526 (patch) | |
tree | 40e2715f6874e2637eeec6807075170437878046 /src/libs | |
parent | 4e9d3b044e996f45909797ba3a3a88b22967d62e (diff) | |
download | qt-creator-6a9ae7e25f6841cfd56be5560ecde9de52378526.tar.gz |
CppTools: Auto-include pre-compiled headers
So far the pre-compiled headers were processed (thus defines from those
headers were visible), but the actual includes for the documents were
not added, which is necessary for lookup/completion.
Note that this will be only done if pre-compiled headers are not ignored
(Options > C++ > Code Model > [] Ignore pre-compiled headers).
Change-Id: I54a8e6b00597af164d958e3e9f2a1075ea187788
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/cplusplus/FastPreprocessor.cpp | 5 | ||||
-rw-r--r-- | src/libs/cplusplus/FastPreprocessor.h | 3 | ||||
-rw-r--r-- | src/libs/cplusplus/PreprocessorClient.h | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/libs/cplusplus/FastPreprocessor.cpp b/src/libs/cplusplus/FastPreprocessor.cpp index c49695fc8c..3c5b4312ce 100644 --- a/src/libs/cplusplus/FastPreprocessor.cpp +++ b/src/libs/cplusplus/FastPreprocessor.cpp @@ -66,9 +66,10 @@ QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QByteArray &source) return preprocessed; } -void FastPreprocessor::sourceNeeded(unsigned line, const QString &fileName, - IncludeType mode) +void FastPreprocessor::sourceNeeded(unsigned line, const QString &fileName, IncludeType mode, + const QStringList &initialIncludes) { + Q_UNUSED(initialIncludes) Q_ASSERT(_currentDoc); // CHECKME: Is that cleanName needed? QString cleanName = QDir::cleanPath(fileName); diff --git a/src/libs/cplusplus/FastPreprocessor.h b/src/libs/cplusplus/FastPreprocessor.h index df19c4dcdf..b4a14cfdb4 100644 --- a/src/libs/cplusplus/FastPreprocessor.h +++ b/src/libs/cplusplus/FastPreprocessor.h @@ -57,7 +57,8 @@ public: QByteArray run(Document::Ptr newDoc, const QByteArray &source); // CPlusPlus::Client - virtual void sourceNeeded(unsigned line, const QString &fileName, IncludeType mode); + virtual void sourceNeeded(unsigned line, const QString &fileName, IncludeType mode, + const QStringList &initialIncludes = QStringList()); virtual void macroAdded(const Macro &); diff --git a/src/libs/cplusplus/PreprocessorClient.h b/src/libs/cplusplus/PreprocessorClient.h index a990a39357..3680770dc2 100644 --- a/src/libs/cplusplus/PreprocessorClient.h +++ b/src/libs/cplusplus/PreprocessorClient.h @@ -32,7 +32,7 @@ #include <cplusplus/CPlusPlusForwardDeclarations.h> -#include <QString> +#include <QStringList> #include <QVector> QT_BEGIN_NAMESPACE @@ -100,7 +100,8 @@ public: virtual void startSkippingBlocks(unsigned utf16charsOffset) = 0; virtual void stopSkippingBlocks(unsigned utf16charsOffset) = 0; - virtual void sourceNeeded(unsigned line, const QString &fileName, IncludeType mode) = 0; + virtual void sourceNeeded(unsigned line, const QString &fileName, IncludeType mode, + const QStringList &initialIncludes = QStringList()) = 0; static inline bool isInjectedFile(const QString &fileName) { |