From ca3504682724a7250bdbb5d461a30be2022a759c Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Wed, 7 Sep 2011 11:01:13 +0200 Subject: [PATCH] QmlJS checks: Improve warning about accidental empty blocks. Change-Id: I2bddd65aef9092bf87f5a441e065ebca0e772174 Reviewed-on: http://codereview.qt-project.org/4331 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com> --- src/libs/qmljs/qmljscheck.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index dec32a42345..4395330ca5e 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -737,6 +737,7 @@ bool Check::visit(Block *ast) if (Node *p = parent()) { if (_options & WarnBlocks && !cast<UiScriptBinding *>(p) + && !cast<UiPublicMember *>(p) && !cast<TryStatement *>(p) && !cast<Catch *>(p) && !cast<Finally *>(p) @@ -751,6 +752,12 @@ bool Check::visit(Block *ast) && !cast<WithStatement *>(p)) { warning(ast->lbraceToken, tr("blocks do not introduce a new scope, avoid")); } + if (!ast->statements + && (cast<UiPublicMember *>(p) + || cast<UiScriptBinding *>(p))) { + warning(locationFromRange(ast->firstSourceLocation(), ast->lastSourceLocation()), + tr("unintentional empty block, use ({}) for empty object literal")); + } } return true; } -- GitLab