diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-11-04 18:21:35 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2009-11-05 18:13:25 +0100 |
commit | a1aacdbd6c8c4dd359f46f05a7932319f21789be (patch) | |
tree | c730d6d103a59e9448e3e886229baf78ff3dbd30 | |
parent | 6b2c4d088bedcdc943d391923384ad6035709fdc (diff) |
Replace . with -> only when the base expression has type pointer to class.
Reviewed-by: Thorbjørn Lindeijer
(cherry picked from commit f2a0382910a0bfe1405d92255cb49f0a80efe616)
-rw-r--r-- | src/plugins/cpptools/cppcodecompletion.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 1d77d7c8679..7fba94bf511 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -1117,14 +1117,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(); @@ -1143,6 +1135,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; |