aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/parser
diff options
context:
space:
mode:
authorDmitrii Akshintsev <dmitrii.akshintsev@qt.io>2024-01-31 16:16:20 +0100
committerDmitrii Akshintsev <dmitrii.akshintsev@qt.io>2024-02-14 00:01:54 +0100
commit6e0180073f16ca3739aa72328f5f3d58e32b6d56 (patch)
treebbf7a02e52876c72377a4a8020ab2542c038a6c7 /src/qml/parser
parent03ac6a0990afeb0ea3294e22d6e553a4370f32eb (diff)
QMLJSASTVisitor. Add JSVisitor
This proxy visitor is helpful to be used in the cases where traversing only JS AST Nodes is needed, for example when formatting plain JS files This also allows to get rid of some of the same trivial implementations. Task-number: QTBUG-117849 Change-Id: If7d8086032f286b0cc7559df7f0f0ab9869bd12e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
Diffstat (limited to 'src/qml/parser')
-rw-r--r--src/qml/parser/qqmljsastvisitor_p.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/qml/parser/qqmljsastvisitor_p.h b/src/qml/parser/qqmljsastvisitor_p.h
index f8ff3add79..540d21d725 100644
--- a/src/qml/parser/qqmljsastvisitor_p.h
+++ b/src/qml/parser/qqmljsastvisitor_p.h
@@ -210,6 +210,30 @@ public:
#undef X
};
+class QML_PARSER_EXPORT JSVisitor : public BaseVisitor
+{
+public:
+ JSVisitor() = default;
+
+ bool preVisit(Node *) override { return true; }
+ void postVisit(Node *) override { }
+
+#define X(name) \
+ bool visit(name *) override { return true; } \
+ void endVisit(name *) override { }
+ QQmlJSASTQQmlJSClassListToVisit
+#undef X
+
+#define X(name) \
+ bool visit(name *) override \
+ { \
+ Q_ASSERT(false); \
+ return false; \
+ } \
+ void endVisit(name *) override { }
+ QQmlJSASTUiClassListToVisit
+#undef X
+}; // namespace AST
} } // namespace AST
QT_END_NAMESPACE