diff options
Diffstat (limited to 'src/qmldom')
-rw-r--r-- | src/qmldom/qqmldomelements.cpp | 6 | ||||
-rw-r--r-- | src/qmldom/qqmldomreformatter.cpp | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/qmldom/qqmldomelements.cpp b/src/qmldom/qqmldomelements.cpp index 42e5446637..f1edda137a 100644 --- a/src/qmldom/qqmldomelements.cpp +++ b/src/qmldom/qqmldomelements.cpp @@ -1664,6 +1664,9 @@ void ScriptExpression::setCode(QString code, QString preCode, QString postCode) if (!m_preCode.isEmpty()) m_ast = firstNodeInRange(m_ast, m_preCode.size(), m_preCode.size() + m_code.size()); + if (auto *sList = AST::cast<AST::FormalParameterList *>(m_ast)) { + m_ast = sList->element; + } if (m_expressionType != ExpressionType::FunctionBody) { if (AST::StatementList *sList = AST::cast<AST::StatementList *>(m_ast)) { if (!sList->next) @@ -1872,6 +1875,9 @@ bool MethodParameter::iterateDirectSubpaths(DomItem &self, DirectVisitor visitor cont = cont && self.dvWrapField(visitor, Fields::defaultValue, defaultValue); cont = cont && self.dvWrapField(visitor, Fields::value, value); + cont = cont && self.dvValueField(visitor, Fields::preCode, u"function f("_s); + cont = cont && self.dvValueField(visitor, Fields::postCode, u") {}"_s); + if (!annotations.isEmpty()) cont = cont && self.dvWrapField(visitor, Fields::annotations, annotations); cont = cont && self.dvWrapField(visitor, Fields::comments, comments); diff --git a/src/qmldom/qqmldomreformatter.cpp b/src/qmldom/qqmldomreformatter.cpp index fcc847591d..a925fe3bbe 100644 --- a/src/qmldom/qqmldomreformatter.cpp +++ b/src/qmldom/qqmldomreformatter.cpp @@ -983,7 +983,7 @@ protected: { for (FormalParameterList *it = ast; it; it = it->next) { // compare FormalParameterList::finish - if (auto id = it->element->bindingIdentifier.toString(); !id.startsWith(u"arg#")) + if (auto id = it->element->bindingIdentifier.toString(); !id.isEmpty()) out(id); if (it->element->bindingTarget) accept(it->element->bindingTarget); |