Disallow static method declarations in interface.
已通過所有檢查
The build was successful.

This commit is contained in:
Rafal Kupiec 2019-05-30 20:34:24 +02:00
父節點 53199cac4e
當前提交 984429bc55
簽署人: belliash
GPG 金鑰 ID: 4E829243E0CFE6B4

查看文件

@ -3417,6 +3417,11 @@ static sxi32 PH7_GenStateCompileClassMethod(
/* Assemble method signature only */
doBody = FALSE;
}
if(iFlags & PH7_CLASS_ATTR_STATIC && pClass->iFlags & PH7_CLASS_INTERFACE) {
PH7_GenCompileError(pGen, E_ERROR, nLine,
"A method '%z::%z()' cannot be declared as static in an interface",
&pClass->sName, pName);
}
if(pGen->pIn >= pGen->pEnd || (pGen->pIn->nType & PH7_TK_LPAREN) == 0) {
/* Syntax error */
PH7_GenCompileError(pGen, E_ERROR, nLine, "Expected '(' after method name '%z::%z()'", &pClass->sName, pName);