diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-12-04 15:09:25 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-12-05 21:48:48 +0100 |
commit | d260e713bdf6a61e49a0944df875bead5b8c46b0 (patch) | |
tree | dd709231b06c3d909e135125ea39f0293a788148 /tools | |
parent | d297723fe6b8ebad6c87d0e47dc795e8e48943a4 (diff) |
QmlCompiler: Don't add imports with "as" to the context
That is wrong. The context does not contain such objects. Instead, mark
the names as namespaces in the imports by giving them an empty type.
Change-Id: Ie9d0bba592863878d2220cee59be369ba2534f17
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmllint/checkidentifiers.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/qmllint/checkidentifiers.cpp b/tools/qmllint/checkidentifiers.cpp index 6500595c83..b718f0f691 100644 --- a/tools/qmllint/checkidentifiers.cpp +++ b/tools/qmllint/checkidentifiers.cpp @@ -355,8 +355,13 @@ bool CheckIdentifiers::operator()( const auto typeIt = m_types.find(memberAccessBase.m_name); if (typeIt != m_types.end()) { - if (!checkMemberAccess(memberAccessChain, *typeIt)) + if (typeIt->isNull()) { + // This is a namespaced import. Check with the full name. + if (!memberAccessChain.isEmpty()) + memberAccessChain.front().m_name.prepend(memberAccessBase.m_name + u'.'); + } else if (!checkMemberAccess(memberAccessChain, *typeIt)) { noUnqualifiedIdentifier = false; + } continue; } |