mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-14 14:24:10 +02:00
Fixed IsCompatibleInterfaceMethod case with generic params
This commit is contained in:
parent
18794e7db6
commit
7958b3a38d
1 changed files with 4 additions and 1 deletions
|
@ -13248,6 +13248,9 @@ bool BfModule::StrictCompareMethodSignatures(BfMethodInstance* methodA, BfMethod
|
||||||
|
|
||||||
bool BfModule::IsCompatibleInterfaceMethod(BfMethodInstance* iMethodInst, BfMethodInstance* methodInstance)
|
bool BfModule::IsCompatibleInterfaceMethod(BfMethodInstance* iMethodInst, BfMethodInstance* methodInstance)
|
||||||
{
|
{
|
||||||
|
if ((iMethodInst->GetNumGenericParams() != 0) || (methodInstance->GetNumGenericParams() != 0))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (iMethodInst->mMethodDef->mName != methodInstance->mMethodDef->mName)
|
if (iMethodInst->mMethodDef->mName != methodInstance->mMethodDef->mName)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -24635,7 +24638,7 @@ bool BfModule::SlotVirtualMethod(BfMethodInstance* methodInstance, BfAmbiguityCo
|
||||||
hadNameMatch = iMethodInst;
|
hadNameMatch = iMethodInst;
|
||||||
|
|
||||||
bool doesMethodSignatureMatch = CompareMethodSignatures(iMethodInst, methodInstance);
|
bool doesMethodSignatureMatch = CompareMethodSignatures(iMethodInst, methodInstance);
|
||||||
if ((!doesMethodSignatureMatch) && (iMethodInst->GetNumGenericParams() == 0) && (interfaceMethodEntry->mMethodRef.IsNull()))
|
if ((!doesMethodSignatureMatch) && (interfaceMethodEntry->mMethodRef.IsNull()))
|
||||||
{
|
{
|
||||||
doesMethodSignatureMatch = IsCompatibleInterfaceMethod(iMethodInst, methodInstance);
|
doesMethodSignatureMatch = IsCompatibleInterfaceMethod(iMethodInst, methodInstance);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue