aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2018-11-24 02:45:30 +0100
committerAlessandro Portale <alessandro.portale@qt.io>2018-12-10 18:54:57 +0000
commit5242f581737b6821d469dd629f69bd1882f7e36f (patch)
tree622d08a9603936ae0b247a9a39e200e6a5ba99dd
parent00ec6dfb5d7e156cb87d0836f841ff9aef963618 (diff)
QmlJSEditor: Modernize
modernize-* Change-Id: I4dceb82c3904069a0d9848b2af61122d9282cb36 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r--src/plugins/qmljseditor/qmlexpressionundercursor.cpp11
-rw-r--r--src/plugins/qmljseditor/qmljsautocompleter.cpp6
-rw-r--r--src/plugins/qmljseditor/qmljscompletionassist.cpp62
-rw-r--r--src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp6
-rw-r--r--src/plugins/qmljseditor/qmljscomponentnamedialog.h6
-rw-r--r--src/plugins/qmljseditor/qmljseditingsettingspage.cpp3
-rw-r--r--src/plugins/qmljseditor/qmljseditingsettingspage.h8
-rw-r--r--src/plugins/qmljseditor/qmljseditor.cpp44
-rw-r--r--src/plugins/qmljseditor/qmljseditordocument.cpp29
-rw-r--r--src/plugins/qmljseditor/qmljseditordocument_p.h2
-rw-r--r--src/plugins/qmljseditor/qmljseditorplugin.cpp4
-rw-r--r--src/plugins/qmljseditor/qmljsfindreferences.cpp56
-rw-r--r--src/plugins/qmljseditor/qmljsfindreferences.h11
-rw-r--r--src/plugins/qmljseditor/qmljshighlighter.cpp7
-rw-r--r--src/plugins/qmljseditor/qmljshighlighter.h6
-rw-r--r--src/plugins/qmljseditor/qmljshoverhandler.cpp51
-rw-r--r--src/plugins/qmljseditor/qmljshoverhandler.h4
-rw-r--r--src/plugins/qmljseditor/qmljsoutline.cpp8
-rw-r--r--src/plugins/qmljseditor/qmljsoutline.h22
-rw-r--r--src/plugins/qmljseditor/qmljsoutlinetreeview.cpp2
-rw-r--r--src/plugins/qmljseditor/qmljsoutlinetreeview.h4
-rw-r--r--src/plugins/qmljseditor/qmljsquickfix.h10
-rw-r--r--src/plugins/qmljseditor/qmljsquickfixassist.cpp3
-rw-r--r--src/plugins/qmljseditor/qmljsquickfixassist.h4
-rw-r--r--src/plugins/qmljseditor/qmljsquickfixes.cpp10
-rw-r--r--src/plugins/qmljseditor/qmljssemantichighlighter.cpp38
-rw-r--r--src/plugins/qmljseditor/qmljssemantichighlighter.h2
-rw-r--r--src/plugins/qmljseditor/qmljssemanticinfoupdater.cpp6
-rw-r--r--src/plugins/qmljseditor/qmljssemanticinfoupdater.h6
-rw-r--r--src/plugins/qmljseditor/qmljstextmark.cpp2
-rw-r--r--src/plugins/qmljseditor/qmljstextmark.h2
-rw-r--r--src/plugins/qmljseditor/qmljswrapinloader.cpp10
-rw-r--r--src/plugins/qmljseditor/qmloutlinemodel.cpp124
-rw-r--r--src/plugins/qmljseditor/qmloutlinemodel.h16
-rw-r--r--src/plugins/qmljseditor/quicktoolbar.cpp36
-rw-r--r--src/plugins/qmljseditor/quicktoolbar.h10
36 files changed, 298 insertions, 333 deletions
diff --git a/src/plugins/qmljseditor/qmlexpressionundercursor.cpp b/src/plugins/qmljseditor/qmlexpressionundercursor.cpp
index 0d20a1a01d..d8014e9597 100644
--- a/src/plugins/qmljseditor/qmlexpressionundercursor.cpp
+++ b/src/plugins/qmljseditor/qmlexpressionundercursor.cpp
@@ -43,11 +43,8 @@ class ExpressionUnderCursor
Scanner scanner;
public:
- ExpressionUnderCursor()
- : start(0), end(0)
- {}
-
- int start, end;
+ int start = 0;
+ int end = 0;
int startState(const QTextBlock &block) const
{
@@ -117,12 +114,12 @@ using namespace QmlJSEditor;
using namespace QmlJSEditor::Internal;
QmlExpressionUnderCursor::QmlExpressionUnderCursor()
- : _expressionNode(0), _expressionOffset(0), _expressionLength(0)
+ : _expressionNode(nullptr), _expressionOffset(0), _expressionLength(0)
{}
ExpressionNode *QmlExpressionUnderCursor::operator()(const QTextCursor &cursor)
{
- _expressionNode = 0;
+ _expressionNode = nullptr;
_expressionOffset = -1;
_expressionLength = -1;
diff --git a/src/plugins/qmljseditor/qmljsautocompleter.cpp b/src/plugins/qmljseditor/qmljsautocompleter.cpp
index e50c268d2c..281c80d860 100644
--- a/src/plugins/qmljseditor/qmljsautocompleter.cpp
+++ b/src/plugins/qmljseditor/qmljsautocompleter.cpp
@@ -133,11 +133,9 @@ static bool isCompleteStringLiteral(const QStringRef &text)
return false;
}
-AutoCompleter::AutoCompleter()
-{}
+AutoCompleter::AutoCompleter() = default;
-AutoCompleter::~AutoCompleter()
-{}
+AutoCompleter::~AutoCompleter() = default;
bool AutoCompleter::contextAllowsAutoBrackets(const QTextCursor &cursor,
const QString &textToInsert) const
diff --git a/src/plugins/qmljseditor/qmljscompletionassist.cpp b/src/plugins/qmljseditor/qmljscompletionassist.cpp
index 2ecaa50de8..4d7eb0c1ed 100644
--- a/src/plugins/qmljseditor/qmljscompletionassist.cpp
+++ b/src/plugins/qmljseditor/qmljscompletionassist.cpp
@@ -137,7 +137,7 @@ public:
if (const FunctionValue *func = value->asFunctionValue()) {
// constructors usually also have other interesting members,
// don't consider them pure functions and complete the '()'
- if (!func->lookupMember(QLatin1String("prototype"), 0, 0, false))
+ if (!func->lookupMember(QLatin1String("prototype"), nullptr, nullptr, false))
data = QVariant::fromValue(CompleteFunctionCall(func->namedArgumentCount() || func->isVariadic()));
}
addCompletion(completions, name, icon, order, data);
@@ -184,21 +184,16 @@ public:
class ProcessProperties: private MemberProcessor
{
QSet<const ObjectValue *> _processed;
- bool _globalCompletion;
- bool _enumerateGeneratedSlots;
- bool _enumerateSlots;
+ bool _globalCompletion = false;
+ bool _enumerateGeneratedSlots = false;
+ bool _enumerateSlots = true;
const ScopeChain *_scopeChain;
- const ObjectValue *_currentObject;
- PropertyProcessor *_propertyProcessor;
+ const ObjectValue *_currentObject = nullptr;
+ PropertyProcessor *_propertyProcessor = nullptr;
public:
ProcessProperties(const ScopeChain *scopeChain)
- : _globalCompletion(false),
- _enumerateGeneratedSlots(false),
- _enumerateSlots(true),
- _scopeChain(scopeChain),
- _currentObject(0),
- _propertyProcessor(0)
+ : _scopeChain(scopeChain)
{
}
@@ -294,7 +289,7 @@ private:
_currentObject = object;
object->processMembers(this);
- _currentObject = 0;
+ _currentObject = nullptr;
}
};
@@ -303,16 +298,16 @@ const Value *getPropertyValue(const ObjectValue *object,
const ContextPtr &context)
{
if (propertyNames.isEmpty() || !object)
- return 0;
+ return nullptr;
const Value *value = object;
foreach (const QString &name, propertyNames) {
if (const ObjectValue *objectValue = value->asObjectValue()) {
value = objectValue->lookupMember(name, context);
if (!value)
- return 0;
+ return nullptr;
} else {
- return 0;
+ return nullptr;
}
}
return value;
@@ -486,8 +481,7 @@ int FunctionHintProposalModel::activeArgument(const QString &prefix) const
int parcount = 0;
Scanner tokenize;
const QList<Token> tokens = tokenize(prefix);
- for (int i = 0; i < tokens.count(); ++i) {
- const Token &tk = tokens.at(i);
+ for (auto &tk : tokens) {
if (tk.is(Token::LeftParenthesis))
++parcount;
else if (tk.is(Token::RightParenthesis))
@@ -533,8 +527,7 @@ QmlJSCompletionAssistProcessor::QmlJSCompletionAssistProcessor()
, m_snippetCollector(QLatin1String(Constants::QML_SNIPPETS_GROUP_ID), iconForColor(Qt::red), SnippetOrder)
{}
-QmlJSCompletionAssistProcessor::~QmlJSCompletionAssistProcessor()
-{}
+QmlJSCompletionAssistProcessor::~QmlJSCompletionAssistProcessor() = default;
IAssistProposal *QmlJSCompletionAssistProcessor::createContentProposal() const
{
@@ -556,7 +549,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
m_interface.reset(static_cast<const QmlJSCompletionAssistInterface *>(assistInterface));
if (assistInterface->reason() == IdleEditor && !acceptsIdleEditor())
- return 0;
+ return nullptr;
const QString &fileName = m_interface->fileName();
@@ -567,11 +560,10 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
m_completions.clear();
- const QmlJSCompletionAssistInterface *qmlInterface =
- static_cast<const QmlJSCompletionAssistInterface *>(assistInterface);
+ auto qmlInterface = static_cast<const QmlJSCompletionAssistInterface *>(assistInterface);
const SemanticInfo &semanticInfo = qmlInterface->semanticInfo();
if (!semanticInfo.isValid())
- return 0;
+ return nullptr;
const Document::Ptr document = semanticInfo.document;
const QFileInfo currentFileInfo(fileName);
@@ -597,7 +589,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
startPositionCursor.setPosition(m_startPosition);
CompletionContextFinder contextFinder(startPositionCursor);
- const ObjectValue *qmlScopeType = 0;
+ const ObjectValue *qmlScopeType = nullptr;
if (contextFinder.isInQmlContext()) {
// find the enclosing qml object
// ### this should use semanticInfo.declaringMember instead, but that may also return functions
@@ -612,13 +604,13 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
}
// grouped property bindings change the scope type
for (i++; i < path.size(); ++i) {
- AST::UiObjectDefinition *objDef = AST::cast<AST::UiObjectDefinition *>(path[i]);
+ auto objDef = AST::cast<AST::UiObjectDefinition *>(path[i]);
if (!objDef || !document->bind()->isGroupedPropertyBinding(objDef))
break;
const ObjectValue *newScopeType = qmlScopeType;
for (AST::UiQualifiedId *it = objDef->qualifiedTypeNameId; it; it = it->next) {
if (!newScopeType || it->name.isEmpty()) {
- newScopeType = 0;
+ newScopeType = nullptr;
break;
}
const Value *v = newScopeType->lookupMember(it->name.toString(), context);
@@ -648,7 +640,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
if (!literalText.isEmpty()
&& literalText.at(0) != QLatin1Char('"')
&& literalText.at(0) != QLatin1Char('\'')) {
- return 0;
+ return nullptr;
}
literalText = literalText.mid(1);
@@ -658,7 +650,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
patterns << QLatin1String("*.qml") << QLatin1String("*.js");
if (completeFileName(document->path(), literalText, patterns))
return createContentProposal();
- return 0;
+ return nullptr;
}
const Value *value =
@@ -672,7 +664,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
// ### enum completion?
- return 0;
+ return nullptr;
}
// currently path-in-stringliteral is the only completion available in imports
@@ -705,7 +697,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
return createContentProposal();
}
}
- return 0;
+ return nullptr;
}
// member "a.bc<complete>" or function "foo(<complete>" completion
@@ -719,7 +711,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
QmlExpressionUnderCursor expressionUnderCursor;
AST::ExpressionNode *expression = expressionUnderCursor(tc);
- if (expression != 0 && ! isLiteral(expression)) {
+ if (expression && ! isLiteral(expression)) {
// Evaluate the expression under cursor.
ValueOwner *interp = context->valueOwner();
const Value *value =
@@ -759,7 +751,7 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
if (! m_completions.isEmpty())
return createContentProposal();
- return 0;
+ return nullptr;
}
// global completion
@@ -866,10 +858,10 @@ IAssistProposal *QmlJSCompletionAssistProcessor::perform(const AssistInterface *
if (! m_completions.isEmpty())
return createContentProposal();
- return 0;
+ return nullptr;
}
- return 0;
+ return nullptr;
}
bool QmlJSCompletionAssistProcessor::acceptsIdleEditor() const
diff --git a/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp b/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp
index 2da26d1bf7..a88d615082 100644
--- a/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp
+++ b/src/plugins/qmljseditor/qmljscomponentfromobjectdef.cpp
@@ -170,7 +170,7 @@ public:
if (doc->isParsedCorrectly()) {
- UiObjectMember *astRootNode = 0;
+ UiObjectMember *astRootNode = nullptr;
if (UiProgram *program = doc->qmlProgram())
if (program->members)
astRootNode = program->members->member;
@@ -240,7 +240,7 @@ void matchComponentFromObjectDefQuickFix(const QmlJSQuickFixInterface &interface
QList<Node *> path = interface->semanticInfo().rangePath(pos);
for (int i = path.size() - 1; i >= 0; --i) {
Node *node = path.at(i);
- if (UiObjectDefinition *objDef = cast<UiObjectDefinition *>(node)) {
+ if (auto objDef = cast<UiObjectDefinition *>(node)) {
if (!interface->currentFile()->isCursorOn(objDef->qualifiedTypeNameId))
return;
@@ -249,7 +249,7 @@ void matchComponentFromObjectDefQuickFix(const QmlJSQuickFixInterface &interface
result << new Operation(interface, objDef);
return;
}
- } else if (UiObjectBinding *objBinding = cast<UiObjectBinding *>(node)) {
+ } else if (auto objBinding = cast<UiObjectBinding *>(node)) {
if (!interface->currentFile()->isCursorOn(objBinding->qualifiedTypeNameId))
return;
result << new Operation(interface, objBinding);
diff --git a/src/plugins/qmljseditor/qmljscomponentnamedialog.h b/src/plugins/qmljseditor/qmljscomponentnamedialog.h
index 72d54b93e9..f753ba9799 100644
--- a/src/plugins/qmljseditor/qmljscomponentnamedialog.h
+++ b/src/plugins/qmljseditor/qmljscomponentnamedialog.h
@@ -37,13 +37,13 @@ class ComponentNameDialog : public QDialog
Q_OBJECT
public:
- explicit ComponentNameDialog(QWidget *parent = 0);
- ~ComponentNameDialog();
+ explicit ComponentNameDialog(QWidget *parent = nullptr);
+ ~ComponentNameDialog() override;
static bool go(QString *proposedName, QString *proposedPath, QString *proposedSuffix,
const QStringList &properties, const QStringList &sourcePreview, const QString &oldFileName,
QStringList *result,
- QWidget *parent = 0);
+ QWidget *parent = nullptr);
void setProperties(const QStringList &properties);
diff --git a/src/plugins/qmljseditor/qmljseditingsettingspage.cpp b/src/plugins/qmljseditor/qmljseditingsettingspage.cpp
index be805c8ce1..37cd32fa63 100644
--- a/src/plugins/qmljseditor/qmljseditingsettingspage.cpp
+++ b/src/plugins/qmljseditor/qmljseditingsettingspage.cpp
@@ -161,8 +161,7 @@ QmlJsEditingSettings QmlJsEditingSettings::get()
return settings;
}
-QmlJsEditingSettingsPage::QmlJsEditingSettingsPage() :
- m_widget(0)
+QmlJsEditingSettingsPage::QmlJsEditingSettingsPage()
{
setId("C.QmlJsEditing");
setDisplayName(tr("QML/JS Editing"));
diff --git a/src/plugins/qmljseditor/qmljseditingsettingspage.h b/src/plugins/qmljseditor/qmljseditingsettingspage.h
index 85687d6871..dd3010e0f2 100644
--- a/src/plugins/qmljseditor/qmljseditingsettingspage.h
+++ b/src/plugins/qmljseditor/qmljseditingsettingspage.h
@@ -82,7 +82,7 @@ class QmlJsEditingSettignsPageWidget : public QWidget
Q_OBJECT
public:
- explicit QmlJsEditingSettignsPageWidget(QWidget *parent = 0);
+ explicit QmlJsEditingSettignsPageWidget(QWidget *parent = nullptr);
QmlJsEditingSettings settings() const;
void setSettings(const QmlJsEditingSettings &);
@@ -101,9 +101,9 @@ class QmlJsEditingSettingsPage : public Core::IOptionsPage
public:
QmlJsEditingSettingsPage();
- QWidget *widget();
- void apply();
- void finish();
+ QWidget *widget() override;
+ void apply() override;
+ void finish() override;
private:
QPointer<QmlJsEditingSettignsPageWidget> m_widget;
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index bb9c70f768..dadd9bee60 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -295,7 +295,7 @@ void QmlJSEditorWidget::updateContextPane()
Node *oldNode = info.declaringMemberNoProperties(m_oldCursorPosition);
Node *newNode = info.declaringMemberNoProperties(position());
if (oldNode != newNode && m_oldCursorPosition != -1)
- m_contextPane->apply(this, info.document, 0, newNode, false);
+ m_contextPane->apply(this, info.document, nullptr, newNode, false);
if (m_contextPane->isAvailable(this, info.document, newNode) &&
!m_contextPane->widget()->isVisible()) {
@@ -357,14 +357,11 @@ void QmlJSEditorWidget::updateUses()
class SelectedElement: protected Visitor
{
- unsigned m_cursorPositionStart;
- unsigned m_cursorPositionEnd;
+ unsigned m_cursorPositionStart = 0;
+ unsigned m_cursorPositionEnd = 0;
QList<UiObjectMember *> m_selectedMembers;
public:
- SelectedElement()
- : m_cursorPositionStart(0), m_cursorPositionEnd(0) {}
-
QList<UiObjectMember *> operator()(const Document::Ptr &doc, unsigned startPosition, unsigned endPosition)
{
m_cursorPositionStart = startPosition;
@@ -390,7 +387,7 @@ protected:
inline bool isIdBinding(UiObjectMember *member) const
{
- if (UiScriptBinding *script = cast<UiScriptBinding *>(member)) {
+ if (auto script = cast<const UiScriptBinding *>(member)) {
if (! script->qualifiedId)
return false;
else if (script->qualifiedId->name.isEmpty())
@@ -422,7 +419,7 @@ protected:
return (m_cursorPositionStart != m_cursorPositionEnd);
}
- void postVisit(Node *ast)
+ void postVisit(Node *ast) override
{
if (!isRangeSelected() && !m_selectedMembers.isEmpty())
return; // nothing to do, we already have the results.
@@ -511,9 +508,9 @@ void QmlJSEditorWidget::createToolBar()
m_outlineCombo->setMinimumContentsLength(22);
m_outlineCombo->setModel(m_qmlJsEditorDocument->outlineModel());
- QTreeView *treeView = new QTreeView;
+ auto treeView = new QTreeView;
- Utils::AnnotatedItemDelegate *itemDelegate = new Utils::AnnotatedItemDelegate(this);
+ auto itemDelegate = new Utils::AnnotatedItemDelegate(this);
itemDelegate->setDelimiter(QLatin1String(" "));
itemDelegate->setAnnotationRole(QmlOutlineModel::AnnotationRole);
treeView->setItemDelegateForColumn(0, itemDelegate);
@@ -620,13 +617,13 @@ static const CppComponentValue *findCppComponentToInspect(const SemanticInfo &se
{
AST::Node *node = semanticInfo.astNodeAt(cursorPosition);
if (!node)
- return 0;
+ return nullptr;
const ScopeChain scopeChain = semanticInfo.scopeChain(semanticInfo.rangePath(cursorPosition));
Evaluate evaluator(&scopeChain);
const Value *value = evaluator.reference(node);
if (!value)
- return 0;
+ return nullptr;
return value->asCppComponentValue();
}
@@ -726,7 +723,7 @@ void QmlJSEditorWidget::findLinkAt(const QTextCursor &cursor,
AST::Node *node = semanticInfo.astNodeAt(cursorPosition);
QTC_ASSERT(node, return;);
- if (AST::UiImport *importAst = cast<AST::UiImport *>(node)) {
+ if (auto importAst = cast<const AST::UiImport *>(node)) {
// if it's a file import, link to the file
foreach (const ImportInfo &import, semanticInfo.document->bind()->imports()) {
if (import.ast() == importAst && import.type() == ImportType::File) {
@@ -742,7 +739,7 @@ void QmlJSEditorWidget::findLinkAt(const QTextCursor &cursor,
}
// string literals that could refer to a file link to them
- if (StringLiteral *literal = cast<StringLiteral *>(node)) {
+ if (auto literal = cast<const StringLiteral *>(node)) {
const QString &text = literal->value.toString();
Utils::Link link;
link.linkTextStart = literal->literalToken.begin();
@@ -777,8 +774,8 @@ void QmlJSEditorWidget::findLinkAt(const QTextCursor &cursor,
link.targetLine = line;
link.targetColumn = column - 1; // adjust the column
- if (AST::UiQualifiedId *q = AST::cast<AST::UiQualifiedId *>(node)) {
- for (AST::UiQualifiedId *tail = q; tail; tail = tail->next) {
+ if (auto q = AST::cast<const AST::UiQualifiedId *>(node)) {
+ for (const AST::UiQualifiedId *tail = q; tail; tail = tail->next) {
if (! tail->next && cursorPosition <= tail->identifierToken.end()) {
link.linkTextStart = tail->identifierToken.begin();
link.linkTextEnd = tail->identifierToken.end();
@@ -787,13 +784,13 @@ void QmlJSEditorWidget::findLinkAt(const QTextCursor &cursor,
}
}
- } else if (AST::IdentifierExpression *id = AST::cast<AST::IdentifierExpression *>(node)) {
+ } else if (auto id = AST::cast<const AST::IdentifierExpression *>(node)) {
link.linkTextStart = id->firstSourceLocation().begin();
link.linkTextEnd = id->lastSourceLocation().end();
processLinkCallback(link);
return;
- } else if (AST::FieldMemberExpression *mem = AST::cast<AST::FieldMemberExpression *>(node)) {
+ } else if (auto mem = AST::cast<const AST::FieldMemberExpression *>(node)) {
link.linkTextStart = mem->lastSourceLocation().begin();
link.linkTextEnd = mem->lastSourceLocation().end();
processLinkCallback(link);
@@ -842,7 +839,7 @@ void QmlJSEditorWidget::contextMenuEvent(QContextMenuEvent *e)
if (!proposal.isNull()) {
GenericProposalModelPtr model = proposal->model().staticCast<GenericProposalModel>();
for (int index = 0; index < model->size(); ++index) {
- AssistProposalItem *item = static_cast<AssistProposalItem *>(model->proposalItem(index));
+ auto item = static_cast<const AssistProposalItem *>(model->proposalItem(index));
QuickFixOperation::Ptr op = item->data().value<QuickFixOperation::Ptr>();
QAction *action = refactoringMenu->addAction(op->description());
connect(action, &QAction::triggered, this, [op]() { op->perform(); });
@@ -902,7 +899,7 @@ void QmlJSEditorWidget::wheelEvent(QWheelEvent *event)
TextEditorWidget::wheelEvent(event);
if (visible)
- m_contextPane->apply(this, m_qmlJsEditorDocument->semanticInfo().document, 0,
+ m_contextPane->apply(this, m_qmlJsEditorDocument->semanticInfo().document, nullptr,
m_qmlJsEditorDocument->semanticInfo().declaringMemberNoProperties(m_oldCursorPosition),
false, true);
}
@@ -934,7 +931,7 @@ void QmlJSEditorWidget::semanticInfoUpdated(const SemanticInfo &semanticInfo)
if (m_contextPane) {
Node *newNode = semanticInfo.declaringMemberNoProperties(position());
if (newNode) {
- m_contextPane->apply(this, semanticInfo.document, 0, newNode, true);
+ m_contextPane->apply(this, semanticInfo.document, nullptr, newNode, true);
m_contextPaneTimer.start(); //update text marker
}
}
@@ -976,7 +973,8 @@ bool QmlJSEditorWidget::hideContextPane()
{
bool b = (m_contextPane) && m_contextPane->widget()->isVisible();
if (b)
- m_contextPane->apply(this, m_qmlJsEditorDocument->semanticInfo().document, 0, 0, false);
+ m_contextPane->apply(this, m_qmlJsEditorDocument->semanticInfo().document,
+ nullptr, nullptr, false);
return b;
}
@@ -993,7 +991,7 @@ AssistInterface *QmlJSEditorWidget::createAssistInterface(
} else if (assistKind == QuickFix) {
return new QmlJSQuickFixAssistInterface(const_cast<QmlJSEditorWidget *>(this), reason);
}
- return 0;
+ return nullptr;
}
QString QmlJSEditorWidget::foldReplacementText(const QTextBlock &block) const
diff --git a/src/plugins/qmljseditor/qmljseditordocument.cpp b/src/plugins/qmljseditor/qmljseditordocument.cpp
index bbd53bcf41..ae18e6a573 100644
--- a/src/plugins/qmljseditor/qmljseditordocument.cpp
+++ b/src/plugins/qmljseditor/qmljseditordocument.cpp
@@ -58,23 +58,16 @@ enum {
struct Declaration
{
QString text;
- int startLine;
- int startColumn;
- int endLine;
- int endColumn;
-
- Declaration()
- : startLine(0),
- startColumn(0),
- endLine(0),
- endColumn(0)
- { }
+ int startLine = 0;
+ int startColumn = 0;
+ int endLine = 0;
+ int endColumn = 0;
};
class FindIdDeclarations: protected Visitor
{
public:
- typedef QHash<QString, QList<AST::SourceLocation> > Result;
+ using Result = QHash<QString, QList<AST::SourceLocation> >;
Result operator()(Document::Ptr doc)
{
@@ -111,8 +104,8 @@ protected:
bool visit(AST::UiScriptBinding *node) override
{
if (asString(node->qualifiedId) == QLatin1String("id")) {
- if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement*>(node->statement)) {
- if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(stmt->expression)) {
+ if (auto stmt = AST::cast<const AST::ExpressionStatement*>(node->statement)) {
+ if (auto idExpr = AST::cast<const AST::IdentifierExpression *>(stmt->expression)) {
if (!idExpr->name.isEmpty()) {
const QString &id = idExpr->name.toString();
QList<AST::SourceLocation> *locs = &_ids[id];
@@ -331,8 +324,8 @@ protected:
bool visit(AST::BinaryExpression *ast) override
{
- AST::FieldMemberExpression *field = AST::cast<AST::FieldMemberExpression *>(ast->left);
- AST::FunctionExpression *funcExpr = AST::cast<AST::FunctionExpression *>(ast->right);
+ auto field = AST::cast<const AST::FieldMemberExpression *>(ast->left);
+ auto funcExpr = AST::cast<const AST::FunctionExpression *>(ast->right);
if (field && funcExpr && funcExpr->body && (ast->op == QSOperator::Assign)) {
Declaration decl;
@@ -368,7 +361,7 @@ public:
{
_textDocument = textDocument;
_ranges.clear();
- if (doc && doc->ast() != 0)
+ if (doc && doc->ast() != nullptr)
doc->ast()->accept(this);
return _ranges;
}
@@ -414,7 +407,7 @@ protected:
bool visit(AST::UiScriptBinding *ast) override
{
- if (AST::Block *block = AST::cast<AST::Block *>(ast->statement))
+ if (auto block = AST::cast<AST::Block *>(ast->statement))
_ranges.append(createRange(ast, block));
return true;
}
diff --git a/src/plugins/qmljseditor/qmljseditordocument_p.h b/src/plugins/qmljseditor/qmljseditordocument_p.h
index 11d639cb59..22912263ce 100644
--- a/src/plugins/qmljseditor/qmljseditordocument_p.h
+++ b/src/plugins/qmljseditor/qmljseditordocument_p.h
@@ -50,7 +50,7 @@ class QmlJSEditorDocumentPrivate : public QObject
public:
QmlJSEditorDocumentPrivate(QmlJSEditorDocument *parent);
- ~QmlJSEditorDocumentPrivate();
+ ~QmlJSEditorDocumentPrivate() override;
void invalidateFormatterCache();
void reparseDocument();
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp
index 318575956e..afd33c18b8 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.cpp
+++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp
@@ -241,7 +241,7 @@ QuickToolBar *QmlJSEditorPlugin::quickToolBar()
void QmlJSEditorPluginPrivate::renameUsages()
{
- if (QmlJSEditorWidget *editor = qobject_cast<QmlJSEditorWidget*>(EditorManager::currentEditor()->widget()))
+ if (auto editor = qobject_cast<QmlJSEditorWidget*>(EditorManager::currentEditor()->widget()))
editor->renameUsages();
}
@@ -293,7 +293,7 @@ void QmlJSEditorPluginPrivate::reformatFile()
void QmlJSEditorPluginPrivate::showContextPane()
{
- if (QmlJSEditorWidget *editor = qobject_cast<QmlJSEditorWidget*>(EditorManager::currentEditor()->widget()))
+ if (auto editor = qobject_cast<QmlJSEditorWidget*>(EditorManager::currentEditor()->widget()))
editor->showContextPane();
}
diff --git a/src/plugins/qmljseditor/qmljsfindreferences.cpp b/src/plugins/qmljseditor/qmljsfindreferences.cpp
index c44158fb14..67abdece26 100644
--- a/src/plugins/qmljseditor/qmljsfindreferences.cpp
+++ b/src/plugins/qmljseditor/qmljsfindreferences.cpp
@@ -70,7 +70,7 @@ namespace {
class FindUsages: protected Visitor
{
public:
- typedef QList<AST::SourceLocation> Result;
+ using Result = QList<AST::SourceLocation>;
FindUsages(Document::Ptr doc, const ContextPtr &context)
: _doc(doc)
@@ -276,7 +276,7 @@ private:
bool checkLookup()
{
- const ObjectValue *scope = 0;
+ const ObjectValue *scope = nullptr;
_scopeChain.lookup(_name, &scope);
return check(scope);
}
@@ -288,13 +288,13 @@ private:
ScopeBuilder _builder;
QString _name;
- const ObjectValue *_scope;
+ const ObjectValue *_scope = nullptr;
};
class FindTypeUsages: protected Visitor
{
public:
- typedef QList<AST::SourceLocation> Result;
+ using Result = QList<AST::SourceLocation>;
FindTypeUsages(Document::Ptr doc, const ContextPtr &context)
: _doc(doc)
@@ -449,7 +449,7 @@ private:
ScopeBuilder _builder;
QString _name;
- const ObjectValue *_typeValue;
+ const ObjectValue *_typeValue = nullptr;
};
class FindTargetExpression: protected Visitor
@@ -468,8 +468,8 @@ public:
void operator()(quint32 offset)
{
_name.clear();
- _scope = 0;
- _objectNode = 0;
+ _scope = nullptr;
+ _objectNode = nullptr;
_offset = offset;
_typeKind = ExpKind;
if (_doc)
@@ -587,7 +587,7 @@ protected:
if (node->defaultToken.isValid()) {
_name = node->memberType->name.toString();
_targetValue = _scopeChain->context()->lookupType(_doc.data(), QStringList(_name));
- _scope = 0;
+ _scope = nullptr;
_typeKind = TypeKind;
}
return false;
@@ -648,7 +648,7 @@ private:
for (UiQualifiedId *att = id; att; att = att->next) {
if (!att->name.isEmpty() && containsOffset(att->identifierToken)) {
_targetValue = _scopeChain->context()->lookupType(_doc.data(), id, att->next);
- _scope = 0;
+ _scope = nullptr;
_name = att->name.toString();
_typeKind = TypeKind;
return true;
@@ -666,13 +666,13 @@ private:
}
QString _name;
- const ObjectValue *_scope;
- const Value *_targetValue;
- Node *_objectNode;
+ const ObjectValue *_scope = nullptr;
+ const Value *_targetValue = nullptr;
+ Node *_objectNode = nullptr;
Document::Ptr _doc;
- const ScopeChain *_scopeChain;
- quint32 _offset;
- Kind _typeKind;
+ const ScopeChain *_scopeChain = nullptr;
+ quint32 _offset = 0;
+ Kind _typeKind = ExpKind;
};
static QString matchingLine(unsigned position, const QString &source)
@@ -687,8 +687,8 @@ static QString matchingLine(unsigned position, const QString &source)
class ProcessFile
{
ContextPtr context;
- typedef FindReferences::Usage Usage;
- QString name;
+ using Usage = FindReferences::Usage;
+ const QString name;
const ObjectValue *scope;
QFutureInterface<Usage> *future;
@@ -698,7 +698,7 @@ public:
using result_type = QList<Usage>;
ProcessFile(const ContextPtr &context,
- QString name,
+ const QString &name,
const ObjectValue *scope,
QFutureInterface<Usage> *future)
: context(context), name(name), scope(scope), future(future)
@@ -729,8 +729,8 @@ public:
class SearchFileForType
{
ContextPtr context;
- typedef FindReferences::Usage Usage;
- QString name;
+ using Usage = FindReferences::Usage;
+ const QString name;
const ObjectValue *scope;
QFutureInterface<Usage> *future;
@@ -740,7 +740,7 @@ public:
using result_type = QList<Usage>;
SearchFileForType(const ContextPtr &context,
- QString name,
+ const QString &name,
const ObjectValue *scope,
QFutureInterface<Usage> *future)
: context(context), name(name), scope(scope), future(future)
@@ -770,7 +770,7 @@ public:
class UpdateUI
{
- typedef FindReferences::Usage Usage;
+ using Usage = FindReferences::Usage;
QFutureInterface<Usage> *future;
public:
@@ -800,14 +800,12 @@ FindReferences::FindReferences(QObject *parent)
connect(&m_watcher, &QFutureWatcherBase::finished, this, &FindReferences::searchFinished);
}
-FindReferences::~FindReferences()
-{
-}
+FindReferences::~FindReferences() = default;
static void find_helper(QFutureInterface<FindReferences::Usage> &future,
- const ModelManagerInterface::WorkingCopy workingCopy,
+ const ModelManagerInterface::WorkingCopy &workingCopy,
Snapshot snapshot,
- const QString fileName,
+ const QString &fileName,
quint32 offset,
QString replacement)
{
@@ -925,7 +923,7 @@ void FindReferences::renameUsages(const QString &fileName, quint32 offset,
m_watcher.setFuture(result);
}
-QList<FindReferences::Usage> FindReferences::findUsageOfType(const QString &fileName, const QString typeName)
+QList<FindReferences::Usage> FindReferences::findUsageOfType(const QString &fileName, const QString &typeName)
{
QList<Usage> usages;
ModelManagerInterface *modelManager = ModelManagerInterface::instance();
@@ -1006,7 +1004,7 @@ void FindReferences::searchFinished()
{
if (m_currentSearch)
m_currentSearch->finishSearch(m_watcher.isCanceled());
- m_currentSearch = 0;
+ m_currentSearch = nullptr;
emit changed();
}
diff --git a/src/plugins/qmljseditor/qmljsfindreferences.h b/src/plugins/qmljseditor/qmljsfindreferences.h
index 192d25fe45..41c8fc07d2 100644
--- a/src/plugins/qmljseditor/qmljsfindreferences.h
+++ b/src/plugins/qmljseditor/qmljsfindreferences.h
@@ -49,18 +49,15 @@ public:
class Usage
{
public:
- Usage()
- : line(0), col(0), len(0) {}
-
Usage(const QString &path, const QString &lineText, int line, int col, int len)
: path(path), lineText(lineText), line(line), col(col), len(len) {}
public:
QString path;
QString lineText;
- int line;
- int col;
- int len;
+ int line = 0;
+ int col = 0;
+ int len = 0;
};
public:
@@ -75,7 +72,7 @@ public:
void renameUsages(const QString &fileName, quint32 offset,
const QString &replacement = QString());
- static QList<Usage> findUsageOfType(const QString &fileName, const QString typeName);
+ static QList<Usage> findUsageOfType(const QString &fileName, const QString &typeName);
private:
void displayResults(int first, int last);
diff --git a/src/plugins/qmljseditor/qmljshighlighter.cpp b/src/plugins/qmljseditor/qmljshighlighter.cpp
index 5777c6c3e2..6d81ea8d1d 100644
--- a/src/plugins/qmljseditor/qmljshighlighter.cpp
+++ b/src/plugins/qmljseditor/qmljshighlighter.cpp
@@ -45,9 +45,7 @@ QmlJSHighlighter::QmlJSHighlighter(QTextDocument *parent)
setDefaultTextFormatCategories();
}
-QmlJSHighlighter::~QmlJSHighlighter()
-{
-}
+QmlJSHighlighter::~QmlJSHighlighter() = default;
bool QmlJSHighlighter::isQmlEnabled() const
{
@@ -167,8 +165,7 @@ void QmlJSHighlighter::highlightBlock(const QString &text)
}
int previousTokenEnd = 0;
- for (int index = 0; index < tokens.size(); ++index) {
- const Token &token = tokens.at(index);
+ for (const auto &token : tokens) {
setFormat(previousTokenEnd, token.begin() - previousTokenEnd, formatForCategory(C_VISUAL_WHITESPACE));
switch (token.kind) {
diff --git a/src/plugins/qmljseditor/qmljshighlighter.h b/src/plugins/qmljseditor/qmljshighlighter.h
index c0a034707b..b1d9abb0f1 100644
--- a/src/plugins/qmljseditor/qmljshighlighter.h
+++ b/src/plugins/qmljseditor/qmljshighlighter.h
@@ -39,14 +39,14 @@ class QMLJSEDITOR_EXPORT QmlJSHighlighter : public TextEditor::SyntaxHighlighter
Q_OBJECT
public:
- QmlJSHighlighter(QTextDocument *parent = 0);
- virtual ~QmlJSHighlighter();
+ QmlJSHighlighter(QTextDocument *parent = nullptr);
+ ~QmlJSHighlighter() override;
bool isQmlEnabled() const;
void setQmlEnabled(bool duiEnabled);
protected:
- virtual void highlightBlock(const QString &text);
+ void highlightBlock(const QString &text) override;
int onBlockStart();
void onBlockEnd(int state);
diff --git a/src/plugins/qmljseditor/qmljshoverhandler.cpp b/src/plugins/qmljseditor/qmljshoverhandler.cpp
index 7334ad7ecd..5171b2750a 100644
--- a/src/plugins/qmljseditor/qmljshoverhandler.cpp
+++ b/src/plugins/qmljseditor/qmljshoverhandler.cpp
@@ -72,11 +72,10 @@ namespace {
AST::UiObjectInitializer *nodeInitializer(AST::Node *node)
{
- AST::UiObjectInitializer *initializer = 0;
- if (const AST::UiObjectBinding *binding = AST::cast<const AST::UiObjectBinding *>(node))
+ AST::UiObjectInitializer *initializer = nullptr;
+ if (auto binding = AST::cast<const AST::UiObjectBinding*>(node))
initializer = binding->initializer;
- else if (const AST::UiObjectDefinition *definition =
- AST::cast<const AST::UiObjectDefinition *>(node))
+ else if (auto definition = AST::cast<const AST::UiObjectDefinition*>(node))
initializer = definition->initializer;
return initializer;
}
@@ -92,7 +91,7 @@ namespace {
}
}
-QmlJSHoverHandler::QmlJSHoverHandler() : m_modelManager(0)
+QmlJSHoverHandler::QmlJSHoverHandler()
{
m_modelManager = ModelManagerInterface::instance();
}
@@ -177,7 +176,7 @@ bool QmlJSHoverHandler::setQmlTypeHelp(const ScopeChain &scopeChain, const Docum
if (!urlMap.isEmpty())
break;
return false;
- } while (0);
+ } while (false);
// Check if the module name contains a major version.
QRegularExpression version("^([^\\d]*)(\\d+)\\.*\\d*$");
@@ -211,7 +210,7 @@ void QmlJSHoverHandler::identifyMatch(TextEditorWidget *editorWidget, int pos, R
if (!m_modelManager)
return;
- QmlJSEditorWidget *qmlEditor = qobject_cast<QmlJSEditorWidget *>(editorWidget);
+ auto qmlEditor = qobject_cast<QmlJSEditorWidget*>(editorWidget);
QTC_ASSERT(qmlEditor, return);
const QmlJSTools::SemanticInfo &semanticInfo = qmlEditor->qmlJsEditorDocument()->semanticInfo();
@@ -230,7 +229,7 @@ void QmlJSHoverHandler::identifyMatch(TextEditorWidget *editorWidget, int pos, R
if (rangePath.isEmpty()) {
// Is the cursor on an import? The ast path will have an UiImport
// member in the last or second to last position!
- AST::UiImport *import = 0;
+ AST::UiImport *import = nullptr;
if (astPath.size() >= 1)
import = AST::cast<AST::UiImport *>(astPath.last());
if (!import && astPath.size() >= 2)
@@ -305,7 +304,7 @@ bool QmlJSHoverHandler::matchColorItem(const ScopeChain &scopeChain,
if (!initializer)
return false;
- AST::UiObjectMember *member = 0;
+ AST::UiObjectMember *member = nullptr;
for (AST::UiObjectMemberList *list = initializer->members; list; list = list->next) {
if (posIsInSource(pos, list->member)) {
member = list->member;
@@ -316,8 +315,8 @@ bool QmlJSHoverHandler::matchColorItem(const ScopeChain &scopeChain,
return false;
QString color;
- const Value *value = 0;
- if (const AST::UiScriptBinding *binding = AST::cast<const AST::UiScriptBinding *>(member)) {
+ const Value *value = nullptr;
+ if (auto binding = AST::cast<const AST::UiScriptBinding *>(member)) {
if (binding->qualifiedId && posIsInSource(pos, binding->statement)) {
value = scopeChain.evaluate(binding->qualifiedId);
if (value && value->asColorValue()) {
@@ -326,8 +325,7 @@ bool QmlJSHoverHandler::matchColorItem(const ScopeChain &scopeChain,
binding->statement->lastSourceLocation());
}
}
- } else if (const AST::UiPublicMember *publicMember =
- AST::cast<const AST::UiPublicMember *>(member)) {
+ } else if (auto publicMember = AST::cast<const AST::UiPublicMember *>(member)) {
if (!publicMember->name.isEmpty() && posIsInSource(pos, publicMember->statement)) {
value = scopeChain.lookup(publicMember->name.toString());
if (const Reference *ref = value->asReference())
@@ -440,33 +438,33 @@ void QmlJSHoverHandler::prettyPrintTooltip(const Value *value,
static const ObjectValue *isMember(const ScopeChain &scopeChain,
AST::Node *node, QString *name)
{
- const ObjectValue *owningObject = 0;
- if (AST::IdentifierExpression *identExp = AST::cast<AST::IdentifierExpression *>(node)) {
+ const ObjectValue *owningObject = nullptr;
+ if (auto identExp = AST::cast<const AST::IdentifierExpression *>(node)) {
if (identExp->name.isEmpty())
- return 0;
+ return nullptr;
*name = identExp->name.toString();
scopeChain.lookup(*name, &owningObject);
- } else if (AST::FieldMemberExpression *fme = AST::cast<AST::FieldMemberExpression *>(node)) {
+ } else if (auto fme = AST::cast<const AST::FieldMemberExpression *>(node)) {
if (!fme->base || fme->name.isEmpty())
- return 0;
+ return nullptr;
*name = fme->name.toString();
const Value *base = scopeChain.evaluate(fme->base);
if (!base)
- return 0;
+ return nullptr;
owningObject = base->asObjectValue();
if (owningObject)
owningObject->lookupMember(*name, scopeChain.context(), &owningObject);
- } else if (AST::UiQualifiedId *qid = AST::cast<AST::UiQualifiedId *>(node)) {
+ } else if (auto qid = AST::cast<const AST::UiQualifiedId *>(node)) {
if (qid->name.isEmpty())
- return 0;
+ return nullptr;
*name = qid->name.toString();
const Value *value = scopeChain.lookup(*name, &owningObject);
for (AST::UiQualifiedId *it = qid->next; it; it = it->next) {
if (!value)
- return 0;
+ return nullptr;
const ObjectValue *next = value->asObjectValue();
if (!next || it->name.isEmpty())
- return 0;
+ return nullptr;
*name = it->name.toString();
value = next->lookupMember(*name, scopeChain.context(), &owningObject);
}
@@ -483,7 +481,7 @@ bool QmlJSHoverHandler::setQmlHelpItem(const ScopeChain &scopeChain,
if (const ObjectValue *scope = isMember(scopeChain, node, &name)) {
// maybe it's a type?
if (!name.isEmpty() && name.at(0).isUpper()) {
- if (AST::UiQualifiedId *qualifiedId = AST::cast<AST::UiQualifiedId *>(node)) {
+ if (auto qualifiedId = AST::cast<AST::UiQualifiedId *>(node)) {
const ObjectValue *value = scopeChain.context()->lookupType(qmlDocument.data(), qualifiedId);
if (setQmlTypeHelp(scopeChain, qmlDocument, value, QStringList(qualifiedId->name.toString())))
return true;
@@ -513,7 +511,8 @@ bool QmlJSHoverHandler::setQmlHelpItem(const ScopeChain &scopeChain,
if (!HelpManager::linksForIdentifier(helpId).isEmpty())
break;
helpId.clear();
- } while (0);
+ } while (false);
+
if (!helpId.isEmpty()) {
setLastHelpItemIdentified(HelpItem(helpId, name, HelpItem::QmlProperty));
return true;
@@ -525,7 +524,7 @@ bool QmlJSHoverHandler::setQmlHelpItem(const ScopeChain &scopeChain,
}
} else {
// it might be a type, but the scope chain is broken (mismatched braces)
- if (AST::UiQualifiedId *qualifiedId = AST::cast<AST::UiQualifiedId *>(node)) {
+ if (auto qualifiedId = AST::cast<AST::UiQualifiedId *>(node)) {
const ObjectValue *value = scopeChain.context()->lookupType(qmlDocument.data(),
qualifiedId);
if (setQmlTypeHelp(scopeChain, qmlDocument, value,
diff --git a/src/plugins/qmljseditor/qmljshoverhandler.h b/src/plugins/qmljseditor/qmljshoverhandler.h
index 682d713f39..be51f6c53b 100644
--- a/src/plugins/qmljseditor/qmljshoverhandler.h
+++ b/src/plugins/qmljseditor/qmljshoverhandler.h
@@ -38,7 +38,7 @@ QT_END_NAMESPACE
namespace QmlJS {
class ScopeChain;
class Context;
-typedef QSharedPointer<const Context> ContextPtr;
+using ContextPtr = QSharedPointer<const Context>;
class Value;
class ObjectValue;
}
@@ -82,7 +82,7 @@ private:
const QmlJS::Document::Ptr &qmlDocument,
QmlJS::AST::Node *node);
- QmlJS::ModelManagerInterface *m_modelManager;
+ QmlJS::ModelManagerInterface *m_modelManager = nullptr;
QColor m_colorTip;
};
diff --git a/src/plugins/qmljseditor/qmljsoutline.cpp b/src/plugins/qmljseditor/qmljsoutline.cpp
index 435725c0b2..228839573b 100644
--- a/src/plugins/qmljseditor/qmljsoutline.cpp
+++ b/src/plugins/qmljseditor/qmljsoutline.cpp
@@ -104,7 +104,7 @@ QmlJSOutlineWidget::QmlJSOutlineWidget(QWidget *parent)
m_treeView->setModel(m_filterModel);
setFocusProxy(m_treeView);
- QVBoxLayout *layout = new QVBoxLayout;
+ auto layout = new QVBoxLayout;
layout->setMargin(0);
layout->setSpacing(0);
@@ -259,10 +259,10 @@ bool QmlJSOutlineWidgetFactory::supportsEditor(Core::IEditor *editor) const
TextEditor::IOutlineWidget *QmlJSOutlineWidgetFactory::createWidget(Core::IEditor *editor)
{
- QmlJSOutlineWidget *widget = new QmlJSOutlineWidget;
+ auto widget = new QmlJSOutlineWidget;
- QmlJSEditor *qmlJSEditable = qobject_cast<QmlJSEditor*>(editor);
- QmlJSEditorWidget *qmlJSEditor = qobject_cast<QmlJSEditorWidget*>(qmlJSEditable->widget());
+ auto qmlJSEditable = qobject_cast<const QmlJSEditor*>(editor);
+ auto qmlJSEditor = qobject_cast<QmlJSEditorWidget*>(qmlJSEditable->widget());
Q_ASSERT(qmlJSEditor);
widget->setEditor(qmlJSEditor);
diff --git a/src/plugins/qmljseditor/qmljsoutline.h b/src/plugins/qmljseditor/qmljsoutline.h
index a8f15c53e3..0a50667ae2 100644
--- a/src/plugins/qmljseditor/qmljsoutline.h
+++ b/src/plugins/qmljseditor/qmljsoutline.h
@@ -51,29 +51,29 @@ public:
QmlJSOutlineFilterModel(QObject *parent);
// QSortFilterProxyModel
bool filterAcceptsRow(int sourceRow,
- const QModelIndex &sourceParent) const;
- QVariant data(const QModelIndex &index, int role) const;
- Qt::DropActions supportedDragActions() const;
+ const QModelIndex &sourceParent) const override;
+ QVariant data(const QModelIndex &index, int role) const override;
+ Qt::DropActions supportedDragActions() const override;
bool filterBindings() const;
void setFilterBindings(bool filterBindings);
private:
- bool m_filterBindings;
+ bool m_filterBindings = false;
};
class QmlJSOutlineWidget : public TextEditor::IOutlineWidget
{
Q_OBJECT
public:
- QmlJSOutlineWidget(QWidget *parent = 0);
+ QmlJSOutlineWidget(QWidget *parent = nullptr);
void setEditor(QmlJSEditorWidget *editor);
// IOutlineWidget
- virtual QList<QAction*> filterMenuActions() const override;
- virtual void setCursorSynchronization(bool syncWithCursor) override;
- virtual void restoreSettings(const QVariantMap &map) override;
- virtual QVariantMap settings() const override;
+ QList<QAction*> filterMenuActions() const override;
+ void setCursorSynchronization(bool syncWithCursor) override;
+ void restoreSettings(const QVariantMap &map) override;
+ QVariantMap settings() const override;
private:
void updateSelectionInTree(const QModelIndex &index);
@@ -98,8 +98,8 @@ class QmlJSOutlineWidgetFactory : public TextEditor::IOutlineWidgetFactory
{
Q_OBJECT
public:
- bool supportsEditor(Core::IEditor *editor) const;
- TextEditor::IOutlineWidget *createWidget(Core::IEditor *editor);
+ bool supportsEditor(Core::IEditor *editor) const override;
+ TextEditor::IOutlineWidget *createWidget(Core::IEditor *editor) override;
};
} // namespace Internal
diff --git a/src/plugins/qmljseditor/qmljsoutlinetreeview.cpp b/src/plugins/qmljseditor/qmljsoutlinetreeview.cpp
index 9e7efe7efd..ee373e9869 100644
--- a/src/plugins/qmljseditor/qmljsoutlinetreeview.cpp
+++ b/src/plugins/qmljseditor/qmljsoutlinetreeview.cpp
@@ -44,7 +44,7 @@ QmlJSOutlineTreeView::QmlJSOutlineTreeView(QWidget *parent) :
setRootIsDecorated(false);
- Utils::AnnotatedItemDelegate *itemDelegate = new Utils::AnnotatedItemDelegate(this);
+ auto itemDelegate = new Utils::AnnotatedItemDelegate(this);
itemDelegate->setDelimiter(QLatin1String(" "));
itemDelegate->setAnnotationRole(QmlOutlineModel::AnnotationRole);
setItemDelegateForColumn(0, itemDelegate);
diff --git a/src/plugins/qmljseditor/qmljsoutlinetreeview.h b/src/plugins/qmljseditor/qmljsoutlinetreeview.h
index 53e919b484..3909754284 100644
--- a/src/plugins/qmljseditor/qmljsoutlinetreeview.h
+++ b/src/plugins/qmljseditor/qmljsoutlinetreeview.h
@@ -34,9 +34,9 @@ class QmlJSOutlineTreeView : public Utils::NavigationTreeView
{
Q_OBJECT
public:
- explicit QmlJSOutlineTreeView(QWidget *parent = 0);
+ explicit QmlJSOutlineTreeView(QWidget *parent = nullptr);
- void contextMenuEvent(QContextMenuEvent *event);
+ void contextMenuEvent(QContextMenuEvent *event) override;
private:
void collapseAllExceptRoot();
diff --git a/src/plugins/qmljseditor/qmljsquickfix.h b/src/plugins/qmljseditor/qmljsquickfix.h
index c80d23aede..856b4f29c8 100644
--- a/src/plugins/qmljseditor/qmljsquickfix.h
+++ b/src/plugins/qmljseditor/qmljsquickfix.h
@@ -38,10 +38,10 @@ namespace QmlJSEditor {
namespace Internal { class QmlJSQuickFixAssistInterface; }
-typedef QSharedPointer<const Internal::QmlJSQuickFixAssistInterface> QmlJSQuickFixInterface;
-typedef TextEditor::QuickFixOperation QuickFixOperation;
-typedef TextEditor::QuickFixOperations QuickFixOperations;
-typedef TextEditor::QuickFixInterface QuickFixInterface;
+using QmlJSQuickFixInterface = QSharedPointer<const Internal::QmlJSQuickFixAssistInterface>;
+using TextEditor::QuickFixOperation;
+using TextEditor::QuickFixOperations;
+using TextEditor::QuickFixInterface;
/*!
A quick-fix operation for the QML/JavaScript editor.
@@ -60,7 +60,7 @@ public:
void perform() override;
protected:
- typedef Utils::ChangeSet::Range Range;
+ using Range = Utils::ChangeSet::Range;
virtual void performChanges(QmlJSTools::QmlJSRefactoringFilePtr currentFile,
const QmlJSTools::QmlJSRefactoringChanges &refactoring) = 0;
diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.cpp b/src/plugins/qmljseditor/qmljsquickfixassist.cpp
index 8effaa26cf..21b44faaa5 100644
--- a/src/plugins/qmljseditor/qmljsquickfixassist.cpp
+++ b/src/plugins/qmljseditor/qmljsquickfixassist.cpp
@@ -53,8 +53,7 @@ QmlJSQuickFixAssistInterface::QmlJSQuickFixAssistInterface(QmlJSEditorWidget *ed
, m_currentFile(QmlJSRefactoringChanges::file(editor, m_semanticInfo.document))
{}
-QmlJSQuickFixAssistInterface::~QmlJSQuickFixAssistInterface()
-{}
+QmlJSQuickFixAssistInterface::~QmlJSQuickFixAssistInterface() = default;
const SemanticInfo &QmlJSQuickFixAssistInterface::semanticInfo() const
{
diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.h b/src/plugins/qmljseditor/qmljsquickfixassist.h
index 0f03844b2e..f638465d4b 100644
--- a/src/plugins/qmljseditor/qmljsquickfixassist.h
+++ b/src/plugins/qmljseditor/qmljsquickfixassist.h
@@ -39,7 +39,7 @@ class QmlJSQuickFixAssistInterface : public TextEditor::AssistInterface
{
public:
QmlJSQuickFixAssistInterface(QmlJSEditorWidget *editor, TextEditor::AssistReason reason);
- ~QmlJSQuickFixAssistInterface();
+ ~QmlJSQuickFixAssistInterface() override;
const QmlJSTools::SemanticInfo &semanticInfo() const;
QmlJSTools::QmlJSRefactoringFilePtr currentFile() const;
@@ -54,7 +54,7 @@ class QmlJSQuickFixAssistProvider : public TextEditor::IAssistProvider
{
public:
QmlJSQuickFixAssistProvider() = default;
- ~QmlJSQuickFixAssistProvider() = default;
+ ~QmlJSQuickFixAssistProvider() override = default;
IAssistProvider::RunType runType() const override;
TextEditor::IAssistProcessor *createProcessor() const override;
diff --git a/src/plugins/qmljseditor/qmljsquickfixes.cpp b/src/plugins/qmljseditor/qmljsquickfixes.cpp
index e1afb05275..d0f63d74ae 100644
--- a/src/plugins/qmljseditor/qmljsquickfixes.cpp
+++ b/src/plugins/qmljseditor/qmljsquickfixes.cpp
@@ -73,9 +73,9 @@ public:
}
void performChanges(QmlJSRefactoringFilePtr currentFile,
- const QmlJSRefactoringChanges &)
+ const QmlJSRefactoringChanges &) override
{
- Q_ASSERT(_objectInitializer != 0);
+ Q_ASSERT(_objectInitializer);
Utils::ChangeSet changes;
@@ -101,16 +101,16 @@ public:
void matchSplitInitializerQuickFix(const QmlJSQuickFixInterface &interface, QuickFixOperations &result)
{
- UiObjectInitializer *objectInitializer = 0;
+ UiObjectInitializer *objectInitializer = nullptr;
const int pos = interface->currentFile()->cursor().position();
if (Node *member = interface->semanticInfo().rangeAt(pos)) {
- if (UiObjectBinding *b = AST::cast<UiObjectBinding *>(member)) {
+ if (auto b = AST::cast<const UiObjectBinding *>(member)) {
if (b->initializer->lbraceToken.startLine == b->initializer->rbraceToken.startLine)
objectInitializer = b->initializer;
- } else if (UiObjectDefinition *b = AST::cast<UiObjectDefinition *>(member)) {
+ } else if (auto b = AST::cast<const UiObjectDefinition *>(member)) {
if (b->initializer->lbraceToken.startLine == b->initializer->rbraceToken.startLine)
objectInitializer = b->initializer;
}
diff --git a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
index c464b38092..cca1909cb4 100644
--- a/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
+++ b/src/plugins/qmljseditor/qmljssemantichighlighter.cpp
@@ -72,7 +72,7 @@ static bool isIdScope(const ObjectValue *scope, const QList<const QmlComponentCh
class CollectStateNames : protected Visitor
{
QStringList m_stateNames;
- bool m_inStateType;
+ bool m_inStateType = false;
ScopeChain m_scopeChain;
const CppComponentValue *m_statePrototype;
@@ -100,7 +100,7 @@ protected:
ast->accept(this);
}
- bool preVisit(Node *ast)
+ bool preVisit(Node *ast) override
{
return ast->uiObjectMemberCast()
|| cast<UiProgram *>(ast)
@@ -127,7 +127,7 @@ protected:
return false;
}
- bool visit(UiObjectDefinition *ast)
+ bool visit(UiObjectDefinition *ast) override
{
const bool old = m_inStateType;
m_inStateType = hasStatePrototype(ast);
@@ -136,7 +136,7 @@ protected:
return false;
}
- bool visit(UiObjectBinding *ast)
+ bool visit(UiObjectBinding *ast) override
{
const bool old = m_inStateType;
m_inStateType = hasStatePrototype(ast);
@@ -145,7 +145,7 @@ protected:
return false;
}
- bool visit(UiScriptBinding *ast)
+ bool visit(UiScriptBinding *ast) override
{
if (!m_inStateType)
return false;
@@ -154,10 +154,10 @@ protected:
if (ast->qualifiedId->name != QLatin1String("name"))
return false;
- ExpressionStatement *expStmt = cast<ExpressionStatement *>(ast->statement);
+ auto expStmt = cast<const ExpressionStatement *>(ast->statement);
if (!expStmt)
return false;
- StringLiteral *strLit = cast<StringLiteral *>(expStmt->expression);
+ auto strLit = cast<const StringLiteral *>(expStmt->expression);
if (!strLit || strLit->value.isEmpty())
return false;
@@ -237,7 +237,7 @@ protected:
return;
const QString &nameStr = name.toString();
- const ObjectValue *scope = 0;
+ const ObjectValue *scope = nullptr;
const Value *value = m_scopeChain.lookup(nameStr, &scope);
if (!value || !scope)
return;
@@ -284,13 +284,13 @@ protected:
addUse(fullLocationForQualifiedId(localId), SemanticHighlighter::BindingNameType);
}
- bool visit(UiImport *ast)
+ bool visit(UiImport *ast) override
{
processName(ast->importId, ast->importIdToken);
return true;
}
- bool visit(UiObjectDefinition *ast)
+ bool visit(UiObjectDefinition *ast) override
{
if (m_scopeChain.document()->bind()->isGroupedPropertyBinding(ast))
processBindingName(ast->qualifiedTypeNameId);
@@ -300,7 +300,7 @@ protected:
return false;
}
- bool visit(UiObjectBinding *ast)
+ bool visit(UiObjectBinding *ast) override
{
processTypeId(ast->qualifiedTypeNameId);
processBindingName(ast->qualifiedId);
@@ -308,20 +308,20 @@ protected:
return false;
}
- bool visit(UiScriptBinding *ast)
+ bool visit(UiScriptBinding *ast) override
{
processBindingName(ast->qualifiedId);
scopedAccept(ast, ast->statement);
return false;
}
- bool visit(UiArrayBinding *ast)
+ bool visit(UiArrayBinding *ast) override
{
processBindingName(ast->qualifiedId);
return true;
}
- bool visit(UiPublicMember *ast)
+ bool visit(UiPublicMember *ast) override
{
if (ast->typeToken.isValid()) { // TODO: ast->isValid() ?
if (m_scopeChain.context()->lookupType(m_scopeChain.document().data(), QStringList(ast->memberType->name.toString())))
@@ -338,32 +338,32 @@ protected:
return false;
}
- bool visit(FunctionExpression *ast)
+ bool visit(FunctionExpression *ast) override
{
processName(ast->name, ast->identifierToken);
scopedAccept(ast, ast->body);
return false;
}
- bool visit(FunctionDeclaration *ast)
+ bool visit(FunctionDeclaration *ast) override
{
return visit(static_cast<FunctionExpression *>(ast));
}
- bool visit(PatternElement *ast)
+ bool visit(PatternElement *ast) override
{
if (ast->isVariableDeclaration())
processName(ast->bindingIdentifier, ast->identifierToken);
return true;
}
- bool visit(IdentifierExpression *ast)
+ bool visit(IdentifierExpression *ast) override
{
processName(ast->name, ast->identifierToken);
return false;
}
- bool visit(StringLiteral *ast)
+ bool visit(StringLiteral *ast) override
{
if (ast->value.isEmpty())
return false;
diff --git a/src/plugins/qmljseditor/qmljssemantichighlighter.h b/src/plugins/qmljseditor/qmljssemantichighlighter.h
index f1714b7a8e..42525c7385 100644
--- a/src/plugins/qmljseditor/qmljssemantichighlighter.h
+++ b/src/plugins/qmljseditor/qmljssemantichighlighter.h
@@ -66,7 +66,7 @@ public:
Max // number of the last used value (to generate the warning formats)
};
- typedef TextEditor::HighlightingResult Use;
+ using Use = TextEditor::HighlightingResult;
SemanticHighlighter(QmlJSEditorDocument *document);
diff --git a/src/plugins/qmljseditor/qmljssemanticinfoupdater.cpp b/src/plugins/qmljseditor/qmljssemanticinfoupdater.cpp
index 7cd3b4704c..41dd48a0d7 100644
--- a/src/plugins/qmljseditor/qmljssemanticinfoupdater.cpp
+++ b/src/plugins/qmljseditor/qmljssemanticinfoupdater.cpp
@@ -47,9 +47,7 @@ SemanticInfoUpdater::SemanticInfoUpdater(QObject *parent)
{
}
-SemanticInfoUpdater::~SemanticInfoUpdater()
-{
-}
+SemanticInfoUpdater::~SemanticInfoUpdater() = default;
void SemanticInfoUpdater::abort()
{
@@ -121,7 +119,7 @@ QmlJSTools::SemanticInfo SemanticInfoUpdater::makeNewSemanticInfo(const QmlJS::D
Link link(semanticInfo.snapshot, modelManager->defaultVContext(doc->language(), doc), modelManager->builtins(doc));
semanticInfo.context = link(doc, &semanticInfo.semanticMessages);
- ScopeChain *scopeChain = new ScopeChain(doc, semanticInfo.context);
+ auto scopeChain = new ScopeChain(doc, semanticInfo.context);
semanticInfo.setRootScopeChain(QSharedPointer<const ScopeChain>(scopeChain));
if (doc->language() == Dialect::Json) {
diff --git a/src/plugins/qmljseditor/qmljssemanticinfoupdater.h b/src/plugins/qmljseditor/qmljssemanticinfoupdater.h
index 0bc3533a42..85a3fce29f 100644
--- a/src/plugins/qmljseditor/qmljssemanticinfoupdater.h
+++ b/src/plugins/qmljseditor/qmljssemanticinfoupdater.h
@@ -40,8 +40,8 @@ class SemanticInfoUpdater: public QThread
Q_OBJECT
public:
- SemanticInfoUpdater(QObject *parent = 0);
- virtual ~SemanticInfoUpdater();
+ SemanticInfoUpdater(QObject *parent = nullptr);
+ ~SemanticInfoUpdater() override;
void abort();
void update(const QmlJS::Document::Ptr &doc, const QmlJS::Snapshot &snapshot);
@@ -51,7 +51,7 @@ signals:
void updated(const QmlJSTools::SemanticInfo &semanticInfo);
protected:
- virtual void run();
+ void run() override;
private:
QmlJSTools::SemanticInfo makeNewSemanticInfo(const QmlJS::Document::Ptr &doc,
diff --git a/src/plugins/qmljseditor/qmljstextmark.cpp b/src/plugins/qmljseditor/qmljstextmark.cpp
index 4eac11b2c6..7c427a4d00 100644
--- a/src/plugins/qmljseditor/qmljstextmark.cpp
+++ b/src/plugins/qmljseditor/qmljstextmark.cpp
@@ -86,7 +86,7 @@ void QmlJSTextMark::removedFromEditor()
m_removedFromEditorHandler(this);
}
-void QmlJSTextMark::init(bool warning, const QString message)
+void QmlJSTextMark::init(bool warning, const QString &message)
{
setIcon(warning ? Utils::Icons::CODEMODEL_WARNING.icon()
: Utils::Icons::CODEMODEL_ERROR.icon());
diff --git a/src/plugins/qmljseditor/qmljstextmark.h b/src/plugins/qmljseditor/qmljstextmark.h
index fb3fe684d6..e9bc567451 100644
--- a/src/plugins/qmljseditor/qmljstextmark.h
+++ b/src/plugins/qmljseditor/qmljstextmark.h
@@ -47,7 +47,7 @@ public:
private:
void removedFromEditor() override;
- void init(bool warning, const QString message);
+ void init(bool warning, const QString &message);
private:
RemovedFromEditorHandler m_removedFromEditorHandler;
diff --git a/src/plugins/qmljseditor/qmljswrapinloader.cpp b/src/plugins/qmljseditor/qmljswrapinloader.cpp
index 509a1daf9d..3766dcdbbf 100644
--- a/src/plugins/qmljseditor/qmljswrapinloader.cpp
+++ b/src/plugins/qmljseditor/qmljswrapinloader.cpp
@@ -52,7 +52,7 @@ namespace {
class FindIds : protected Visitor
{
public:
- typedef QHash<QString, SourceLocation> Result;
+ using Result = QHash<QString, SourceLocation>;
Result operator()(Node *node)
{
@@ -87,7 +87,7 @@ public:
: QmlJSQuickFixOperation(interface, 0)
, m_objDef(objDef)
{
- Q_ASSERT(m_objDef != 0);
+ Q_ASSERT(m_objDef);
setDescription(tr("Wrap Component in Loader"));
}
@@ -96,7 +96,7 @@ public:
{
QString tryName = base;
int extraNumber = 1;
- const ObjectValue *found = 0;
+ const ObjectValue *found = nullptr;
const ScopeChain &scope = assistInterface()->semanticInfo().scopeChain();
forever {
scope.lookup(tryName, &found);
@@ -181,7 +181,7 @@ void matchWrapInLoaderQuickFix(const QmlJSQuickFixInterface &interface, QuickFix
QList<Node *> path = interface->semanticInfo().rangePath(pos);
for (int i = path.size() - 1; i >= 0; --i) {
Node *node = path.at(i);
- if (UiObjectDefinition *objDef = cast<UiObjectDefinition *>(node)) {
+ if (auto objDef = cast<UiObjectDefinition *>(node)) {
if (!interface->currentFile()->isCursorOn(objDef->qualifiedTypeNameId))
return;
// check that the node is not the root node
@@ -189,7 +189,7 @@ void matchWrapInLoaderQuickFix(const QmlJSQuickFixInterface &interface, QuickFix
result << new Operation<UiObjectDefinition>(interface, objDef);
return;
}
- } else if (UiObjectBinding *objBinding = cast<UiObjectBinding *>(node)) {
+ } else if (auto objBinding = cast<UiObjectBinding *>(node)) {
if (!interface->currentFile()->isCursorOn(objBinding->qualifiedTypeNameId))
return;
result << new Operation<UiObjectBinding>(interface, objBinding);
diff --git a/src/plugins/qmljseditor/qmloutlinemodel.cpp b/src/plugins/qmljseditor/qmloutlinemodel.cpp
index 647a733a77..15c7c2fa0c 100644
--- a/src/plugins/qmljseditor/qmloutlinemodel.cpp
+++ b/src/plugins/qmljseditor/qmloutlinemodel.cpp
@@ -131,14 +131,14 @@ private:
QHash<AST::UiObjectMember*,AST::UiObjectMember*> parent;
QList<AST::UiObjectMember *> stack;
- bool preVisit(AST::Node *node)
+ bool preVisit(AST::Node *node) override
{
if (AST::UiObjectMember *objMember = node->uiObjectMemberCast())
stack.append(objMember);
return true;
}
- void postVisit(AST::Node *node)
+ void postVisit(AST::Node *node) override
{
if (AST::UiObjectMember *objMember = node->uiObjectMemberCast()) {
stack.removeLast();
@@ -169,7 +169,7 @@ public:
}
private:
- bool preVisit(AST::Node *node)
+ bool preVisit(AST::Node *node) override
{
if (!node)
return false;
@@ -178,37 +178,37 @@ private:
return true;
}
- void postVisit(AST::Node *)
+ void postVisit(AST::Node *) override
{
indent--;
}
- typedef QPair<QString,QString> ElementType;
- bool visit(AST::UiObjectDefinition *objDef)
+ using ElementType = QPair<QString,QString>;
+ bool visit(AST::UiObjectDefinition *objDef) override
{
QModelIndex index = m_model->enterObjectDefinition(objDef);
m_nodeToIndex.insert(objDef, index);
return true;
}
- void endVisit(AST::UiObjectDefinition * /*objDef*/)
+ void endVisit(AST::UiObjectDefinition * /*objDef*/) override
{
m_model->leaveObjectDefiniton();
}
- bool visit(AST::UiObjectBinding *objBinding)
+ bool visit(AST::UiObjectBinding *objBinding) override
{
QModelIndex index = m_model->enterObjectBinding(objBinding);
m_nodeToIndex.insert(objBinding, index);
return true;
}
- void endVisit(AST::UiObjectBinding * /*objBinding*/)
+ void endVisit(AST::UiObjectBinding * /*objBinding*/) override
{
m_model->leaveObjectBinding();
}
- bool visit(AST::UiArrayBinding *arrayBinding)
+ bool visit(AST::UiArrayBinding *arrayBinding) override
{
QModelIndex index = m_model->enterArrayBinding(arrayBinding);
m_nodeToIndex.insert(arrayBinding, index);
@@ -216,12 +216,12 @@ private:
return true;
}
- void endVisit(AST::UiArrayBinding * /*arrayBinding*/)
+ void endVisit(AST::UiArrayBinding * /*arrayBinding*/) override
{
m_model->leaveArrayBinding();
}
- bool visit(AST::UiScriptBinding *scriptBinding)
+ bool visit(AST::UiScriptBinding *scriptBinding) override
{
QModelIndex index = m_model->enterScriptBinding(scriptBinding);
m_nodeToIndex.insert(scriptBinding, index);
@@ -229,12 +229,12 @@ private:
return true;
}
- void endVisit(AST::UiScriptBinding * /*scriptBinding*/)
+ void endVisit(AST::UiScriptBinding * /*scriptBinding*/) override
{
m_model->leaveScriptBinding();
}
- bool visit(AST::UiPublicMember *publicMember)
+ bool visit(AST::UiPublicMember *publicMember) override
{
QModelIndex index = m_model->enterPublicMember(publicMember);
m_nodeToIndex.insert(publicMember, index);
@@ -242,12 +242,12 @@ private:
return true;
}
- void endVisit(AST::UiPublicMember * /*publicMember*/)
+ void endVisit(AST::UiPublicMember * /*publicMember*/) override
{
m_model->leavePublicMember();
}
- bool visit(AST::FunctionDeclaration *functionDeclaration)
+ bool visit(AST::FunctionDeclaration *functionDeclaration) override
{
QModelIndex index = m_model->enterFunctionDeclaration(functionDeclaration);
m_nodeToIndex.insert(functionDeclaration, index);
@@ -255,15 +255,15 @@ private:
return true;
}
- void endVisit(AST::FunctionDeclaration * /*functionDeclaration*/)
+ void endVisit(AST::FunctionDeclaration * /*functionDeclaration*/) override
{
m_model->leaveFunctionDeclaration();
}
- bool visit(AST::BinaryExpression *binExp)
+ bool visit(AST::BinaryExpression *binExp) override
{
- AST::IdentifierExpression *lhsIdent = AST::cast<AST::IdentifierExpression *>(binExp->left);
- AST::ObjectPattern *rhsObjLit = AST::cast<AST::ObjectPattern *>(binExp->right);
+ auto lhsIdent = AST::cast<const AST::IdentifierExpression *>(binExp->left);
+ auto rhsObjLit = AST::cast<AST::ObjectPattern *>(binExp->right);
if (lhsIdent && rhsObjLit && (lhsIdent->name == QLatin1String("testcase"))
&& (binExp->op == QSOperator::Assign)) {
@@ -295,8 +295,8 @@ private:
while (properties) {
QModelIndex index = m_model->enterTestCaseProperties(properties);
m_nodeToIndex.insert(properties, index);
- if (AST::PatternProperty *assignment = AST::cast<AST::PatternProperty *>(properties->property))
- if (AST::ObjectPattern *objLiteral = AST::cast<AST::ObjectPattern *>(assignment->initializer))
+ if (auto assignment = AST::cast<const AST::PatternProperty *>(properties->property))
+ if (auto objLiteral = AST::cast<const AST::ObjectPattern *>(assignment->initializer))
visitProperties(objLiteral->properties);
m_model->leaveTestCaseProperties();
@@ -333,16 +333,14 @@ QStringList QmlOutlineModel::mimeTypes() const
QMimeData *QmlOutlineModel::mimeData(const QModelIndexList &indexes) const
{
if (indexes.count() <= 0)
- return 0;
+ return nullptr;
auto data = new Utils::DropMimeData;
data->setOverrideFileDropAction(Qt::CopyAction);
QByteArray encoded;
QDataStream stream(&encoded, QIODevice::WriteOnly);
stream << indexes.size();
- for (int i = 0; i < indexes.size(); ++i) {
- QModelIndex index = indexes.at(i);
-
+ for (const auto &index : indexes) {
AST::SourceLocation location = sourceLocation(index);
data->addFile(m_editorDocument->filePath().toString(), location.startLine,
location.startColumn - 1 /*editors have 0-based column*/);
@@ -399,7 +397,7 @@ bool QmlOutlineModel::dropMimeData(const QMimeData *data, Qt::DropAction action,
itemsToMove << static_cast<QmlOutlineItem*>(itemFromIndex(index));
}
- QmlOutlineItem *targetItem = static_cast<QmlOutlineItem*>(itemFromIndex(parent));
+ auto targetItem = static_cast<QmlOutlineItem*>(itemFromIndex(parent));
reparentNodes(targetItem, row, itemsToMove);
// Prevent view from calling removeRow() on it's own
@@ -474,7 +472,7 @@ QModelIndex QmlOutlineModel::enterObjectDefinition(AST::UiObjectDefinition *objD
const QString typeName = asString(objDef->qualifiedTypeNameId);
QMap<int, QVariant> data;
- AST::UiQualifiedId *idNode = 0;
+ AST::UiQualifiedId *idNode = nullptr;
QIcon icon;
data.insert(Qt::DisplayRole, typeName);
@@ -575,7 +573,7 @@ QModelIndex QmlOutlineModel::enterPublicMember(AST::UiPublicMember *publicMember
objectData.insert(AnnotationRole, getAnnotation(publicMember->statement));
objectData.insert(ItemTypeRole, NonElementBindingType);
- QmlOutlineItem *item = enterNode(objectData, publicMember, 0, Icons::publicMemberIcon());
+ QmlOutlineItem *item = enterNode(objectData, publicMember, nullptr, Icons::publicMemberIcon());
return item->index();
}
@@ -610,7 +608,8 @@ QModelIndex QmlOutlineModel::enterFunctionDeclaration(AST::FunctionDeclaration *
functionDeclaration->formals));
objectData.insert(ItemTypeRole, ElementBindingType);
- QmlOutlineItem *item = enterNode(objectData, functionDeclaration, 0, Icons::functionDeclarationIcon());
+ QmlOutlineItem *item = enterNode(objectData, functionDeclaration, nullptr,
+ Icons::functionDeclarationIcon());
return item->index();
}
@@ -640,7 +639,8 @@ QModelIndex QmlOutlineModel::enterFieldMemberExpression(AST::FieldMemberExpressi
objectData.insert(Qt::DisplayRole, display);
objectData.insert(ItemTypeRole, ElementBindingType);
- QmlOutlineItem *item = enterNode(objectData, expression, 0, m_icons->functionDeclarationIcon());
+ QmlOutlineItem *item = enterNode(objectData, expression, nullptr,
+ m_icons->functionDeclarationIcon());
return item->index();
}
@@ -657,7 +657,8 @@ QModelIndex QmlOutlineModel::enterTestCase(AST::ObjectPattern *objectLiteral)
objectData.insert(Qt::DisplayRole, QLatin1String("testcase"));
objectData.insert(ItemTypeRole, ElementBindingType);
- QmlOutlineItem *item = enterNode(objectData, objectLiteral, 0, Icons::objectDefinitionIcon());
+ QmlOutlineItem *item = enterNode(objectData, objectLiteral, nullptr,
+ Icons::objectDefinitionIcon());
return item->index();
}
@@ -670,29 +671,29 @@ void QmlOutlineModel::leaveTestCase()
QModelIndex QmlOutlineModel::enterTestCaseProperties(AST::PatternPropertyList *propertyAssignmentList)
{
QMap<int, QVariant> objectData;
- if (AST::PatternProperty *assignment = AST::cast<AST::PatternProperty *>(
+ if (auto assignment = AST::cast<AST::PatternProperty *>(
propertyAssignmentList->property)) {
- if (AST::IdentifierPropertyName *propertyName = AST::cast<AST::IdentifierPropertyName *>(assignment->name)) {
+ if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(assignment->name)) {
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
objectData.insert(ItemTypeRole, ElementBindingType);
QmlOutlineItem *item;
if (assignment->initializer->kind == AST::Node::Kind_FunctionExpression)
- item = enterNode(objectData, assignment, 0, Icons::functionDeclarationIcon());
+ item = enterNode(objectData, assignment, nullptr, Icons::functionDeclarationIcon());
else if (assignment->initializer->kind == AST::Node::Kind_ObjectPattern)
- item = enterNode(objectData, assignment, 0, Icons::objectDefinitionIcon());
+ item = enterNode(objectData, assignment, nullptr, Icons::objectDefinitionIcon());
else
- item = enterNode(objectData, assignment, 0, Icons::scriptBindingIcon());
+ item = enterNode(objectData, assignment, nullptr, Icons::scriptBindingIcon());
return item->index();
}
}
- if (AST::PatternProperty *getterSetter = AST::cast<AST::PatternProperty *>(
+ if (auto getterSetter = AST::cast<AST::PatternProperty *>(
propertyAssignmentList->property)) {
- if (AST::IdentifierPropertyName *propertyName = AST::cast<AST::IdentifierPropertyName *>(getterSetter->name)) {
+ if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(getterSetter->name)) {
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
objectData.insert(ItemTypeRole, ElementBindingType);
QmlOutlineItem *item;
- item = enterNode(objectData, getterSetter, 0, Icons::functionDeclarationIcon());
+ item = enterNode(objectData, getterSetter, nullptr, Icons::functionDeclarationIcon());
return item->index();
@@ -708,14 +709,14 @@ void QmlOutlineModel::leaveTestCaseProperties()
AST::Node *QmlOutlineModel::nodeForIndex(const QModelIndex &index) const
{
- QTC_ASSERT(index.isValid() && (index.model() == this), return 0);
+ QTC_ASSERT(index.isValid() && (index.model() == this), return nullptr);
if (index.isValid()) {
- QmlOutlineItem *item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
- QTC_ASSERT(item, return 0);
- QTC_ASSERT(m_itemToNode.contains(item), return 0);
+ auto item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
+ QTC_ASSERT(item, return nullptr);
+ QTC_ASSERT(m_itemToNode.contains(item), return nullptr);
return m_itemToNode.value(item);
}
- return 0;
+ return nullptr;
}
AST::SourceLocation QmlOutlineModel::sourceLocation(const QModelIndex &index) const
@@ -728,7 +729,7 @@ AST::SourceLocation QmlOutlineModel::sourceLocation(const QModelIndex &index) co
location = getLocation(member);
else if (AST::ExpressionNode *expression = node->expressionCast())
location = getLocation(expression);
- else if (AST::PatternPropertyList *propertyAssignmentList = AST::cast<AST::PatternPropertyList *>(node))
+ else if (auto propertyAssignmentList = AST::cast<AST::PatternPropertyList *>(node))
location = getLocation(propertyAssignmentList);
}
return location;
@@ -736,22 +737,22 @@ AST::SourceLocation QmlOutlineModel::sourceLocation(const QModelIndex &index) co
AST::UiQualifiedId *QmlOutlineModel::idNode(const QModelIndex &index) const
{
- QTC_ASSERT(index.isValid() && (index.model() == this), return 0);
- QmlOutlineItem *item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
+ QTC_ASSERT(index.isValid() && (index.model() == this), return nullptr);
+ auto item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
return m_itemToIdNode.value(item);
}
QIcon QmlOutlineModel::icon(const QModelIndex &index) const
{
QTC_ASSERT(index.isValid() && (index.model() == this), return QIcon());
- QmlOutlineItem *item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
+ auto item = static_cast<QmlOutlineItem*>(itemFromIndex(index));
return m_itemToIcon.value(item);
}
QmlOutlineItem *QmlOutlineModel::enterNode(QMap<int, QVariant> data, AST::Node *node, AST::UiQualifiedId *idNode, const QIcon &icon)
{
int siblingIndex = m_treePos.last();
- QmlOutlineItem *newItem = 0;
+ QmlOutlineItem *newItem = nullptr;
if (siblingIndex == 0) {
// first child
if (!m_currentItem->hasChildren()) {
@@ -827,19 +828,18 @@ void QmlOutlineModel::reparentNodes(QmlOutlineItem *targetItem, int row, QList<Q
QList<Utils::ChangeSet::Range> changedRanges;
- for (int i = 0; i < itemsToMove.size(); ++i) {
- QmlOutlineItem *outlineItem = itemsToMove.at(i);
+ for (auto outlineItem : itemsToMove) {
AST::UiObjectMember *sourceObjectMember = m_itemToNode.value(outlineItem)->uiObjectMemberCast();
if (!sourceObjectMember)
return;
bool insertionOrderSpecified = true;
- AST::UiObjectMember *memberToInsertAfter = 0;
+ AST::UiObjectMember *memberToInsertAfter = nullptr;
{
if (row == -1) {
insertionOrderSpecified = false;
} else if (row > 0) {
- QmlOutlineItem *outlineItem = static_cast<QmlOutlineItem*>(targetItem->child(row - 1));
+ auto outlineItem = static_cast<QmlOutlineItem*>(targetItem->child(row - 1));
memberToInsertAfter = m_itemToNode.value(outlineItem)->uiObjectMemberCast();
}
}
@@ -888,8 +888,8 @@ void QmlOutlineModel::moveObjectMember(AST::UiObjectMember *toMove,
Rewriter rewriter(documentText, changeSet, QStringList());
- if (AST::UiObjectDefinition *objDefinition = AST::cast<AST::UiObjectDefinition*>(newParent)) {
- AST::UiObjectMemberList *listInsertAfter = 0;
+ if (auto objDefinition = AST::cast<const AST::UiObjectDefinition*>(newParent)) {
+ AST::UiObjectMemberList *listInsertAfter = nullptr;
if (insertionOrderSpecified) {
if (insertAfter) {
listInsertAfter = objDefinition->initializer->members;
@@ -898,7 +898,7 @@ void QmlOutlineModel::moveObjectMember(AST::UiObjectMember *toMove,
}
}
- if (AST::UiScriptBinding *moveScriptBinding = AST::cast<AST::UiScriptBinding*>(toMove)) {
+ if (auto moveScriptBinding = AST::cast<const AST::UiScriptBinding*>(toMove)) {
const QString propertyName = asString(moveScriptBinding->qualifiedId);
QString propertyValue;
{
@@ -925,8 +925,8 @@ void QmlOutlineModel::moveObjectMember(AST::UiObjectMember *toMove,
else
*addedRange = rewriter.addObject(objDefinition->initializer, strToMove);
}
- } else if (AST::UiArrayBinding *arrayBinding = AST::cast<AST::UiArrayBinding*>(newParent)) {
- AST::UiArrayMemberList *listInsertAfter = 0;
+ } else if (auto arrayBinding = AST::cast<AST::UiArrayBinding*>(newParent)) {
+ AST::UiArrayMemberList *listInsertAfter = nullptr;
if (insertionOrderSpecified) {
if (insertAfter) {
listInsertAfter = arrayBinding->members;
@@ -1000,7 +1000,7 @@ AST::SourceLocation QmlOutlineModel::getLocation(AST::ExpressionNode *exprNode)
}
AST::SourceLocation QmlOutlineModel::getLocation(AST::PatternPropertyList *propertyNode) {
- if (AST::PatternProperty *assignment = AST::cast<AST::PatternProperty *>(propertyNode->property))
+ if (auto assignment = AST::cast<AST::PatternProperty *>(propertyNode->property))
return getLocation(assignment);
return propertyNode->firstSourceLocation(); // should never happen
}
@@ -1045,7 +1045,7 @@ QString QmlOutlineModel::getAnnotation(AST::UiObjectInitializer *objectInitializ
QString QmlOutlineModel::getAnnotation(AST::Statement *statement)
{
- if (AST::ExpressionStatement *expr = AST::cast<AST::ExpressionStatement*>(statement))
+ if (auto expr = AST::cast<const AST::ExpressionStatement*>(statement))
return getAnnotation(expr->expression);
return QString();
}
@@ -1065,7 +1065,7 @@ QString QmlOutlineModel::getAnnotation(AST::ExpressionNode *expression)
QHash<QString,QString> QmlOutlineModel::getScriptBindings(AST::UiObjectInitializer *objectInitializer) {
QHash <QString,QString> scriptBindings;
for (AST::UiObjectMemberList *it = objectInitializer->members; it; it = it->next) {
- if (AST::UiScriptBinding *binding = AST::cast<AST::UiScriptBinding*>(it->member)) {
+ if (auto binding = AST::cast<const AST::UiScriptBinding*>(it->member)) {
const QString bindingName = asString(binding->qualifiedId);
scriptBindings.insert(bindingName, getAnnotation(binding->statement));
}
diff --git a/src/plugins/qmljseditor/qmloutlinemodel.h b/src/plugins/qmljseditor/qmloutlinemodel.h
index fddbd2f7c6..17dd08abd8 100644
--- a/src/plugins/qmljseditor/qmloutlinemodel.h
+++ b/src/plugins/qmljseditor/qmloutlinemodel.h
@@ -48,8 +48,8 @@ public:
QmlOutlineItem(QmlOutlineModel *model);
// QStandardItem
- QVariant data(int role = Qt::UserRole + 1) const;
- int type() const;
+ QVariant data(int role = Qt::UserRole + 1) const override;
+ int type() const override;
void setItemData(const QMap<int, QVariant> &roles);
@@ -79,12 +79,12 @@ public:
QmlOutlineModel(QmlJSEditorDocument *document);
// QStandardItemModel
- QStringList mimeTypes() const;
- QMimeData *mimeData(const QModelIndexList &indexes) const;
- bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
- Qt::ItemFlags flags(const QModelIndex &index) const;
- Qt::DropActions supportedDragActions() const;
- Qt::DropActions supportedDropActions() const;
+ QStringList mimeTypes() const override;
+ QMimeData *mimeData(const QModelIndexList &indexes) const override;
+ bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
+ Qt::ItemFlags flags(const QModelIndex &index) const override;
+ Qt::DropActions supportedDragActions() const override;
+ Qt::DropActions supportedDropActions() const override;
QmlJS::Document::Ptr document() const;
void update(const QmlJSTools::SemanticInfo &semanticInfo);
diff --git a/src/plugins/qmljseditor/quicktoolbar.cpp b/src/plugins/qmljseditor/quicktoolbar.cpp
index 41c1bea114..f83cc2e13e 100644
--- a/src/plugins/qmljseditor/quicktoolbar.cpp
+++ b/src/plugins/qmljseditor/quicktoolbar.cpp
@@ -57,7 +57,7 @@ static inline const ObjectValue * getPropertyChangesTarget(Node *node, const Sco
UiObjectInitializer *initializer = initializerOfObject(node);
if (initializer) {
for (UiObjectMemberList *members = initializer->members; members; members = members->next) {
- if (UiScriptBinding *scriptBinding = cast<UiScriptBinding *>(members->member)) {
+ if (auto scriptBinding = cast<const UiScriptBinding *>(members->member)) {
if (scriptBinding->qualifiedId
&& scriptBinding->qualifiedId->name == QLatin1String("target")
&& ! scriptBinding->qualifiedId->next) {
@@ -66,12 +66,12 @@ static inline const ObjectValue * getPropertyChangesTarget(Node *node, const Sco
if (const ObjectValue *targetObject = value_cast<ObjectValue>(targetValue))
return targetObject;
else
- return 0;
+ return nullptr;
}
}
}
}
- return 0;
+ return nullptr;
}
QuickToolBar::QuickToolBar()
@@ -105,7 +105,7 @@ QuickToolBar::QuickToolBar()
QuickToolBar::~QuickToolBar()
{
delete m_widget.data();
- m_widget = 0;
+ m_widget = nullptr;
}
void QuickToolBar::apply(TextEditor::TextEditorWidget *editorWidget, Document::Ptr document, const ScopeChain *scopeChain, Node *node, bool update, bool force)
@@ -153,13 +153,13 @@ void QuickToolBar::apply(TextEditor::TextEditorWidget *editorWidget, Document::P
contextWidget()->colorDialog()->setParent(editorWidget->parentWidget());
if (cast<UiObjectDefinition*>(node) || cast<UiObjectBinding*>(node)) {
- UiObjectDefinition *objectDefinition = cast<UiObjectDefinition*>(node);
- UiObjectBinding *objectBinding = cast<UiObjectBinding*>(node);
+ auto objectDefinition = cast<const UiObjectDefinition*>(node);
+ auto objectBinding = cast<const UiObjectBinding*>(node);
QString name;
quint32 offset = 0;
quint32 end = 0;
- UiObjectInitializer *initializer = 0;
+ UiObjectInitializer *initializer = nullptr;
if (objectDefinition) {
name = objectDefinition->qualifiedTypeNameId->name.toString();
initializer = objectDefinition->initializer;
@@ -199,7 +199,7 @@ void QuickToolBar::apply(TextEditor::TextEditorWidget *editorWidget, Document::P
reg = reg.intersected(rect);
if (contextWidget()->acceptsType(m_prototypes)) {
- m_node = 0;
+ m_node = nullptr;
PropertyReader propertyReader(document, initializer);
QTextCursor tc = m_editorWidget->textCursor();
tc.setPosition(offset);
@@ -224,12 +224,12 @@ void QuickToolBar::apply(TextEditor::TextEditorWidget *editorWidget, Document::P
m_doc = document;
m_node = node;
} else {
- contextWidget()->setParent(0);
+ contextWidget()->setParent(nullptr);
contextWidget()->hide();
contextWidget()->colorDialog()->hide();
}
} else {
- contextWidget()->setParent(0);
+ contextWidget()->setParent(nullptr);
contextWidget()->hide();
contextWidget()->colorDialog()->hide();
}
@@ -248,8 +248,8 @@ bool QuickToolBar::isAvailable(TextEditor::TextEditorWidget *, Document::Ptr doc
QString name;
- UiObjectDefinition *objectDefinition = cast<UiObjectDefinition*>(node);
- UiObjectBinding *objectBinding = cast<UiObjectBinding*>(node);
+ auto objectDefinition = cast<const UiObjectDefinition*>(node);
+ auto objectBinding = cast<const UiObjectBinding*>(node);
if (objectDefinition)
name = objectDefinition->qualifiedTypeNameId->name.toString();
@@ -281,10 +281,10 @@ void QuickToolBar::setProperty(const QString &propertyName, const QVariant &valu
stringValue = QLatin1Char('\"') + value.toString() + QLatin1Char('\"');
if (cast<UiObjectDefinition*>(m_node) || cast<UiObjectBinding*>(m_node)) {
- UiObjectDefinition *objectDefinition = cast<UiObjectDefinition*>(m_node);
- UiObjectBinding *objectBinding = cast<UiObjectBinding*>(m_node);
+ auto objectDefinition = cast<const UiObjectDefinition*>(m_node);
+ auto objectBinding = cast<const UiObjectBinding*>(m_node);
- UiObjectInitializer *initializer = 0;
+ UiObjectInitializer *initializer = nullptr;
if (objectDefinition)
initializer = objectDefinition->initializer;
else if (objectBinding)
@@ -326,10 +326,10 @@ void QuickToolBar::setProperty(const QString &propertyName, const QVariant &valu
void QuickToolBar::removeProperty(const QString &propertyName)
{
if (cast<UiObjectDefinition*>(m_node) || cast<UiObjectBinding*>(m_node)) {
- UiObjectDefinition *objectDefinition = cast<UiObjectDefinition*>(m_node);
- UiObjectBinding *objectBinding = cast<UiObjectBinding*>(m_node);
+ auto objectDefinition = cast<const UiObjectDefinition*>(m_node);
+ auto objectBinding = cast<const UiObjectBinding*>(m_node);
- UiObjectInitializer *initializer = 0;
+ UiObjectInitializer *initializer = nullptr;
if (objectDefinition)
initializer = objectDefinition->initializer;
else if (objectBinding)
diff --git a/src/plugins/qmljseditor/quicktoolbar.h b/src/plugins/qmljseditor/quicktoolbar.h
index 42a71abbce..e781bdb1d4 100644
--- a/src/plugins/qmljseditor/quicktoolbar.h
+++ b/src/plugins/qmljseditor/quicktoolbar.h
@@ -39,13 +39,13 @@ class QuickToolBar : public QmlJS::IContextPane
public:
QuickToolBar();
- ~QuickToolBar();
- void apply(TextEditor::TextEditorWidget *widget, QmlJS::Document::Ptr document, const QmlJS::ScopeChain *scopeChain, QmlJS::AST::Node *node, bool update, bool force = false);
- bool isAvailable(TextEditor::TextEditorWidget *widget, QmlJS::Document::Ptr document, QmlJS::AST::Node *node);
+ ~QuickToolBar() override;
+ void apply(TextEditor::TextEditorWidget *widget, QmlJS::Document::Ptr document, const QmlJS::ScopeChain *scopeChain, QmlJS::AST::Node *node, bool update, bool force = false) override;
+ bool isAvailable(TextEditor::TextEditorWidget *widget, QmlJS::Document::Ptr document, QmlJS::AST::Node *node) override;
void setProperty(const QString &propertyName, const QVariant &value);
void removeProperty(const QString &propertyName);
- void setEnabled(bool);
- QWidget* widget();
+ void setEnabled(bool) override;
+ QWidget* widget() override;
void onPropertyChanged(const QString &, const QVariant &);
void onPropertyRemoved(const QString &);