diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 27b7fd4d..77dde7c5 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -9869,6 +9869,12 @@ BfOperatorInfo* BfModule::GetOperatorInfo(BfTypeInstance* typeInstance, BfOperat SetAndRestoreValue ignoreErrors(mIgnoreErrors, true); SetAndRestoreValue prevTypeInstance(mCurTypeInstance, typeInstance); SetAndRestoreValue prevMethodInstance(mCurMethodInstance, NULL); + + BfTypeState typeState; + typeState.mTypeInstance = typeInstance; + typeState.mCurTypeDef = operatorDef->mDeclaringType; + SetAndRestoreValue prevTypeState(mContext->mCurTypeState, &typeState); + BfOperatorInfo* operatorInfo = new BfOperatorInfo(); if (operatorDef->mReturnTypeRef != NULL) operatorInfo->mReturnType = ResolveTypeRef(operatorDef->mReturnTypeRef, BfPopulateType_Identity);