From d92f27a0914779edcc470ae52fbbf0ef7284b5bf Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 25 Jan 2025 08:12:18 -0800 Subject: [PATCH] Fixed null conditional mixin invocation --- IDEHelper/Compiler/BfExprEvaluator.cpp | 1 + IDEHelper/Compiler/BfStmtEvaluator.cpp | 7 +------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index da1c09ba..700489f5 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -17896,6 +17896,7 @@ void BfExprEvaluator::InjectMixin(BfAstNode* targetSrc, BfTypedValue target, boo mModule->mBfIRBuilder->SaveDebugLocation(); SetAndRestoreValue prevMixinState(curMethodState->mMixinState, mixinState); SetAndRestoreValue prevExprEvaluator(curMethodState->mCurScope->mExprEvaluator, NULL); + SetAndRestoreValue prevNullConditional(curMethodState->mPendingNullConditional, NULL); BfGetSymbolReferenceKind prevSymbolRefKind = BfGetSymbolReferenceKind_None; if (mModule->mCompiler->mResolvePassData != NULL) diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index d4af5cd5..8fd8a961 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -4423,12 +4423,7 @@ void BfModule::Visit(BfDeleteStatement* deleteStmt) } void BfModule::Visit(BfSwitchStatement* switchStmt) -{ - if (mModuleName == "BeefTest_TestProgram") - { - NOP; - } - +{ BfScopeData outerScope; outerScope.mInnerIsConditional = false; outerScope.mCloseNode = switchStmt;