CodeAssist: use shared pointer to pass around proposal models

Task-number: QTCREATORBUG-17752
Change-Id: Ia41f169b86ead209830e6f15764062389ced2b67
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
David Schulz
2018-02-14 14:32:51 +01:00
parent 4598a78980
commit a4b5fc00a8
34 changed files with 112 additions and 134 deletions

View File

@@ -115,17 +115,17 @@ public:
ai->recreateTextDocument();
InternalCppCompletionAssistProcessor processor;
const Tests::IAssistProposalScopedPointer proposal(processor.perform(ai));
if (!proposal.d)
const QScopedPointer<IAssistProposal> proposal(processor.perform(ai));
if (!proposal)
return completions;
IAssistProposalModel *model = proposal.d->model();
ProposalModelPtr model = proposal->model();
if (!model)
return completions;
CppAssistProposalModel *listmodel = dynamic_cast<CppAssistProposalModel *>(model);
CppAssistProposalModelPtr listmodel = model.staticCast<CppAssistProposalModel>();
if (!listmodel)
return completions;
const int pos = proposal.d->basePosition();
const int pos = proposal->basePosition();
const int length = m_position - pos;
const QString prefix = Utils::Text::textAt(QTextCursor(m_textDocument), pos, length);
if (!prefix.isEmpty())