qtdeclarative/tests/auto/qmlls/utils
Sami Shalayel 89b0960418 Dom: add QQmlJSScope to QmlObject
Add a flag that allows to construct the Dom with the QQmlJSScopes
obtained by semantic analysis.

Added a new AST visitor called QQmlDomAstCreatorWithQQmlJSScope.
This visitor synchronizes the qqmldomastcreator and the qqmljsimportvisitor
to construct the Dom and the QQmlJSScope from the AST at the same time.
It mainly does keeping track which subvisitor (dom creator or scope creator)
is active, as one subvisitor may visit AST nodes that the other does not.
Using both visitors at the same time allows to insert the newly-generated
QQmlJSScope::Ptr directly into the correct Dom structure.

The actual implementation of QQmlDomAstCreatorWithQQmlJSScope is in its
visitT and endVisitT methods. Both are called in the AST-visitor-overloads.

Added a benchmark on two big generated qml files to see how fast/slow
does the qqmljsccope semantic analysis runs, compared to the QmlDom
creation runtime.

Task-number: QTBUG-92876
Change-Id: Ia05b6fdd59a637fef9c14b6ab284f4550414f908
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-12 13:07:06 +02:00
..
data qmlls_utils::findTypeIn and baseObject 2023-02-22 16:21:09 +01:00
CMakeLists.txt Fix tst_qmlls_utils by removing the internal qml module 2023-03-02 09:59:11 +01:00
tst_qmlls_utils.cpp Dom: add QQmlJSScope to QmlObject 2023-04-12 13:07:06 +02:00
tst_qmlls_utils.h qmlls_utils::findTypeIn and baseObject 2023-02-22 16:21:09 +01:00