mirror of
https://github.com/php/php-src.git
synced 2026-04-12 18:43:37 +02:00
Cannot turn a static property into a non static one and vice versa
This commit is contained in:
@@ -1750,6 +1750,12 @@ static zend_bool do_inherit_property_access_check(HashTable *target_ht, zend_pro
|
||||
}
|
||||
|
||||
if (zend_hash_quick_find(&ce->properties_info, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void **) &child_info)==SUCCESS) {
|
||||
if ((parent_info->flags & ZEND_ACC_STATIC) != (child_info->flags & ZEND_ACC_STATIC)) {
|
||||
zend_error(E_COMPILE_ERROR, "Cannot redeclare %s%s::$%s as %s%s::$%s",
|
||||
(parent_info->flags & ZEND_ACC_STATIC) ? "static " : "non static ", parent_ce->name, hash_key->arKey,
|
||||
(child_info->flags & ZEND_ACC_STATIC) ? "static " : "non static ", ce->name, hash_key->arKey);
|
||||
|
||||
}
|
||||
if ((child_info->flags & ZEND_ACC_PPP_MASK) > (parent_info->flags & ZEND_ACC_PPP_MASK)) {
|
||||
zend_error(E_COMPILE_ERROR, "Access level to %s::$%s must be %s (as in class %s)%s", ce->name, hash_key->arKey, zend_visibility_string(parent_info->flags), parent_ce->name, (parent_info->flags&ZEND_ACC_PUBLIC) ? "" : " or weaker");
|
||||
} else if (child_info->flags & ZEND_ACC_IMPLICIT_PUBLIC) {
|
||||
|
||||
Reference in New Issue
Block a user