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

Properly detected extension modules for tuple and delegate generic args

This commit is contained in:
Brian Fiete 2020-12-14 07:41:27 -08:00
parent 2e464ee556
commit cdc030ab30

View file

@ -2559,6 +2559,21 @@ public:
projectList->Add(bfProject);
}
}
if (checkType->IsTuple())
{
auto tupleType = (BfTupleType*)checkType;
for (auto& fieldInstance : tupleType->mFieldInstances)
GetProjectList(fieldInstance.mResolvedType, projectList, immutableLength);
}
auto delegateInfo = checkType->GetDelegateInfo();
if (delegateInfo != NULL)
{
GetProjectList(delegateInfo->mReturnType, projectList, immutableLength);
for (auto param : delegateInfo->mParams)
GetProjectList(param, projectList, immutableLength);
}
}
else if (checkType->IsPointer())
GetProjectList(((BfPointerType*)checkType)->mElementType, projectList, immutableLength);
@ -2567,7 +2582,7 @@ public:
else if (checkType->IsSizedArray())
GetProjectList(((BfSizedArrayType*)checkType)->mElementType, projectList, immutableLength);
else if (checkType->IsMethodRef())
GetProjectList(((BfMethodRefType*)checkType)->mOwner, projectList, immutableLength);
GetProjectList(((BfMethodRefType*)checkType)->mOwner, projectList, immutableLength);
}
static BfPrimitiveType* GetPrimitiveType(BfModule* module, BfTypeCode typeCode);