C++: Record also unresolved paths for includes

Change-Id: Id107b6c1f34f594c5a01502c156963c964235ed7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2013-06-06 09:35:40 +02:00
committed by Erik Verbruggen
parent 35a790fb63
commit e3bc84c414
14 changed files with 51 additions and 36 deletions

View File

@@ -53,7 +53,7 @@ QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QString &source)
mergeEnvironment(Preprocessor::configurationFileName);
foreach (const Document::Include &i, doc->includes())
mergeEnvironment(i.fileName());
mergeEnvironment(i.resolvedFileName());
}
const QByteArray preprocessed = _preproc.run(fileName, source);
@@ -62,13 +62,13 @@ QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QString &source)
return preprocessed;
}
void FastPreprocessor::sourceNeeded(unsigned line, const QString &fileName, IncludeType)
void FastPreprocessor::sourceNeeded(unsigned line, const QString &fileName,
IncludeType mode)
{
Q_ASSERT(_currentDoc);
// CHECKME: Is that cleanName needed?
QString cleanName = QDir::cleanPath(fileName);
_currentDoc->addIncludeFile(cleanName, line);
_currentDoc->addIncludeFile(Document::Include(fileName, cleanName, line, mode));
mergeEnvironment(fileName);
}
@@ -79,7 +79,7 @@ void FastPreprocessor::mergeEnvironment(const QString &fileName)
if (Document::Ptr doc = _snapshot.document(fileName)) {
foreach (const Document::Include &i, doc->includes())
mergeEnvironment(i.fileName());
mergeEnvironment(i.resolvedFileName());
_env.addMacros(doc->definedMacros());
}