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);