Browse Source

Always select an appropriate function to call

It does not matter, if we call function, anonymouss function or method. It is important to select appropriate function to call everytime. Otherwise, if function or method is not overloaded it will call it regardless the number
and type of parameters it takes.
type
pull/44/head
Rafal Kupiec 4 years ago
parent
commit
bca4d1a2fa
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
  1. 6
      engine/vm.c

6
engine/vm.c

@ -5233,10 +5233,8 @@ static sxi32 VmByteCodeExec(
PH7_MemObjRelease(pTos);
break;
}
if(pVmFunc->pNextName) {
/* Function is candidate for overloading,select the appropriate function to call */
pVmFunc = VmOverload(&(*pVm), pVmFunc, pArg, (int)(pTos - pArg));
}
/* Always select an appropriate function to call */
pVmFunc = VmOverload(&(*pVm), pVmFunc, pArg, (int)(pTos - pArg));
/* Extract the formal argument set */
aFormalArg = (ph7_vm_func_arg *)SySetBasePtr(&pVmFunc->aArgs);
/* Create a new VM frame */

Loading…
Cancel
Save