From 60caec48d1f9ad527f87b10d5338fa2088d4b4fb Mon Sep 17 00:00:00 2001 From: Roberto Raggi 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 Snapshot::dependencyTable() const +QHash Snapshot::dependencyTable() const { const int N = size(); QVector files(N); @@ -568,7 +568,7 @@ QMap Snapshot::dependencyTable() const dependency_helper(files, fileIndex, includes, includeMap); - QMap depMap; + QHash 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 #include "Macro.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include namespace CPlusPlus { @@ -323,7 +318,7 @@ private: class CPLUSPLUS_EXPORT Snapshot { - typedef QMap _Base; + typedef QHash _Base; public: Snapshot(); @@ -358,7 +353,7 @@ public: QSharedPointer globalNamespaceBinding(Document::Ptr doc) const; QStringList filesDependingOn(const QString &fileName) const; - QMap dependencyTable() const; + QHash 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 -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 _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 #include #include +#include namespace ProjectExplorer { class Project;