Add only symbols declared in class scopes when performing class-completion.

This commit is contained in:
Roberto Raggi
2009-12-08 12:43:40 +01:00
parent 02c7336795
commit 3d2e454358

View File

@@ -1276,6 +1276,9 @@ void CppCodeCompletion::completeNamespace(const QList<Symbol *> &candidates,
} }
foreach (Scope *scope, todo) { foreach (Scope *scope, todo) {
if (! scope->isNamespaceScope())
continue;
addCompletionItem(scope->owner()); addCompletionItem(scope->owner());
for (unsigned i = 0; i < scope->symbolCount(); ++i) { for (unsigned i = 0; i < scope->symbolCount(); ++i) {
@@ -1297,6 +1300,9 @@ void CppCodeCompletion::completeClass(const QList<Symbol *> &candidates,
context.expand(klass->members(), context.visibleScopes(), &todo); context.expand(klass->members(), context.visibleScopes(), &todo);
foreach (Scope *scope, todo) { foreach (Scope *scope, todo) {
if (! scope->isClassScope())
continue;
addCompletionItem(scope->owner()); addCompletionItem(scope->owner());
for (unsigned i = 0; i < scope->symbolCount(); ++i) { for (unsigned i = 0; i < scope->symbolCount(); ++i) {