aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlformat
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qmlformat')
-rw-r--r--tools/qmlformat/dumpastvisitor.cpp17
-rw-r--r--tools/qmlformat/dumpastvisitor.h2
2 files changed, 15 insertions, 4 deletions
diff --git a/tools/qmlformat/dumpastvisitor.cpp b/tools/qmlformat/dumpastvisitor.cpp
index 6868a3e21b..859d399805 100644
--- a/tools/qmlformat/dumpastvisitor.cpp
+++ b/tools/qmlformat/dumpastvisitor.cpp
@@ -1220,8 +1220,14 @@ void DumpAstVisitor::endVisit(UiArrayBinding *) {
}
bool DumpAstVisitor::visit(FunctionDeclaration *node) {
+ if (scope().m_firstFunction) {
+ if (scope().m_firstOfAll)
+ scope().m_firstOfAll = false;
+ else
+ addNewLine();
- addNewLine();
+ scope().m_firstFunction = false;
+ }
addLine(getComment(node, Comment::Location::Front));
@@ -1239,13 +1245,16 @@ bool DumpAstVisitor::visit(FunctionDeclaration *node) {
addLine(head);
m_indentLevel++;
+
+ return true;
+}
+
+void DumpAstVisitor::endVisit(FunctionDeclaration *node)
+{
m_result += parseStatementList(node->body);
m_indentLevel--;
addLine("}");
-
addNewLine();
-
- return true;
}
bool DumpAstVisitor::visit(UiObjectBinding *node) {
diff --git a/tools/qmlformat/dumpastvisitor.h b/tools/qmlformat/dumpastvisitor.h
index 9b908dd101..f84c4859ae 100644
--- a/tools/qmlformat/dumpastvisitor.h
+++ b/tools/qmlformat/dumpastvisitor.h
@@ -58,6 +58,7 @@ public:
void endVisit(UiObjectBinding *node) override;
bool visit(FunctionDeclaration *node) override;
+ void endVisit(FunctionDeclaration *node) override;
bool visit(UiInlineComponent *node) override;
void endVisit(UiInlineComponent *node) override;
@@ -86,6 +87,7 @@ private:
bool m_firstProperty = true;
bool m_firstBinding = true;
bool m_firstObject = true;
+ bool m_firstFunction = true;
bool m_inArrayBinding = false;
bool m_pendingBinding = false;