aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsimportvisitor.cpp
diff options
context:
space:
mode:
authorSami Shalayel <sami.shalayel@qt.io>2025-03-20 18:41:31 +0100
committerSami Shalayel <sami.shalayel@qt.io>2025-03-25 22:54:42 +0100
commitce69cc78c0aaa0afea5cd74d15ea37685948e6d0 (patch)
treed1a1c9a637ea4e5f202b98c54e70ccba8969183a /src/qmlcompiler/qqmljsimportvisitor.cpp
parent1c440fb89628b2bdd98f869fce951b8c847d6a08 (diff)
qmllint: implement WarnAssignmentInCondition
Warn for assignments inside of if-statement conditions. Task-number: QTBUG-129307 Change-Id: If1e4d85b6cdbf4f076d91dcf8d7600988f51d6a1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsimportvisitor.cpp')
-rw-r--r--src/qmlcompiler/qqmljsimportvisitor.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljsimportvisitor.cpp b/src/qmlcompiler/qqmljsimportvisitor.cpp
index 6c1d22c90d..1304e0afe7 100644
--- a/src/qmlcompiler/qqmljsimportvisitor.cpp
+++ b/src/qmlcompiler/qqmljsimportvisitor.cpp
@@ -3060,4 +3060,16 @@ bool QQmlJSImportVisitor::visit(QQmlJS::AST::PatternElement *element)
return true;
}
+bool QQmlJSImportVisitor::visit(IfStatement *statement)
+{
+ if (BinaryExpression *binary = cast<BinaryExpression *>(statement->expression)) {
+ if (binary->op == QSOperator::Assign) {
+ m_logger->log(
+ "Assignment in condition: did you meant to use \"===\" or \"==\" instead of \"=\"?"_L1,
+ qmlAssignmentInCondition, binary->operatorToken);
+ }
+ }
+ return true;
+}
+
QT_END_NAMESPACE