diff options
| author | Zeev Suraski <zeev@php.net> | 2003-03-18 16:30:23 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2003-03-18 16:30:23 +0000 |
| commit | 40326f6adf7110bd6676bf7445cff7483cf173fb (patch) | |
| tree | d4329286d2fd1817ff7892bb263713ced31a64b7 /Zend/zend_compile.c | |
| parent | b21fdb762a7d98241b8070e3b22a7310cfb014da (diff) | |
| download | php-git-40326f6adf7110bd6676bf7445cff7483cf173fb.tar.gz | |
- Fix situation where a derived class declares a public (or implicit public)
with the same name as a private in the parent
- Optimize 'static binding' of private properties a bit
Diffstat (limited to 'Zend/zend_compile.c')
| -rw-r--r-- | Zend/zend_compile.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 749d8f4935..a86a565ed0 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1682,6 +1682,9 @@ static zend_bool do_inherit_property_access_check(HashTable *target_ht, zend_pro zend_class_entry *parent_ce = ce->parent; if (parent_info->flags & ZEND_ACC_PRIVATE) { + if (zend_hash_quick_find(&ce->properties_info, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void **) &child_info)==SUCCESS) { + child_info->flags |= ZEND_ACC_CHANGED; + } return 0; /* don't copy access information to child */ } |
