summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2014-07-16 11:25:15 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2014-07-24 12:25:02 +0200
commit6a9ae7e25f6841cfd56be5560ecde9de52378526 (patch)
tree40e2715f6874e2637eeec6807075170437878046 /src/libs
parent4e9d3b044e996f45909797ba3a3a88b22967d62e (diff)
downloadqt-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.cpp5
-rw-r--r--src/libs/cplusplus/FastPreprocessor.h3
-rw-r--r--src/libs/cplusplus/PreprocessorClient.h5
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)
{