From 90b36d88e20b9620802c6e52e1c63c8f739889d3 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Jun 2023 11:00:37 +0200 Subject: QmlJS: Add support for annotations in qmljsreformatter This fixes that the annotations are removed. The indentation still has issues. Change-Id: I6752767e00e0fafe8eb567066db3b9952f0d0a4f Reviewed-by: Ulf Hermann Reviewed-by: --- src/libs/qmljs/qmljsreformatter.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/libs/qmljs') diff --git a/src/libs/qmljs/qmljsreformatter.cpp b/src/libs/qmljs/qmljsreformatter.cpp index 232c0361a1..d2891451e9 100644 --- a/src/libs/qmljs/qmljsreformatter.cpp +++ b/src/libs/qmljs/qmljsreformatter.cpp @@ -590,11 +590,32 @@ protected: return true; } + bool visit(UiAnnotation *ast) override + { + out("@"); + accept(ast->qualifiedTypeNameId); + out(" "); + accept(ast->initializer); + return false; + } + + bool visit(UiAnnotationList *ast) override + { + for (UiAnnotationList *it = ast; it; it = it->next) { + accept(it->annotation); + newLine(); + } + return false; + } + bool visit(UiObjectDefinition *ast) override { + accept(ast->annotations); + accept(ast->qualifiedTypeNameId); out(" "); accept(ast->initializer); + return false; } @@ -687,9 +708,12 @@ protected: bool visit(UiScriptBinding *ast) override { + accept(ast->annotations); + accept(ast->qualifiedId); out(": ", ast->colonToken); accept(ast->statement); + return false; } @@ -1290,6 +1314,7 @@ protected: { for (UiObjectMemberList *it = ast; it; it = it->next) { accept(it->member); + if (it->next) newLine(); } -- cgit v1.2.3