mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Fixed default interface method issue
This commit is contained in:
parent
49b124e291
commit
5924d4819b
1 changed files with 3 additions and 7 deletions
|
@ -12934,9 +12934,7 @@ int BfExprEvaluator::GetMixinVariable()
|
||||||
BfModuleMethodInstance BfExprEvaluator::GetSelectedMethod(BfAstNode* targetSrc, BfTypeInstance* curTypeInst, BfMethodDef* methodDef, BfMethodMatcher& methodMatcher)
|
BfModuleMethodInstance BfExprEvaluator::GetSelectedMethod(BfAstNode* targetSrc, BfTypeInstance* curTypeInst, BfMethodDef* methodDef, BfMethodMatcher& methodMatcher)
|
||||||
{
|
{
|
||||||
bool failed = false;
|
bool failed = false;
|
||||||
|
|
||||||
auto resolvedCurTypeInst = curTypeInst;//mModule->ResolveGenericType(curTypeInst)->ToTypeInstance();
|
|
||||||
bool hasDifferentResolvedTypes = resolvedCurTypeInst != curTypeInst;
|
|
||||||
BfTypeVector resolvedGenericArguments;
|
BfTypeVector resolvedGenericArguments;
|
||||||
BfMethodState* rootMethodState = NULL;
|
BfMethodState* rootMethodState = NULL;
|
||||||
if (mModule->mCurMethodState != NULL)
|
if (mModule->mCurMethodState != NULL)
|
||||||
|
@ -13075,9 +13073,7 @@ BfModuleMethodInstance BfExprEvaluator::GetSelectedMethod(BfAstNode* targetSrc,
|
||||||
if (genericArg->IsIntUnknown())
|
if (genericArg->IsIntUnknown())
|
||||||
genericArg = mModule->GetPrimitiveType(BfTypeCode_IntPtr);
|
genericArg = mModule->GetPrimitiveType(BfTypeCode_IntPtr);
|
||||||
|
|
||||||
auto resolvedGenericArg = genericArg;//mModule->ResolveGenericType(genericArg);
|
auto resolvedGenericArg = genericArg;
|
||||||
if (resolvedGenericArg != genericArg)
|
|
||||||
hasDifferentResolvedTypes = true;
|
|
||||||
resolvedGenericArguments.push_back(resolvedGenericArg);
|
resolvedGenericArguments.push_back(resolvedGenericArg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13121,7 +13117,7 @@ BfModuleMethodInstance BfExprEvaluator::GetSelectedMethod(BfAstNode* targetSrc,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
methodInstance = mModule->GetMethodInstance(resolvedCurTypeInst, methodDef, resolvedGenericArguments, flags, foreignType);
|
methodInstance = mModule->GetMethodInstance(curTypeInst, methodDef, resolvedGenericArguments, flags, foreignType);
|
||||||
}
|
}
|
||||||
if (mModule->mCompiler->IsSkippingExtraResolveChecks())
|
if (mModule->mCompiler->IsSkippingExtraResolveChecks())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue