diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index b6bac92bf9b18a65248e6bb9b893300ef68f03cd..1f5bb7e1f4efa7f48be94c0a24f0091912827da8 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -598,7 +598,9 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &re if (ReferenceType *refTy = ty->asReferenceType()) ty = refTy->elementType(); - if (NamedType *namedTy = ty->asNamedType()) { + if (Class *classTy = ty->asClass()) { + classObjectCandidates.append(classTy); + } else if (NamedType *namedTy = ty->asNamedType()) { // ### This code is pretty slow. const QList<Symbol *> candidates = context.resolve(namedTy->name()); foreach (Symbol *candidate, candidates) { @@ -697,6 +699,8 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &re ++m_startPosition; namedTy = ptrTy->elementType()->asNamedType(); } + } else if (Class *classTy = ty->asClass()) { + classObjectCandidates.append(classTy); } else { namedTy = ty->asNamedType(); if (! namedTy) {