mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Add a dependency on element type in boxed type
This commit is contained in:
parent
5bc9642d26
commit
e441032e4e
1 changed files with 5 additions and 1 deletions
|
@ -3493,18 +3493,22 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy
|
||||||
|
|
||||||
if (resolvedTypeRef->IsBoxed())
|
if (resolvedTypeRef->IsBoxed())
|
||||||
{
|
{
|
||||||
|
BfBoxedType* boxedType = (BfBoxedType*)resolvedTypeRef;
|
||||||
|
|
||||||
if ((baseType != NULL) && (baseType->IsStruct()))
|
if ((baseType != NULL) && (baseType->IsStruct()))
|
||||||
{
|
{
|
||||||
BfBoxedType* boxedType = (BfBoxedType*)resolvedTypeRef;
|
|
||||||
BfType* modifiedBaseType = baseType;
|
BfType* modifiedBaseType = baseType;
|
||||||
if (boxedType->IsBoxedStructPtr())
|
if (boxedType->IsBoxedStructPtr())
|
||||||
modifiedBaseType = CreatePointerType(modifiedBaseType);
|
modifiedBaseType = CreatePointerType(modifiedBaseType);
|
||||||
boxedType->mBoxedBaseType = CreateBoxedType(modifiedBaseType);
|
boxedType->mBoxedBaseType = CreateBoxedType(modifiedBaseType);
|
||||||
|
|
||||||
PopulateType(boxedType->mBoxedBaseType);
|
PopulateType(boxedType->mBoxedBaseType);
|
||||||
|
// Use derivedFrom for both the boxed base type and the unboxed type
|
||||||
AddDependency(boxedType->mBoxedBaseType, typeInstance, BfDependencyMap::DependencyFlag_DerivedFrom);
|
AddDependency(boxedType->mBoxedBaseType, typeInstance, BfDependencyMap::DependencyFlag_DerivedFrom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AddDependency(boxedType->mElementType, typeInstance, BfDependencyMap::DependencyFlag_ValueTypeMemberData);
|
||||||
|
|
||||||
baseType = mContext->mBfObjectType;
|
baseType = mContext->mBfObjectType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue