diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-04-01 11:19:32 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-04-02 09:40:24 +0000 |
commit | 46fc33d9147c843d122d8384ab9c1465ef716ee1 (patch) | |
tree | f38df0070a41eb5d3a670dd3730ff332cdb263cc /src/libs/cplusplus/LookupContext.cpp | |
parent | 87e01423c90e6ada4b0388f7a7ee3ba83567fd2f (diff) | |
download | qt-creator-46fc33d9147c843d122d8384ab9c1465ef716ee1.tar.gz |
Don't mix iterator and const_iterator
This avoids unnecessary detaches of the Qt container data.
The mismatches where detected by defining QT_STRICT_ITERATORS;
however, this define violates the ODR (causing linker errors),
and therefore is not added permanently.
Change-Id: Idd336a9c8b394214a820437ef1b92d2101f6101c
GPush-Base: 62b0848b9cf357bcded4184c71d490bae56c773b
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 6b588165ea..be1968733e 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -705,8 +705,8 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding foreach (ClassOrNamespace *u, binding->usings()) lookup_helper(name, u, result, processed, binding->_templateId); - Anonymouses::const_iterator cit = binding->_anonymouses.begin(); - Anonymouses::const_iterator citEnd = binding->_anonymouses.end(); + Anonymouses::const_iterator cit = binding->_anonymouses.constBegin(); + Anonymouses::const_iterator citEnd = binding->_anonymouses.constEnd(); for (; cit != citEnd; ++cit) { const AnonymousNameId *anonymousNameId = cit.key(); ClassOrNamespace *a = cit.value(); @@ -802,8 +802,8 @@ ClassOrNamespace *ClassOrNamespace::lookupType(const Name *name, Block *block) { flush(); - QHash<Block *, ClassOrNamespace *>::const_iterator citBlock = _blocks.find(block); - if (citBlock != _blocks.end()) { + QHash<Block *, ClassOrNamespace *>::const_iterator citBlock = _blocks.constFind(block); + if (citBlock != _blocks.constEnd()) { ClassOrNamespace *nestedBlock = citBlock.value(); QSet<ClassOrNamespace *> processed; if (ClassOrNamespace *foundInNestedBlock @@ -815,7 +815,7 @@ ClassOrNamespace *ClassOrNamespace::lookupType(const Name *name, Block *block) } } - for (citBlock = _blocks.begin(); citBlock != _blocks.end(); ++citBlock) { + for (citBlock = _blocks.constBegin(); citBlock != _blocks.constEnd(); ++citBlock) { if (ClassOrNamespace *foundNestedBlock = citBlock.value()->lookupType(name, block)) return foundNestedBlock; } @@ -1027,8 +1027,8 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateNestedAnonymousType( const AnonymousNameId *anonymousNameId) { QHash<const AnonymousNameId *, ClassOrNamespace *>::const_iterator cit - = _anonymouses.find(anonymousNameId); - if (cit != _anonymouses.end()) { + = _anonymouses.constFind(anonymousNameId); + if (cit != _anonymouses.constEnd()) { return cit.value(); } else { ClassOrNamespace *newAnonymous = _factory->allocClassOrNamespace(this); @@ -1083,8 +1083,8 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac } } else { QMap<const TemplateNameId *, ClassOrNamespace *>::const_iterator citInstantiation - = reference->_instantiations.find(templId); - if (citInstantiation != reference->_instantiations.end()) + = reference->_instantiations.constFind(templId); + if (citInstantiation != reference->_instantiations.constEnd()) return citInstantiation.value(); TemplateNameId *nonConstTemplId = const_cast<TemplateNameId *>(templId); // make this instantiation looks like specialization which help to find |