aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsimportvisitor.cpp
diff options
context:
space:
mode:
authorOlivier De Cannière <[email protected]>2025-04-29 16:35:10 +0200
committerOlivier De Cannière <[email protected]>2025-05-08 12:31:35 +0200
commitfb61c6bb84100b47e6c9aaf59571b15371092c67 (patch)
tree2031d4208637b5c23ed45191fc197b04a170d5e7 /src/qmlcompiler/qqmljsimportvisitor.cpp
parent230c1afe3e5c9b01bd2494b3eb9b90fec2844a50 (diff)
qmllint: Warn about duplicate inline components
Fixes: QTBUG-126715 Task-number: QTBUG-129307 Change-Id: I739587bf6d44131d9a0bdcec4df60ab3f53e1a12 Reviewed-by: Sami Shalayel <[email protected]>
Diffstat (limited to 'src/qmlcompiler/qqmljsimportvisitor.cpp')
-rw-r--r--src/qmlcompiler/qqmljsimportvisitor.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljsimportvisitor.cpp b/src/qmlcompiler/qqmljsimportvisitor.cpp
index df5d9cd5ab..8233aa1e61 100644
--- a/src/qmlcompiler/qqmljsimportvisitor.cpp
+++ b/src/qmlcompiler/qqmljsimportvisitor.cpp
@@ -1750,6 +1750,17 @@ bool QQmlJSImportVisitor::visit(UiInlineComponent *component)
return true;
}
+ const auto it = m_seenInlineComponents.constFind(component->name);
+ if (it != m_seenInlineComponents.cend()) {
+ m_logger->log("Duplicate inline component '%1'"_L1.arg(it.key()),
+ qmlDuplicateInlineComponent, component->firstSourceLocation());
+ m_logger->log("Note: previous component named '%1' here"_L1.arg(it.key()),
+ qmlDuplicateInlineComponent, it.value(), true, true, {}, {},
+ component->firstSourceLocation().startLine);
+ } else {
+ m_seenInlineComponents[component->name] = component->firstSourceLocation();
+ }
+
m_nextIsInlineComponent = true;
m_currentRootName = component->name.toString();
return true;