1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Fixed unreachable code warning with lambda dtor

This commit is contained in:
Brian Fiete 2021-02-10 09:03:17 -08:00
parent fa9b0d2297
commit 503590cea5

View file

@ -11918,17 +11918,18 @@ void BfExprEvaluator::VisitLambdaBodies(BfAstNode* body, BfFieldDtorDeclaration*
if (auto blockBody = BfNodeDynCast<BfBlock>(body)) if (auto blockBody = BfNodeDynCast<BfBlock>(body))
mModule->VisitChild(blockBody); mModule->VisitChild(blockBody);
else if (auto bodyExpr = BfNodeDynCast<BfExpression>(body)) else if (auto bodyExpr = BfNodeDynCast<BfExpression>(body))
{ {
auto result = mModule->CreateValueFromExpression(bodyExpr); auto result = mModule->CreateValueFromExpression(bodyExpr);
if ((result) && (mModule->mCurMethodState->mClosureState != NULL) && if ((result) && (mModule->mCurMethodState->mClosureState != NULL) &&
(mModule->mCurMethodState->mClosureState->mReturnTypeInferState == BfReturnTypeInferState_Inferring)) (mModule->mCurMethodState->mClosureState->mReturnTypeInferState == BfReturnTypeInferState_Inferring))
mModule->mCurMethodState->mClosureState->mReturnType = result.mType; mModule->mCurMethodState->mClosureState->mReturnType = result.mType;
} }
while (fieldDtor != NULL) while (fieldDtor != NULL)
{ {
mModule->mCurMethodState->mLeftBlockUncond = false;
mModule->VisitChild(fieldDtor->mBody); mModule->VisitChild(fieldDtor->mBody);
fieldDtor = fieldDtor->mNextFieldDtor; fieldDtor = fieldDtor->mNextFieldDtor;
} }
} }