From e441032e4e08ff4145d3f5785ec86fd853f88568 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 14 Jan 2022 07:07:33 -0500 Subject: [PATCH] Add a dependency on element type in boxed type --- IDEHelper/Compiler/BfModuleTypeUtils.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index 631fb95c..2c2a5f2b 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -3493,17 +3493,21 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy if (resolvedTypeRef->IsBoxed()) { + BfBoxedType* boxedType = (BfBoxedType*)resolvedTypeRef; + if ((baseType != NULL) && (baseType->IsStruct())) { - BfBoxedType* boxedType = (BfBoxedType*)resolvedTypeRef; BfType* modifiedBaseType = baseType; if (boxedType->IsBoxedStructPtr()) modifiedBaseType = CreatePointerType(modifiedBaseType); boxedType->mBoxedBaseType = CreateBoxedType(modifiedBaseType); PopulateType(boxedType->mBoxedBaseType); + // Use derivedFrom for both the boxed base type and the unboxed type AddDependency(boxedType->mBoxedBaseType, typeInstance, BfDependencyMap::DependencyFlag_DerivedFrom); } + + AddDependency(boxedType->mElementType, typeInstance, BfDependencyMap::DependencyFlag_ValueTypeMemberData); baseType = mContext->mBfObjectType; }