summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-11-04 18:21:35 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-11-04 18:21:35 +0100
commitf2a0382910a0bfe1405d92255cb49f0a80efe616 (patch)
treed5138bef2414f018754506ec36fa2aed8e9454f1 /src/plugins/cpptools/cppcodecompletion.cpp
parent4ceabf26d4c0ba0bf023c7f7605bca639f338c48 (diff)
downloadqt-creator-f2a0382910a0bfe1405d92255cb49f0a80efe616.tar.gz
Replace . with -> only when the base expression has type pointer to class.
Reviewed-by: Thorbjørn Lindeijer
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 30fb1ce2ed..909ae011fe 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1121,14 +1121,6 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &ba
m_completionOperator,
&replacedDotOperator);
- if (replacedDotOperator) {
- // Replace . with ->
- int length = m_editor->position() - m_startPosition + 1;
- m_editor->setCurPos(m_startPosition - 1);
- m_editor->replace(length, QLatin1String("->"));
- ++m_startPosition;
- }
-
QList<Symbol *> classObjectCandidates;
foreach (const TypeOfExpression::Result &r, classObjectResults) {
FullySpecifiedType ty = r.first.simplified();
@@ -1147,6 +1139,14 @@ bool CppCodeCompletion::completeMember(const QList<TypeOfExpression::Result> &ba
}
}
+ if (replacedDotOperator && ! classObjectCandidates.isEmpty()) {
+ // Replace . with ->
+ int length = m_editor->position() - m_startPosition + 1;
+ m_editor->setCurPos(m_startPosition - 1);
+ m_editor->replace(length, QLatin1String("->"));
+ ++m_startPosition;
+ }
+
completeClass(classObjectCandidates, context, /*static lookup = */ false);
if (! m_completions.isEmpty())
return true;