1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +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)
{
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)
{
FinishDeferredEvals(argValues);