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

Allow bind to 'this' functions without target

This commit is contained in:
Brian Fiete 2020-09-10 11:26:34 -07:00
parent a852bdb8cc
commit 6b6be04a22

View file

@ -5448,6 +5448,20 @@ BfTypedValue BfExprEvaluator::CreateCall(BfAstNode* targetSrc, const BfTypedValu
} }
else if (!methodDef->mIsStatic) else if (!methodDef->mIsStatic)
{ {
if ((!target) && (prevBindResult.mPrevVal != NULL))
{
auto bindResult = prevBindResult.mPrevVal;
if (bindResult->mBindType != NULL)
{
auto delegateInfo = bindResult->mBindType->GetDelegateInfo();
if ((delegateInfo != NULL) && (delegateInfo->mFunctionThisType != NULL))
{
// Allow binding a function to a 'this' type even if no target is specified
target = mModule->GetDefaultTypedValue(delegateInfo->mFunctionThisType, false, BfDefaultValueKind_Addr);
}
}
}
if (!target) if (!target)
{ {
FinishDeferredEvals(argValues); FinishDeferredEvals(argValues);