forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 &);
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user