Allow non-static methods inside static (final virtual) classes to be called statically.
所有检测均成功
The build was successful.
所有检测均成功
The build was successful.
这个提交包含在:
@@ -4333,7 +4333,7 @@ static sxi32 VmByteCodeExec(
|
||||
VmPopOperand(&pTos, 1);
|
||||
}
|
||||
PH7_MemObjRelease(pTos);
|
||||
} else if((pMeth->iFlags & PH7_CLASS_ATTR_STATIC) == 0) {
|
||||
} else if((pMeth->iFlags & PH7_CLASS_ATTR_STATIC) == 0 && ((pClass->iFlags & PH7_CLASS_FINAL) == 0 || (pClass->iFlags & PH7_CLASS_VIRTUAL) == 0)) {
|
||||
PH7_VmThrowError(&(*pVm), PH7_CTX_ERR, "Attempt to call statically a non-static method '%z::%z()'",
|
||||
&pClass->sName, &sName);
|
||||
} else if(!VmClassMemberAccess(&(*pVm), pClass, pMeth->iProtection)) {
|
||||
|
在新工单中引用
屏蔽一个用户