From 60caec48d1f9ad527f87b10d5338fa2088d4b4fb Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Mon, 7 Dec 2009 11:12:55 +0100 Subject: [PATCH] Store the documents in an hash. --- src/libs/cplusplus/CppDocument.cpp | 4 ++-- src/libs/cplusplus/CppDocument.h | 17 ++++++----------- src/libs/cplusplus/LookupContext.cpp | 9 +++++++-- src/libs/cplusplus/LookupContext.h | 4 ++-- src/plugins/cpptools/cppmodelmanagerinterface.h | 1 + 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 9eeb1311eb4..305f8a39beb 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -558,7 +558,7 @@ QStringList Snapshot::filesDependingOn(const QString &fileName) const return deps; } -QMap<QString, QStringList> Snapshot::dependencyTable() const +QHash<QString, QStringList> Snapshot::dependencyTable() const { const int N = size(); QVector<QString> files(N); @@ -568,7 +568,7 @@ QMap<QString, QStringList> Snapshot::dependencyTable() const dependency_helper(files, fileIndex, includes, includeMap); - QMap<QString, QStringList> depMap; + QHash<QString, QStringList> depMap; for (int index = 0; index < files.size(); ++index) { QStringList deps; diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h index 22129ad1870..19be7e7660b 100644 --- a/src/libs/cplusplus/CppDocument.h +++ b/src/libs/cplusplus/CppDocument.h @@ -33,15 +33,10 @@ #include <CPlusPlusForwardDeclarations.h> #include "Macro.h" -#include <QByteArray> -#include <QFileInfo> -#include <QList> -#include <QMap> -#include <QBitArray> -#include <QSharedPointer> -#include <QString> -#include <QStringList> -#include <QDateTime> +#include <QtCore/QSharedPointer> +#include <QtCore/QDateTime> +#include <QtCore/QHash> +#include <QtCore/QFileInfo> namespace CPlusPlus { @@ -323,7 +318,7 @@ private: class CPLUSPLUS_EXPORT Snapshot { - typedef QMap<QString, Document::Ptr> _Base; + typedef QHash<QString, Document::Ptr> _Base; public: Snapshot(); @@ -358,7 +353,7 @@ public: QSharedPointer<NamespaceBinding> globalNamespaceBinding(Document::Ptr doc) const; QStringList filesDependingOn(const QString &fileName) const; - QMap<QString, QStringList> dependencyTable() const; + QHash<QString, QStringList> dependencyTable() const; private: void simplified_helper(Document::Ptr doc, Snapshot *snapshot) const; diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index cbd0bce1df0..c09bcf6c7ae 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -41,8 +41,6 @@ #include <QtDebug> -using namespace CPlusPlus; - QT_BEGIN_NAMESPACE uint qHash(const CPlusPlus::LookupItem &key) { @@ -52,6 +50,13 @@ uint qHash(const CPlusPlus::LookupItem &key) } QT_END_NAMESPACE +uint CPlusPlus::qHash(const CPlusPlus::LookupItem &key) +{ + return QT_PREPEND_NAMESPACE(qHash)(key); +} + +using namespace CPlusPlus; + ///////////////////////////////////////////////////////////////////// // LookupContext ///////////////////////////////////////////////////////////////////// diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h index bced5f4cf49..1430652107f 100644 --- a/src/libs/cplusplus/LookupContext.h +++ b/src/libs/cplusplus/LookupContext.h @@ -228,12 +228,12 @@ private: QList<Scope *> _visibleScopes; }; -} // end of namespace CPlusPlus +uint qHash(const CPlusPlus::LookupItem &result); +} // end of namespace CPlusPlus QT_BEGIN_NAMESPACE uint qHash(const CPlusPlus::LookupItem &result); QT_END_NAMESPACE - #endif // CPLUSPLUS_LOOKUPCONTEXT_H diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 1976df75eab..2d3b488ea0e 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -35,6 +35,7 @@ #include <QtCore/QObject> #include <QtCore/QMap> #include <QtCore/QPointer> +#include <QtCore/QStringList> namespace ProjectExplorer { class Project; -- GitLab