Cpp: Adjust includes when files are renamed.

Change-Id: Ie6aaaa5d99ba3823d9d42331f45b2dcab397e1cd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
David Schulz
2014-09-24 13:42:17 +02:00
parent b210294c86
commit 78c707760e
6 changed files with 97 additions and 0 deletions

View File

@@ -798,6 +798,19 @@ QSet<QString> Snapshot::allIncludesForDocument(const QString &fileName) const
return result;
}
QList<Snapshot::IncludeLocation> Snapshot::includeLocationsOfDocument(const QString &fileName) const
{
QList<IncludeLocation> result;
for (const_iterator cit = begin(), citEnd = end(); cit != citEnd; ++cit) {
const Document::Ptr doc = cit.value();
foreach (const Document::Include &includeFile, doc->resolvedIncludes()) {
if (includeFile.resolvedFileName() == fileName)
result.append(qMakePair(doc, includeFile.line()));
}
}
return result;
}
QStringList Snapshot::filesDependingOn(const QString &fileName) const
{
updateDependencyTable();

View File

@@ -400,6 +400,7 @@ public:
typedef Base::const_iterator iterator;
typedef Base::const_iterator const_iterator;
typedef QPair<Document::Ptr, unsigned> IncludeLocation;
int size() const; // ### remove
bool isEmpty() const;
@@ -424,6 +425,7 @@ public:
const QString &fileName) const;
QSet<QString> allIncludesForDocument(const QString &fileName) const;
QList<IncludeLocation> includeLocationsOfDocument(const QString &fileName) const;
QStringList filesDependingOn(const QString &fileName) const;
void updateDependencyTable() const;