diff --git a/src/plugins/android/javacompletionassistprovider.cpp b/src/plugins/android/javacompletionassistprovider.cpp index 364d120b727..d2e8e83c6a9 100644 --- a/src/plugins/android/javacompletionassistprovider.cpp +++ b/src/plugins/android/javacompletionassistprovider.cpp @@ -26,6 +26,7 @@ #include "javacompletionassistprovider.h" #include "androidconstants.h" +#include #include #include diff --git a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp index ea610ae4e8d..93a78e77412 100644 --- a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp +++ b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp @@ -26,6 +26,7 @@ #include "profilecompletionassist.h" #include "qmakeprojectmanagerconstants.h" +#include #include #include diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp index 99aaccd9e68..b4b98e98eef 100644 --- a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp +++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp @@ -33,20 +33,16 @@ #include #include -#include +#include namespace TextEditor { // -------------------------- // Keywords // -------------------------- -Keywords::Keywords() -{ -} - // Note: variables and functions must be sorted -Keywords::Keywords(const QStringList &variabels, const QStringList &functions, const QMap &functionArgs) - : m_variables(variabels), m_functions(functions), m_functionArgs(functionArgs) +Keywords::Keywords(const QStringList &variables, const QStringList &functions, const QMap &functionArgs) + : m_variables(variables), m_functions(functions), m_functionArgs(functionArgs) { } @@ -85,9 +81,6 @@ KeywordsAssistProposalItem::KeywordsAssistProposalItem(bool isFunction) { } -KeywordsAssistProposalItem::~KeywordsAssistProposalItem() Q_DECL_NOEXCEPT -{} - bool KeywordsAssistProposalItem::prematurelyApplies(const QChar &c) const { // only '(' in case of a function @@ -143,9 +136,6 @@ KeywordsFunctionHintModel::KeywordsFunctionHintModel(const QStringList &function : m_functionSymbols(functionSymbols) {} -KeywordsFunctionHintModel::~KeywordsFunctionHintModel() -{} - void KeywordsFunctionHintModel::reset() {} @@ -169,25 +159,21 @@ int KeywordsFunctionHintModel::activeArgument(const QString &prefix) const // KeywordsCompletionAssistProcessor // --------------------------------- KeywordsCompletionAssistProcessor::KeywordsCompletionAssistProcessor(Keywords keywords) - : m_startPosition(-1) - , m_snippetCollector(QString(), QIcon(":/texteditor/images/snippet.png")) + : m_snippetCollector(QString(), QIcon(":/texteditor/images/snippet.png")) , m_variableIcon(QLatin1String(":/codemodel/images/keyword.png")) , m_functionIcon(QLatin1String(":/codemodel/images/member.png")) , m_keywords(keywords) {} -KeywordsCompletionAssistProcessor::~KeywordsCompletionAssistProcessor() -{} - IAssistProposal *KeywordsCompletionAssistProcessor::perform(const AssistInterface *interface) { m_interface.reset(interface); if (isInComment()) - return 0; + return nullptr; if (interface->reason() == IdleEditor && !acceptsIdleEditor()) - return 0; + return nullptr; if (m_startPosition == -1) m_startPosition = findStartOfName(); @@ -196,10 +182,8 @@ IAssistProposal *KeywordsCompletionAssistProcessor::perform(const AssistInterfac if (m_keywords.isFunction(m_word) && m_interface->characterAt(nextCharPos) == QLatin1Char('(')) { QStringList functionSymbols = m_keywords.argsForFunction(m_word); - IFunctionHintProposalModel *model = - new KeywordsFunctionHintModel(functionSymbols); - IAssistProposal *proposal = new FunctionHintProposal(m_startPosition, model); - return proposal; + IFunctionHintProposalModel *model = new KeywordsFunctionHintModel(functionSymbols); + return new FunctionHintProposal(m_startPosition, model); } else { QList items = m_snippetCollector.collect(); addWordsToProposalList(&items, m_keywords.variables(), m_variableIcon); @@ -226,7 +210,7 @@ void KeywordsCompletionAssistProcessor::setKeywords(Keywords keywords) bool KeywordsCompletionAssistProcessor::acceptsIdleEditor() { const int pos = m_interface->position(); - QChar characterUnderCursor = m_interface->characterAt(pos); + const QChar characterUnderCursor = m_interface->characterAt(pos); if (!characterUnderCursor.isLetterOrNumber()) { m_startPosition = findStartOfName(); if (pos - m_startPosition >= 3 && !isInComment()) @@ -248,7 +232,7 @@ int KeywordsCompletionAssistProcessor::findStartOfName(int pos) chr = m_interface->characterAt(--pos); } while (chr.isLetterOrNumber() || chr == QLatin1Char('_')); - int start = ++pos; + const int start = ++pos; m_word.clear(); do { m_word += m_interface->characterAt(pos); @@ -265,22 +249,21 @@ bool KeywordsCompletionAssistProcessor::isInComment() const tc.setPosition(m_interface->position()); tc.movePosition(QTextCursor::StartOfLine, QTextCursor::KeepAnchor); const QString &lineBeginning = tc.selectedText(); - if (lineBeginning.contains(startOfCommentChar())) - return true; - return false; + return lineBeginning.contains(startOfCommentChar()); } -void KeywordsCompletionAssistProcessor::addWordsToProposalList(QList *items, const QStringList &words, const QIcon &icon) +void KeywordsCompletionAssistProcessor::addWordsToProposalList(QList *items, + const QStringList &words, const QIcon &icon) { if (!items) return; - for (int i = 0; i < words.count(); ++i) { - AssistProposalItem *item = new KeywordsAssistProposalItem(m_keywords.isFunction(words.at(i))); - item->setText(words.at(i)); + *items = Utils::transform(words, [this, &icon](const QString &word) -> AssistProposalItemInterface * { + AssistProposalItem *item = new KeywordsAssistProposalItem(m_keywords.isFunction(word)); + item->setText(word); item->setIcon(icon); - items->append(item); - } + return item; + }); } } // namespace TextEditor diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.h b/src/plugins/texteditor/codeassist/keywordscompletionassist.h index 8819a709210..a380d18bd80 100644 --- a/src/plugins/texteditor/codeassist/keywordscompletionassist.h +++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.h @@ -32,11 +32,14 @@ namespace TextEditor { +class AssistInterface; + class TEXTEDITOR_EXPORT Keywords { public: - Keywords(); - Keywords(const QStringList &variabels, const QStringList &functions, const QMap &functionArgs); + Keywords() = default; + Keywords(const QStringList &variables, const QStringList &functions, + const QMap &functionArgs); bool isVariable(const QString &word) const; bool isFunction(const QString &word) const; @@ -54,10 +57,9 @@ class TEXTEDITOR_EXPORT KeywordsAssistProposalItem : public AssistProposalItem { public: KeywordsAssistProposalItem(bool isFunction); - ~KeywordsAssistProposalItem() Q_DECL_NOEXCEPT; - bool prematurelyApplies(const QChar &c) const override; - void applyContextualContent(TextDocumentManipulatorInterface &manipulator, int basePosition) const override; + bool prematurelyApplies(const QChar &c) const final; + void applyContextualContent(TextDocumentManipulatorInterface &manipulator, int basePosition) const final; private: bool m_isFunction; }; @@ -66,12 +68,12 @@ class TEXTEDITOR_EXPORT KeywordsFunctionHintModel : public IFunctionHintProposal { public: KeywordsFunctionHintModel(const QStringList &functionSymbols); - ~KeywordsFunctionHintModel(); + ~KeywordsFunctionHintModel() final = default; - void reset() override; - int size() const override; - QString text(int index) const override; - int activeArgument(const QString &prefix) const override; + void reset() final; + int size() const final; + QString text(int index) const final; + int activeArgument(const QString &prefix) const final; private: QStringList m_functionSymbols; @@ -81,7 +83,7 @@ class TEXTEDITOR_EXPORT KeywordsCompletionAssistProcessor : public IAssistProces { public: KeywordsCompletionAssistProcessor(Keywords keywords); - ~KeywordsCompletionAssistProcessor(); + ~KeywordsCompletionAssistProcessor() override = default; IAssistProposal *perform(const AssistInterface *interface) override; QChar startOfCommentChar() const; @@ -95,9 +97,10 @@ private: bool acceptsIdleEditor(); int findStartOfName(int pos = -1); bool isInComment() const; - void addWordsToProposalList(QList *items, const QStringList &words, const QIcon &icon); + void addWordsToProposalList(QList *items, + const QStringList &words, const QIcon &icon); - int m_startPosition; + int m_startPosition = -1; TextEditor::SnippetAssistCollector m_snippetCollector; QString m_word; QScopedPointer m_interface;