QDoc: Resolve import-alias QML member links
A qualified QML reference can start with an import alias rather than
a module or type name. The explicit-link lookup cannot read that
prefix for member references, so links such as OM.Button.text still
become plain text even though the enclosing QML type imports the
module as OM.
When ordinary QML lookup has no match, expand a leading import alias
through the enclosing type's import list and resolve the qualified
name through shared QML lookup. Reuse its attached-property, chain
and method-signature handling. Respect selected physical trees and
retain explicit-genus fallback and fragment checks.
Cover alias-qualified names in type documentation, property bodies
and see-also lists in HTML and Markdown. Keep the legacy alias
warnings as intentional controls rather than changing legacy lookup.
Fixes: QTBUG-137279
Pick-to: 6.12
Change-Id: I681a5c2ddefc60eea24b8d89d551c7444253ea69
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
| commit | 17815d56de0a25ea2418faa924603f10cb076c44 |
| parent | 1d94c76327fa0053f88d4e0a0884706753862b35 |
| author | Paul Wicking <paul.wicking@qt.io> |
| committer | Paul Wicking <paul.wicking@qt.io> |
| commit time | Wed, 21 Oct 2026 18:28:12 +0000 |
- M src/qdoc/qdoc/src/qdoc/qdocdatabase.cpp
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_link_errors/expect-stderr-contains
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_link_errors/expected/html-legacy/qml-testmodule-panel.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_link_errors/expected/html/qml-testmodule-panel.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_link_errors/expected/markdown/qml-testmodule-panel.md
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_link_errors/src/Panel.qml
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/expect-stderr-contains
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/expected/html-legacy/qml-testmodule-panel.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/expected/html-legacy/qmldotpathlinks.index
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/expected/html/qml-testmodule-panel.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/expected/markdown/qml-testmodule-panel.md
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/qml_dot_path_links.qdocconf
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_links/src/Panel.qml
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_dot_path_scoped/qmldotpathlinks.index
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expect-stderr-contains
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/html/qml-testmodule-item.html
- A src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/html/qml-testmodule-panel-members.html
- A src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/html/qml-testmodule-panel.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/html/testmodule-qmlmodule.html
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/markdown/qml-testmodule-item.md
- A src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/markdown/qml-testmodule-panel-members.md
- A src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/markdown/qml-testmodule-panel.md
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/markdown/testmodule-qmlmodule.md
- M src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/expected/qmllinkcriteria.index
- A src/qdoc/qdoc/tests/validatetemplategeneratoroutput/testdata/qml_link_criteria/src/Panel.qml