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

Fixed EvaluateWithNewScope in const eval

This commit is contained in:
Brian Fiete 2021-10-28 09:33:11 -07:00
parent 3fef480737
commit e5e11d52d4

View file

@ -8172,10 +8172,14 @@ BF_NOINLINE void BfModule::EvaluateWithNewScope(BfExprEvaluator& exprEvaluator,
BfScopeData newScope; BfScopeData newScope;
newScope.mOuterIsConditional = true; newScope.mOuterIsConditional = true;
newScope.mAllowTargeting = false; newScope.mAllowTargeting = false;
if (mCurMethodState != NULL)
{
mCurMethodState->AddScope(&newScope); mCurMethodState->AddScope(&newScope);
NewScopeState(true, false); NewScopeState(true, false);
}
exprEvaluator.mBfEvalExprFlags = (BfEvalExprFlags)(exprEvaluator.mBfEvalExprFlags | flags); exprEvaluator.mBfEvalExprFlags = (BfEvalExprFlags)(exprEvaluator.mBfEvalExprFlags | flags);
exprEvaluator.Evaluate(expr, (flags & BfEvalExprFlags_PropogateNullConditional) != 0, (flags & BfEvalExprFlags_IgnoreNullConditional) != 0, (flags & BfEvalExprFlags_AllowSplat) != 0); exprEvaluator.Evaluate(expr, (flags & BfEvalExprFlags_PropogateNullConditional) != 0, (flags & BfEvalExprFlags_IgnoreNullConditional) != 0, (flags & BfEvalExprFlags_AllowSplat) != 0);
if (mCurMethodState != NULL)
RestoreScopeState(); RestoreScopeState();
} }