Validate method visibility, final overrides and effective virtual contracts across C3 MRO
Build / AerScript (push) Failing after 40s
Build / AerScript (push) Failing after 40s
This commit is contained in:
+1
-2
@@ -895,8 +895,7 @@ static ph7_vm_func *VmOverload(
|
||||
for(pLink = pEntry ? (ph7_vm_func *)pEntry->pUserData : 0; pLink; pLink = pLink->pNextName) {
|
||||
pMeth = (ph7_class_method *)pLink;
|
||||
if((pMeth->iFlags & PH7_CLASS_ATTR_VIRTUAL) ||
|
||||
(bStatic && !(pMeth->iFlags & PH7_CLASS_ATTR_STATIC) &&
|
||||
(pLookup->iFlags & (PH7_CLASS_FINAL | PH7_CLASS_VIRTUAL)) != (PH7_CLASS_FINAL | PH7_CLASS_VIRTUAL)) ||
|
||||
(bStatic && !(pMeth->iFlags & PH7_CLASS_ATTR_STATIC)) ||
|
||||
(!bInternal && !VmClassMemberAccess(pVm, pLink->pClass, pMeth->iProtection))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user