summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-04-16 10:40:41 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-04-16 12:36:00 +0200
commitfb72d5324eea5ae7e5e4944956c5413cef1ffb05 (patch)
tree85ac8677404dfa356d43103a83244c5db3556935
parent980fe3203d418235857bcd8f5a4a3d32ace15892 (diff)
downloadqt-creator-fb72d5324eea5ae7e5e4944956c5413cef1ffb05.tar.gz
C++: Also cache result of misses in resolveFile()
Change-Id: Ib501bbe16548b194ff5028a1b3ab74c5f0e3230d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index cef667fec0..5916216e57 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -342,12 +342,10 @@ bool CppPreprocessor::checkFile(const QString &absoluteFilePath) const
QString CppPreprocessor::resolveFile(const QString &fileName, IncludeType type)
{
if (type == IncludeGlobal) {
- QString fn = m_fileNameCache.value(fileName);
-
- if (! fn.isEmpty())
- return fn;
-
- fn = resolveFile_helper(fileName, type);
+ QHash<QString, QString>::ConstIterator it = m_fileNameCache.find(fileName);
+ if (it != m_fileNameCache.end())
+ return it.value();
+ const QString fn = resolveFile_helper(fileName, type);
m_fileNameCache.insert(fileName, fn);
return fn;
}