diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.cpp b/src/plugins/clangcodemodel/clangassistproposalitem.cpp index 41cb7702075..474d2d2b6ef 100644 --- a/src/plugins/clangcodemodel/clangassistproposalitem.cpp +++ b/src/plugins/clangcodemodel/clangassistproposalitem.cpp @@ -54,8 +54,6 @@ bool ClangAssistProposalItem::prematurelyApplies(const QChar &typedChar) const applies = QString::fromLatin1("(,").contains(typedChar); else if (m_completionOperator == T_STRING_LITERAL || m_completionOperator == T_ANGLE_STRING_LITERAL) applies = (typedChar == QLatin1Char('/')) && text().endsWith(QLatin1Char('/')); - else if (!isCodeCompletion()) - applies = (typedChar == QLatin1Char('(')); /* && data().canConvert()*/ //### else if (codeCompletion().completionKind() == CodeCompletion::ObjCMessageCompletionKind) applies = QString::fromLatin1(";.,").contains(typedChar); else @@ -247,18 +245,14 @@ void ClangAssistProposalItem::addOverload(const CodeCompletion &ccr) m_overloads.append(ccr); } -CodeCompletion ClangAssistProposalItem::codeCompletion() const +void ClangAssistProposalItem::setCodeCompletion(const CodeCompletion &codeCompletion) { - const QVariant &value = data(); - if (value.canConvert()) - return value.value(); - else - return CodeCompletion(); + m_codeCompletion = codeCompletion; } -bool ClangAssistProposalItem::isCodeCompletion() const +const ClangBackEnd::CodeCompletion &ClangAssistProposalItem::codeCompletion() const { - return data().canConvert(); + return m_codeCompletion; } } // namespace Internal diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.h b/src/plugins/clangcodemodel/clangassistproposalitem.h index b636f6d81b0..3aedd8c0b7a 100644 --- a/src/plugins/clangcodemodel/clangassistproposalitem.h +++ b/src/plugins/clangcodemodel/clangassistproposalitem.h @@ -52,13 +52,14 @@ public: bool isOverloaded() const; void addOverload(const ClangBackEnd::CodeCompletion &ccr); - ClangBackEnd::CodeCompletion codeCompletion() const; + void setCodeCompletion(const ClangBackEnd::CodeCompletion &codeCompletion); + const ClangBackEnd::CodeCompletion &codeCompletion() const; - bool isCodeCompletion() const; private: + ClangBackEnd::CodeCompletion m_codeCompletion; + QList m_overloads; unsigned m_completionOperator; mutable QChar m_typedChar; - QList m_overloads; }; } // namespace Internal diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp index 9e206a0abef..38510d5d601 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp +++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp @@ -103,7 +103,7 @@ QList toAssistProposalItems(const CodeCompletions &complet if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind) item->setDetail(CompletionChunksToTextConverter::convertToToolTip(ccr.chunks())); - item->setData(QVariant::fromValue(ccr)); + item->setCodeCompletion(ccr); } // FIXME: show the effective accessebility instead of availability