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

@@ -347,7 +347,7 @@ QStringList qmlJSAutoComplete(QTextDocument *textDocument,
info)));
if (proposal) {
GenericProposalModel *model = static_cast<GenericProposalModel*>(proposal->model());
GenericProposalModelPtr model = proposal->model().staticCast<GenericProposalModel>();
int basePosition = proposal->basePosition();
const QString prefix = textDocument->toPlainText().mid(basePosition,
@@ -538,7 +538,7 @@ QmlJSCompletionAssistProcessor::~QmlJSCompletionAssistProcessor()
IAssistProposal *QmlJSCompletionAssistProcessor::createContentProposal() const
{
GenericProposalModel *model = new QmlJSAssistProposalModel(m_completions);
GenericProposalModelPtr model(new QmlJSAssistProposalModel(m_completions));
return new GenericProposal(m_startPosition, model);
}
@@ -546,10 +546,9 @@ IAssistProposal *QmlJSCompletionAssistProcessor::createHintProposal(
const QString &functionName, const QStringList &namedArguments,
int optionalNamedArguments, bool isVariadic) const
{
IFunctionHintProposalModel *model = new FunctionHintProposalModel(
functionName, namedArguments, optionalNamedArguments, isVariadic);
IAssistProposal *proposal = new FunctionHintProposal(m_startPosition, model);
return proposal;
FunctionHintProposalModelPtr model(new FunctionHintProposalModel(
functionName, namedArguments, optionalNamedArguments, isVariadic));
return new FunctionHintProposal(m_startPosition, model);
}
IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *assistInterface)