diff options
| author | Sami Shalayel <sami.shalayel@qt.io> | 2025-04-25 12:24:11 +0200 |
|---|---|---|
| committer | Olivier De Cannière <olivier.decanniere@qt.io> | 2025-05-16 16:59:53 +0200 |
| commit | 76a29eee52d548c02fc5e70981a0044adf755ca4 (patch) | |
| tree | d2a484014915b67a322034afd690b761d632dcfe /src/qmlcompiler/qqmljslintervisitor.cpp | |
| parent | 138889eab042fda149e13ed1d2c86d543da003d0 (diff) | |
qmllint: implement WarnComma
Warn when comma expressions are used outside of for-loops.
Task-number: QTBUG-129307
Change-Id: Ic86bf3af7f122f73b70e18c728c72f64c355f982
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljslintervisitor.cpp')
| -rw-r--r-- | src/qmlcompiler/qqmljslintervisitor.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljslintervisitor.cpp b/src/qmlcompiler/qqmljslintervisitor.cpp index 4ba152f291..44b3c30969 100644 --- a/src/qmlcompiler/qqmljslintervisitor.cpp +++ b/src/qmlcompiler/qqmljslintervisitor.cpp @@ -78,6 +78,20 @@ Node *LinterVisitor::astParentOfVisitedNode() const return m_ancestryIncludingCurrentNode[m_ancestryIncludingCurrentNode.size() - 2]; } +bool LinterVisitor::visit(CommaExpression *expression) +{ + QQmlJSImportVisitor::visit(expression); + if (!expression->left || !expression->right) + return true; + + // don't warn about commas in "for" statements + if (cast<ForStatement *>(astParentOfVisitedNode())) + return true; + + m_logger->log("Do not use comma expressions."_L1, qmlComma, expression->commaToken); + return true; +} + } // namespace QQmlJS QT_END_NAMESPACE |
