From b204dbf8c056365d1dd3eb7196c746aa1572e9c2 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 31 May 2021 07:30:33 -0700 Subject: [PATCH] Fixed foreach labeled break --- IDEHelper/Compiler/BfStmtEvaluator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index 77904683..970a60d4 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -5901,9 +5901,7 @@ void BfModule::Visit(BfForEachStatement* forEachStmt) UpdateSrcPos(forEachStmt); BfScopeData scopeData; - // We set mIsLoop after the non-looped initializations - if (forEachStmt->mLabelNode != NULL) - scopeData.mLabelNode = forEachStmt->mLabelNode->mLabel; + // We set mIsLoop after the non-looped initializations scopeData.mValueScopeStart = ValueScopeStart(); mCurMethodState->AddScope(&scopeData); NewScopeState(); @@ -6425,6 +6423,8 @@ void BfModule::Visit(BfForEachStatement* forEachStmt) } BfScopeData innerScopeData; + if (forEachStmt->mLabelNode != NULL) + innerScopeData.mLabelNode = forEachStmt->mLabelNode->mLabel; innerScopeData.mValueScopeStart = ValueScopeStart(); mCurMethodState->AddScope(&innerScopeData); NewScopeState(true, false);