1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Fix for Win32 vdata reflection hot swap

This commit is contained in:
Brian Fiete 2019-12-03 08:03:45 -08:00
parent 04a46850d6
commit bb66c77da8
3 changed files with 19 additions and 22 deletions

View file

@ -1881,7 +1881,7 @@ public:
};
#endif
void BfIRBuilder::CreateTypeDeclaration(BfType* type, bool forceDefine)
void BfIRBuilder::CreateTypeDeclaration(BfType* type, bool forceDbgDefine)
{
bool wantDIData = DbgHasInfo() && (!type->IsUnspecializedType());
@ -1892,6 +1892,8 @@ void BfIRBuilder::CreateTypeDeclaration(BfType* type, bool forceDefine)
// wantsDIForwardDecl = false;
if (mModule->mExtensionCount != 0)
wantsDIForwardDecl = true;
if (forceDbgDefine)
wantsDIForwardDecl = false;
bool isPrimEnum = (type->IsEnum()) && (type->IsTypedPrimitive());
@ -2772,7 +2774,7 @@ bool BfIRBuilder::WantsDbgDefinition(BfType* type)
return false;
}
void BfIRBuilder::CreateTypeDefinition(BfType* type, bool forceDefine)
void BfIRBuilder::CreateTypeDefinition(BfType* type, bool forceDbgDefine)
{
// This PopulateType is generally NOT needed, but here is a scenario in which it is:
// ClassB derives from ClassA. ClassC uses ClassB. A method inside ClassA gets modified,

View file

@ -940,8 +940,8 @@ public:
String GetDebugTypeName(BfTypeInstance* typeInstance, bool includeOuterTypeName);
void CreateDbgTypeDefinition(BfType* type);
bool WantsDbgDefinition(BfType * type);
void CreateTypeDeclaration(BfType* type, bool forceDefine);
void CreateTypeDefinition(BfType* type, bool forceDefine);
void CreateTypeDeclaration(BfType* type, bool forceDbgDefine);
void CreateTypeDefinition(BfType* type, bool forceDbgDefine);
void ReplaceDITemporaryTypes();
void PushDbgLoc(BfTypeInstance* typeInst);
BfIRPopulateType GetPopulateTypeState(BfType* type);