From 503590cea5e918f1119a7954650081de3c6ca5c5 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 10 Feb 2021 09:03:17 -0800 Subject: [PATCH] Fixed unreachable code warning with lambda dtor --- IDEHelper/Compiler/BfExprEvaluator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index 614046f5..80d787ea 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -11918,17 +11918,18 @@ void BfExprEvaluator::VisitLambdaBodies(BfAstNode* body, BfFieldDtorDeclaration* if (auto blockBody = BfNodeDynCast(body)) mModule->VisitChild(blockBody); else if (auto bodyExpr = BfNodeDynCast(body)) - { + { auto result = mModule->CreateValueFromExpression(bodyExpr); if ((result) && (mModule->mCurMethodState->mClosureState != NULL) && (mModule->mCurMethodState->mClosureState->mReturnTypeInferState == BfReturnTypeInferState_Inferring)) - mModule->mCurMethodState->mClosureState->mReturnType = result.mType; + mModule->mCurMethodState->mClosureState->mReturnType = result.mType; } while (fieldDtor != NULL) { + mModule->mCurMethodState->mLeftBlockUncond = false; mModule->VisitChild(fieldDtor->mBody); - fieldDtor = fieldDtor->mNextFieldDtor; + fieldDtor = fieldDtor->mNextFieldDtor; } }