mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
Get the bits right - final/private fix
This commit is contained in:
parent
411478e1f6
commit
5793784c93
1 changed files with 1 additions and 1 deletions
|
@ -916,7 +916,7 @@ int zend_do_verify_access_types(znode *current_access_type, znode *new_modifier)
|
||||||
&& ((current_access_type->u.constant.value.lval & ZEND_ACC_PPP_MASK) != (new_modifier->u.constant.value.lval & ZEND_ACC_PPP_MASK))) {
|
&& ((current_access_type->u.constant.value.lval & ZEND_ACC_PPP_MASK) != (new_modifier->u.constant.value.lval & ZEND_ACC_PPP_MASK))) {
|
||||||
zend_error(E_COMPILE_ERROR, "Multiple access type modifiers are not allowed");
|
zend_error(E_COMPILE_ERROR, "Multiple access type modifiers are not allowed");
|
||||||
}
|
}
|
||||||
if ((current_access_type->u.constant.value.lval | new_modifier->u.constant.value.lval) && (ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)) {
|
if (((current_access_type->u.constant.value.lval | new_modifier->u.constant.value.lval) & (ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)) == (ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)) {
|
||||||
zend_error(E_COMPILE_ERROR, "Cannot use the final modifier on a private class member");
|
zend_error(E_COMPILE_ERROR, "Cannot use the final modifier on a private class member");
|
||||||
}
|
}
|
||||||
return (current_access_type->u.constant.value.lval | new_modifier->u.constant.value.lval);
|
return (current_access_type->u.constant.value.lval | new_modifier->u.constant.value.lval);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue