summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.cpp
diff options
context:
space:
mode:
authorPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2014-03-31 13:10:06 +0200
committerOrgad Shaneh <orgads@gmail.com>2014-04-04 12:07:06 +0200
commitdf5d9f99fbff91c4bea44264db1a3e4f56848ac1 (patch)
treea9c4162cb824b73dc87c3b59f2779eb67cf395c4 /src/libs/cplusplus/LookupContext.cpp
parentb455518c383495d4e2c377978b7193816f362a0f (diff)
downloadqt-creator-df5d9f99fbff91c4bea44264db1a3e4f56848ac1.tar.gz
C++: fix findusage for member of typedefed anonymous struct
Task-number: QTCREATORBUG-11859 Task-number: QTCREATORBUG-11860 Change-Id: I7484b3b88daefbb3c76bb86a9b573e8291072872 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> (cherry picked from commit 5416557a0b9247e911180a7cce4a5ed3b0c0f351) Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r--src/libs/cplusplus/LookupContext.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index a1a2eeb822..05f5900edc 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -686,7 +686,7 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding
for (; cit != citEnd; ++cit) {
const AnonymousNameId *anonymousNameId = cit.key();
ClassOrNamespace *a = cit.value();
- if (!binding->_declaredAnonymouses.contains(anonymousNameId))
+ if (!binding->_declaredOrTypedefedAnonymouses.contains(anonymousNameId))
lookup_helper(name, a, result, processed, binding->_templateId);
}
}
@@ -1591,10 +1591,11 @@ bool CreateBindings::visit(Declaration *decl)
}
}
}
- } else if (Class *clazz = decl->type()->asClassType()) {
+ }
+ if (Class *clazz = decl->type()->asClassType()) {
if (const Name *name = clazz->name()) {
if (const AnonymousNameId *anonymousNameId = name->asAnonymousNameId())
- _currentClassOrNamespace->_declaredAnonymouses.insert(anonymousNameId);
+ _currentClassOrNamespace->_declaredOrTypedefedAnonymouses.insert(anonymousNameId);
}
}
return false;