diff --git a/IDEHelper/Compiler/CeMachine.cpp b/IDEHelper/Compiler/CeMachine.cpp index 27f51654..f47495d9 100644 --- a/IDEHelper/Compiler/CeMachine.cpp +++ b/IDEHelper/Compiler/CeMachine.cpp @@ -6240,9 +6240,16 @@ bool CeContext::Execute(CeFunction* startFunction, uint8* startStackPtr, uint8* SetAndRestoreValue prevMethodInstance(mCeMachine->mCeModule->mCurMethodInstance, mCallerMethodInstance); SetAndRestoreValue prevTypeInstance(mCeMachine->mCeModule->mCurTypeInstance, mCallerTypeInstance); - + + bool simpleName = false; + if ((type->IsUnspecializedType()) && (!type->IsUnspecializedTypeVariation()) && (!type->IsGenericParam())) + simpleName = true; String typeName; - mCeMachine->mCeModule->DoTypeToString(typeName, type, BfTypeNameFlags_None); + if (simpleName) + mCeMachine->mCeModule->DoTypeToString(typeName, type, BfTypeNameFlags_None); + else + typeName = mCeMachine->mCeModule->TypeToString(type); + CeSetAddrVal(stackPtr + 0, GetString(typeName), ptrSize); _FixVariables(); }