forked from qt-creator/qt-creator
C++: handle case-insensitive file names in the CPlusPlus::Snapshot
... by keying on Utils::FileName Task-number: QTCREATORBUG-12390 Change-Id: Ia98afb5a9160a7fd9225a2f9e02539ff3c35ae86 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
committed by
Erik Verbruggen
parent
a8ece5e9b0
commit
a48adcf9be
@@ -37,6 +37,8 @@
|
||||
#include <cplusplus/PreprocessorClient.h>
|
||||
#include <cplusplus/DependencyTable.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QSharedPointer>
|
||||
#include <QDateTime>
|
||||
#include <QHash>
|
||||
@@ -395,7 +397,7 @@ private:
|
||||
|
||||
class CPLUSPLUS_EXPORT Snapshot
|
||||
{
|
||||
typedef QHash<QString, Document::Ptr> Base;
|
||||
typedef QHash<Utils::FileName, Document::Ptr> Base;
|
||||
|
||||
public:
|
||||
Snapshot();
|
||||
@@ -409,20 +411,32 @@ public:
|
||||
bool isEmpty() const;
|
||||
|
||||
void insert(Document::Ptr doc); // ### remove
|
||||
void remove(const QString &fileName); // ### remove
|
||||
void remove(const Utils::FileName &fileName); // ### remove
|
||||
void remove(const QString &fileName)
|
||||
{ remove(Utils::FileName::fromString(fileName)); }
|
||||
|
||||
const_iterator begin() const { return _documents.begin(); }
|
||||
const_iterator end() const { return _documents.end(); }
|
||||
|
||||
bool contains(const QString &fileName) const;
|
||||
Document::Ptr document(const QString &fileName) const;
|
||||
bool contains(const Utils::FileName &fileName) const;
|
||||
bool contains(const QString &fileName) const
|
||||
{ return contains(Utils::FileName::fromString(fileName)); }
|
||||
|
||||
const_iterator find(const QString &fileName) const;
|
||||
Document::Ptr document(const Utils::FileName &fileName) const;
|
||||
Document::Ptr document(const QString &fileName) const
|
||||
{ return document(Utils::FileName::fromString(fileName)); }
|
||||
|
||||
const_iterator find(const Utils::FileName &fileName) const;
|
||||
const_iterator find(const QString &fileName) const
|
||||
{ return find(Utils::FileName::fromString(fileName)); }
|
||||
|
||||
Snapshot simplified(Document::Ptr doc) const;
|
||||
|
||||
Document::Ptr preprocessedDocument(const QByteArray &source,
|
||||
const QString &fileName) const;
|
||||
const Utils::FileName &fileName) const;
|
||||
Document::Ptr preprocessedDocument(const QByteArray &source,
|
||||
const QString &fileName) const
|
||||
{ return preprocessedDocument(source, Utils::FileName::fromString(fileName)); }
|
||||
|
||||
Document::Ptr documentFromSource(const QByteArray &preprocessedDocument,
|
||||
const QString &fileName) const;
|
||||
@@ -430,7 +444,9 @@ public:
|
||||
QSet<QString> allIncludesForDocument(const QString &fileName) const;
|
||||
QList<IncludeLocation> includeLocationsOfDocument(const QString &fileName) const;
|
||||
|
||||
QStringList filesDependingOn(const QString &fileName) const;
|
||||
Utils::FileNameList filesDependingOn(const Utils::FileName &fileName) const;
|
||||
Utils::FileNameList filesDependingOn(const QString &fileName) const
|
||||
{ return filesDependingOn(Utils::FileName::fromString(fileName)); }
|
||||
void updateDependencyTable() const;
|
||||
|
||||
bool operator==(const Snapshot &other) const;
|
||||
|
||||
Reference in New Issue
Block a user