From f1a40d304b105b9116f78de58ae398a4403e215c Mon Sep 17 00:00:00 2001 From: Roberto Raggi <qtc-committer@nokia.com> Date: Tue, 3 Feb 2009 12:50:53 +0100 Subject: [PATCH] Fixes: Member completion when the symbol's type is ClassTy. For example, struct { int a, b } foo; int main() { foo. <- } --- src/plugins/cpptools/cppcodecompletion.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index b6bac92bf9b..1f5bb7e1f4e 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) { -- GitLab