OSDN Git Service

C++ completion: Skip Q_PROPERTY and Q_ENUMS symbols.
authorChristian Kamm <christian.d.kamm@nokia.com>
Fri, 7 Jan 2011 08:22:54 +0000 (09:22 +0100)
committerChristian Kamm <christian.d.kamm@nokia.com>
Fri, 7 Jan 2011 08:53:49 +0000 (09:53 +0100)
Reviewed-by: Erik Verbruggen
src/plugins/cpptools/cppcodecompletion.cpp
src/shared/cplusplus/Symbol.cpp

index c777141..6923a24 100644 (file)
@@ -1675,12 +1675,15 @@ void CppCodeCompletion::completeClass(ClassOrNamespace *b, bool staticLookup)
 
             for (Scope::iterator it = scope->firstMember(); it != scope->lastMember(); ++it) {
                 Symbol *member = *it;
-                if (member->isFriend())
+                if (member->isFriend()
+                        || member->isQtPropertyDeclaration()
+                        || member->isQtEnum()) {
                     continue;
-                else if (! staticLookup && (member->isTypedef() ||
+                else if (! staticLookup && (member->isTypedef() ||
                                             member->isEnum()    ||
-                                            member->isClass()))
+                                            member->isClass())) {
                     continue;
+                }
 
                 addCompletionItem(member);
             }
index 285a918..7a8cbcd 100644 (file)
@@ -373,6 +373,12 @@ bool Symbol::isClass() const
 bool Symbol::isForwardClassDeclaration() const
 { return asForwardClassDeclaration() != 0; }
 
+bool Symbol::isQtPropertyDeclaration() const
+{ return asQtPropertyDeclaration() != 0; }
+
+bool Symbol::isQtEnum() const
+{ return asQtEnum() != 0; }
+
 bool Symbol::isBlock() const
 { return asBlock() != 0; }