qtdeclarative/tools
Sami Shalayel bfdf1bf797 qmltc: support inline components from different qml files
Make qmltc aware that inline components can be shared between files such
that it does not complain about not finding them.
Typical usage are `MyOtherFile.MyInlineComponent {}` and
`ModuleName.MyOtherFile.MyInlineComponent {}` for an an inline
component called MyInlineComponent defined in MyOtherFile.qml, maybe
also in a module called ModuleName.

Make QQmlJSScope::findType() aware that inline components exists (and
potentially that they might also appear in namespaced types). They can
also be "imported" or reexported from basetypes and/or deeply nested in
some children scopes. Also make it public so that qqmljsimportvisitor
can use it when processing property types.
Added some tests testing both notations (with and without the qualifed
module name). Also add a test to see if there is no confusion between
the enums and the inline components (due to their very similar
notations).

Fixes: QTBUG-106592
Change-Id: I8f2d4790729902ffa664fd0eb1b7c3279af8ddca
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-10-31 15:10:53 +02:00
..
qml Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmlcachegen QmlCompiler: Add a separate flag for the "pragma Strict" check 2022-10-20 21:37:57 +02:00
qmldom Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmleasing Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmlformat qmlformat: do not generate backup files 2022-10-24 18:03:05 +00:00
qmlimportscanner Port from container::count() and length() to size() - V5 2022-10-13 00:18:35 +02:00
qmljs Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmljsrootgen Port to new Q_UNREACHABLE_RETURN() 2022-10-20 23:59:33 +02:00
qmllint Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-09-07 17:01:30 +02:00
qmlls Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmlplugindump Port from container::count() and length() to size() - V5 2022-10-13 00:18:35 +02:00
qmlpreview Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmlprofiler Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
qmlscene Port to new Q_UNREACHABLE_RETURN() 2022-10-20 23:59:33 +02:00
qmltc qmltc: support inline components from different qml files 2022-10-31 15:10:53 +02:00
qmltestrunner Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-09-07 17:01:30 +02:00
qmltime Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-09-07 17:01:30 +02:00
qmltyperegistrar Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-09-07 17:01:30 +02:00
shared Port from qAsConst() to std::as_const() 2022-10-07 23:38:56 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-09-07 17:01:30 +02:00