mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Better handling of extern generic constraints
This commit is contained in:
parent
4fa46b6a92
commit
1e44392da8
4 changed files with 75 additions and 5 deletions
|
@ -8566,6 +8566,20 @@ bool BfModule::CheckGenericConstraints(const BfGenericParamSource& genericParamS
|
|||
if (checkArgType->IsObjectOrInterface())
|
||||
argIsReferenceType = true;
|
||||
|
||||
if ((mCurMethodInstance != NULL) && (mCurMethodInstance->mIsUnspecialized) && (mCurMethodInstance->mMethodInfoEx != NULL))
|
||||
{
|
||||
for (int genericParamIdx = (int)mCurMethodInstance->mMethodInfoEx->mMethodGenericArguments.size();
|
||||
genericParamIdx < mCurMethodInstance->mMethodInfoEx->mGenericParams.size(); genericParamIdx++)
|
||||
{
|
||||
auto genericParamInst = mCurMethodInstance->mMethodInfoEx->mGenericParams[genericParamIdx];
|
||||
|
||||
if (genericParamInst->mExternType == checkArgType)
|
||||
{
|
||||
checkGenericParamFlags |= genericParamInst->mGenericParamFlags;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BfTypeInstance* typeConstraintInst = NULL;
|
||||
if (genericParamInst->mTypeConstraint != NULL)
|
||||
typeConstraintInst = genericParamInst->mTypeConstraint->ToTypeInstance();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue