summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-12-03 11:26:31 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-12-03 11:26:31 +0100
commitf7f35397864356699c3d25910c5511146a5173ce (patch)
treee8348288bfd389e927cab8edaae413b06e41ce4b /src/libs/cplusplus/LookupContext.cpp
parent5cd1cd10c9cdd1b2ebf50dcee0a6c8a151c02e74 (diff)
downloadqt-creator-f7f35397864356699c3d25910c5511146a5173ce.tar.gz
Skip using namespace directives when searching for declarations.
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r--src/libs/cplusplus/LookupContext.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index 8619502e51..6b89a17d5e 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -456,6 +456,8 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding
foreach (Symbol *s, binding->symbols()) {
if (s->isFriend())
continue;
+ else if (s->isUsingNamespaceDirective())
+ continue;
if (Scope *scope = s->asScope()) {
if (Class *klass = scope->asClass()) {
@@ -509,6 +511,8 @@ void CreateBindings::lookupInScope(const Name *name, Scope *scope,
for (Symbol *s = scope->find(id); s; s = s->next()) {
if (s->isFriend())
continue; // skip friends
+ else if (s->isUsingNamespaceDirective())
+ continue; // skip using namespace directives
else if (! id->isEqualTo(s->identifier()))
continue;
else if (s->name()->isQualifiedNameId())