From 1ea9d6ce87f62c885e534aa26e34c0cd4fcf45d4 Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Wed, 29 Jul 2020 02:27:00 +0200 Subject: qmljs: fix unreachable test for catch clause Change-Id: Ica1ff034b88f06849026957c8beed2cda77badcc Reviewed-by: Christian Stenger Reviewed-by: Fabian Kosmale --- src/libs/qmljs/qmljscheck.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index f58b414487..175ea0341d 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -502,13 +502,13 @@ protected: return false; } - bool visit(Block *) override + bool openBlock() { ++_block; return true; } - void endVisit(Block *) override + void closeBlock() { auto it = _declaredBlockVariables.begin(); auto end = _declaredBlockVariables.end(); @@ -521,6 +521,26 @@ protected: --_block; } + bool visit(Block *) override + { + return openBlock(); + } + + void endVisit(Block *) override + { + closeBlock(); + } + + bool visit(Catch *) override + { + return openBlock(); + } + + void endVisit(Catch *) override + { + closeBlock(); + } + void throwRecursionDepthError() override { addMessage(ErrHitMaximumRecursion, SourceLocation()); -- cgit v1.2.3