From 98c36c45af218c6cad834adee9e21b760a7c1cdf Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 17 Mar 2022 10:27:09 -0700 Subject: [PATCH] Fixed temp methodState in array size evaluation --- IDEHelper/Compiler/BfResolvedTypeUtils.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index cbc26c78..ca3f5781 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -3504,8 +3504,10 @@ int BfResolvedTypeSet::DoHash(BfTypeReference* typeRef, LookupContext* ctx, BfHa if (sizeExpr != NULL) { BfMethodState methodState; - SetAndRestoreValue prevMethodState(ctx->mModule->mCurMethodState, &methodState); methodState.mTempKind = BfMethodState::TempKind_Static; + SetAndRestoreValue prevMethodState; + if (ctx->mModule->mCurMethodState == NULL) + prevMethodState.Init(ctx->mModule->mCurMethodState, &methodState); BfConstResolver constResolver(ctx->mModule); BfType* intType = ctx->mModule->GetPrimitiveType(BfTypeCode_IntPtr);