From 7044809139350cd96e55b7ace829744edbb394b4 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Tue, 17 Feb 2009 12:12:14 +0100 Subject: [PATCH] Cleanup --- src/plugins/cpptools/cppcodecompletion.cpp | 28 ++++++++++------------ src/plugins/cpptools/cppcodecompletion.h | 16 +++++-------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index af81980578e..382ff50b2b5 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -512,22 +512,21 @@ int CppCodeCompletion::startCompletion(TextEditor::ITextEditable *editor) context = typeOfExpression.lookupContext(); } - if (! resolvedTypes.isEmpty() && resolvedTypes.first().first) { - FullySpecifiedType exprTy = resolvedTypes.first().first; - - if (exprTy->isReferenceType()) - exprTy = exprTy->asReferenceType()->elementType(); - - if (m_completionOperator == T_LPAREN && completeConstructorOrFunction(exprTy, resolvedTypes)) { + if (! resolvedTypes.isEmpty()) { + if (m_completionOperator == T_LPAREN && completeConstructorOrFunction(resolvedTypes)) { return m_startPosition; + } else if ((m_completionOperator == T_DOT || m_completionOperator == T_ARROW) && completeMember(resolvedTypes, context)) { return m_startPosition; + } else if (m_completionOperator == T_COLON_COLON && completeScope(resolvedTypes, context)) { return m_startPosition; - } else if (m_completionOperator == T_SIGNAL && completeSignal(exprTy, resolvedTypes, context)) { + + } else if (m_completionOperator == T_SIGNAL && completeSignal(resolvedTypes, context)) { return m_startPosition; - } else if (m_completionOperator == T_SLOT && completeSlot(exprTy, resolvedTypes, context)) { + + } else if (m_completionOperator == T_SLOT && completeSlot(resolvedTypes, context)) { return m_startPosition; } } @@ -550,8 +549,7 @@ int CppCodeCompletion::startCompletion(TextEditor::ITextEditable *editor) // If it's a class, add completions for the constructors foreach (const TypeOfExpression::Result &result, results) { if (result.first->isClassType()) { - FullySpecifiedType exprTy = result.first; - if (completeConstructorOrFunction(exprTy, QList<TypeOfExpression::Result>())) + if (completeConstructorOrFunction(results)) return m_startPosition; break; } @@ -563,8 +561,7 @@ int CppCodeCompletion::startCompletion(TextEditor::ITextEditable *editor) return -1; } -bool CppCodeCompletion::completeConstructorOrFunction(FullySpecifiedType, - const QList<TypeOfExpression::Result> &results) +bool CppCodeCompletion::completeConstructorOrFunction(const QList<TypeOfExpression::Result> &results) { ConvertToCompletionItem toCompletionItem(this); Overview o; @@ -924,8 +921,7 @@ void CppCodeCompletion::completeClass(const QList<Symbol *> &candidates, } } -bool CppCodeCompletion::completeQtMethod(CPlusPlus::FullySpecifiedType, - const QList<TypeOfExpression::Result> &results, +bool CppCodeCompletion::completeQtMethod(const QList<TypeOfExpression::Result> &results, const LookupContext &context, bool wantSignals) { @@ -941,7 +937,7 @@ bool CppCodeCompletion::completeQtMethod(CPlusPlus::FullySpecifiedType, o.setShowFunctionSignatures(true); QSet<QString> signatures; - foreach (TypeOfExpression::Result p, results) { + foreach (const TypeOfExpression::Result &p, results) { FullySpecifiedType ty = p.first; if (ReferenceType *refTy = ty->asReferenceType()) ty = refTy->elementType(); diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index 3c1be57bd5d..4e257ed674e 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -90,8 +90,7 @@ private: QSet<QString> *definedMacros); void addCompletionItem(CPlusPlus::Symbol *symbol); - bool completeConstructorOrFunction(CPlusPlus::FullySpecifiedType exprTy, - const QList<CPlusPlus::TypeOfExpression::Result> &); + bool completeConstructorOrFunction(const QList<CPlusPlus::TypeOfExpression::Result> &); bool completeMember(const QList<CPlusPlus::TypeOfExpression::Result> &, const CPlusPlus::LookupContext &context); @@ -108,20 +107,17 @@ private: bool completeConstructors(CPlusPlus::Class *klass); - bool completeQtMethod(CPlusPlus::FullySpecifiedType exprTy, - const QList<CPlusPlus::TypeOfExpression::Result> &, + bool completeQtMethod(const QList<CPlusPlus::TypeOfExpression::Result> &, const CPlusPlus::LookupContext &context, bool wantSignals); - bool completeSignal(CPlusPlus::FullySpecifiedType exprTy, - const QList<CPlusPlus::TypeOfExpression::Result> &results, + bool completeSignal(const QList<CPlusPlus::TypeOfExpression::Result> &results, const CPlusPlus::LookupContext &context) - { return completeQtMethod(exprTy, results, context, true); } + { return completeQtMethod(results, context, true); } - bool completeSlot(CPlusPlus::FullySpecifiedType exprTy, - const QList<CPlusPlus::TypeOfExpression::Result> &results, + bool completeSlot(const QList<CPlusPlus::TypeOfExpression::Result> &results, const CPlusPlus::LookupContext &context) - { return completeQtMethod(exprTy, results, context, false); } + { return completeQtMethod(results, context, false); } int findStartOfName(int pos = -1) const; -- GitLab