diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index dec32a42345aacb2073c5db9605a3d987eb2eaf4..4395330ca5e4a1d301c8c4d43471f97b94bc85c0 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; }