aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsimportvisitor.cpp
diff options
context:
space:
mode:
authorOlivier De Cannière <olivier.decanniere@qt.io>2025-04-24 16:59:12 +0200
committerOlivier De Cannière <olivier.decanniere@qt.io>2025-04-25 14:32:20 +0200
commit14f1b4bce3966c58d5db2ef773e339675394e8af (patch)
tree6d7a583f99cd6fc796d1f8d1a63707749a68c6e9 /src/qmlcompiler/qqmljsimportvisitor.cpp
parente0d8eed56422390229907e2d333e9e00a5286f09 (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.cpp18
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;
}
}