summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-02-17 12:12:14 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-02-17 12:12:14 +0100
commit7044809139350cd96e55b7ace829744edbb394b4 (patch)
tree68071a47da46d232810a9da41a47ae5087a17c30 /src/plugins/cpptools/cppcodecompletion.cpp
parentc2f61a76e127e218f8d3d0d82da162e7c0fc86e4 (diff)
downloadqt-creator-7044809139350cd96e55b7ace829744edbb394b4.tar.gz
Cleanup
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index af81980578..382ff50b2b 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();