Store the documents in an hash.

This commit is contained in:
Roberto Raggi
2009-12-07 11:12:55 +01:00
parent 14376c3c32
commit 60caec48d1
5 changed files with 18 additions and 17 deletions

View File

@@ -558,7 +558,7 @@ QStringList Snapshot::filesDependingOn(const QString &fileName) const
return deps; return deps;
} }
QMap<QString, QStringList> Snapshot::dependencyTable() const QHash<QString, QStringList> Snapshot::dependencyTable() const
{ {
const int N = size(); const int N = size();
QVector<QString> files(N); QVector<QString> files(N);
@@ -568,7 +568,7 @@ QMap<QString, QStringList> Snapshot::dependencyTable() const
dependency_helper(files, fileIndex, includes, includeMap); dependency_helper(files, fileIndex, includes, includeMap);
QMap<QString, QStringList> depMap; QHash<QString, QStringList> depMap;
for (int index = 0; index < files.size(); ++index) { for (int index = 0; index < files.size(); ++index) {
QStringList deps; QStringList deps;

View File

@@ -33,15 +33,10 @@
#include <CPlusPlusForwardDeclarations.h> #include <CPlusPlusForwardDeclarations.h>
#include "Macro.h" #include "Macro.h"
#include <QByteArray> #include <QtCore/QSharedPointer>
#include <QFileInfo> #include <QtCore/QDateTime>
#include <QList> #include <QtCore/QHash>
#include <QMap> #include <QtCore/QFileInfo>
#include <QBitArray>
#include <QSharedPointer>
#include <QString>
#include <QStringList>
#include <QDateTime>
namespace CPlusPlus { namespace CPlusPlus {
@@ -323,7 +318,7 @@ private:
class CPLUSPLUS_EXPORT Snapshot class CPLUSPLUS_EXPORT Snapshot
{ {
typedef QMap<QString, Document::Ptr> _Base; typedef QHash<QString, Document::Ptr> _Base;
public: public:
Snapshot(); Snapshot();
@@ -358,7 +353,7 @@ public:
QSharedPointer<NamespaceBinding> globalNamespaceBinding(Document::Ptr doc) const; QSharedPointer<NamespaceBinding> globalNamespaceBinding(Document::Ptr doc) const;
QStringList filesDependingOn(const QString &fileName) const; QStringList filesDependingOn(const QString &fileName) const;
QMap<QString, QStringList> dependencyTable() const; QHash<QString, QStringList> dependencyTable() const;
private: private:
void simplified_helper(Document::Ptr doc, Snapshot *snapshot) const; void simplified_helper(Document::Ptr doc, Snapshot *snapshot) const;

View File

@@ -41,8 +41,6 @@
#include <QtDebug> #include <QtDebug>
using namespace CPlusPlus;
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
uint qHash(const CPlusPlus::LookupItem &key) uint qHash(const CPlusPlus::LookupItem &key)
{ {
@@ -52,6 +50,13 @@ uint qHash(const CPlusPlus::LookupItem &key)
} }
QT_END_NAMESPACE QT_END_NAMESPACE
uint CPlusPlus::qHash(const CPlusPlus::LookupItem &key)
{
return QT_PREPEND_NAMESPACE(qHash)(key);
}
using namespace CPlusPlus;
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
// LookupContext // LookupContext
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

View File

@@ -228,12 +228,12 @@ private:
QList<Scope *> _visibleScopes; QList<Scope *> _visibleScopes;
}; };
} // end of namespace CPlusPlus uint qHash(const CPlusPlus::LookupItem &result);
} // end of namespace CPlusPlus
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
uint qHash(const CPlusPlus::LookupItem &result); uint qHash(const CPlusPlus::LookupItem &result);
QT_END_NAMESPACE QT_END_NAMESPACE
#endif // CPLUSPLUS_LOOKUPCONTEXT_H #endif // CPLUSPLUS_LOOKUPCONTEXT_H

View File

@@ -35,6 +35,7 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtCore/QMap> #include <QtCore/QMap>
#include <QtCore/QPointer> #include <QtCore/QPointer>
#include <QtCore/QStringList>
namespace ProjectExplorer { namespace ProjectExplorer {
class Project; class Project;