diff options
| author | Olivier De Cannière <olivier.decanniere@qt.io> | 2025-04-24 16:59:12 +0200 |
|---|---|---|
| committer | Olivier De Cannière <olivier.decanniere@qt.io> | 2025-04-25 14:32:20 +0200 |
| commit | 14f1b4bce3966c58d5db2ef773e339675394e8af (patch) | |
| tree | 6d7a583f99cd6fc796d1f8d1a63707749a68c6e9 /src/qmlcompiler/qqmljsimportvisitor.cpp | |
| parent | e0d8eed56422390229907e2d333e9e00a5286f09 (diff) | |
qmllint: Fix name of inline component scopes for required properties
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07
Task-number: QTBUG-136058
Pick-to: 6.9 6.8
Change-Id: Ibf412089427e4d9d5a568ee24c224b9fa41fd20a
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsimportvisitor.cpp')
| -rw-r--r-- | src/qmlcompiler/qqmljsimportvisitor.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/qmlcompiler/qqmljsimportvisitor.cpp b/src/qmlcompiler/qqmljsimportvisitor.cpp index 7ed433706f..8b9c94e2a9 100644 --- a/src/qmlcompiler/qqmljsimportvisitor.cpp +++ b/src/qmlcompiler/qqmljsimportvisitor.cpp @@ -107,6 +107,12 @@ inline QString getScopeName(const QQmlJSScope::ConstPtr &scope, QQmlJSScope::Sco || type == QQmlSA::ScopeType::AttachedPropertyScope) return scope->internalName(); + if (!scope->isComposite()) + return scope->internalName(); + + if (scope->isInlineComponent() && scope->inlineComponentName().has_value()) + return scope->inlineComponentName().value(); + return scope->baseTypeName(); } @@ -1000,16 +1006,12 @@ void QQmlJSImportVisitor::checkRequiredProperties() return false; }; - const auto warn = [this](const QList<QQmlJSScope::ConstPtr> scopesToSearch, - QQmlJSScope::ConstPtr prevRequiredScope, + const auto warn = [this](QQmlJSScope::ConstPtr prevRequiredScope, const QString &propName, QQmlJSScope::ConstPtr defScope, QQmlJSScope::ConstPtr requiredScope, QQmlJSScope::ConstPtr descendant) { - const QQmlJSScope::ConstPtr propertyScope = scopesToSearch.size() > 1 - ? scopesToSearch.at(scopesToSearch.size() - 2) - : QQmlJSScope::ConstPtr(); - + const auto &propertyScope = QQmlJSScope::ownerOfProperty(requiredScope, propName).scope; const QString propertyScopeName = !propertyScope.isNull() ? getScopeName(propertyScope, QQmlSA::ScopeType::QMLScope) : u"here"_s; @@ -1088,9 +1090,7 @@ void QQmlJSImportVisitor::checkRequiredProperties() if (requiredSetThroughAlias(scopesToSearch, requiredScope, propName)) continue; - warn(scopesToSearch, prevRequiredScope, propName, defScope, - requiredScope, descendant); - + warn(prevRequiredScope, propName, defScope, requiredScope, descendant); prevRequiredScope = requiredScope; } } |
