diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2006-02-13 14:49:54 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2006-02-13 14:49:54 +0000 |
| commit | eaacf0bb2ff4bb9d85ee9bf47ddd85c15d9abb5e (patch) | |
| tree | f57b9651b7b004e3bbfda8b1d30ab91f5ec25a71 | |
| parent | b238135d5330d82fc352d1ddb44927f575b22e9d (diff) | |
| download | php-git-eaacf0bb2ff4bb9d85ee9bf47ddd85c15d9abb5e.tar.gz | |
MFB51: Fixed bug #36337 (ReflectionProperty fails to return correct visibility).
| -rw-r--r-- | ext/reflection/php_reflection.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index c8af4f9b52..8c189369c6 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -3578,14 +3578,10 @@ ZEND_METHOD(reflection_property, __construct) if (!(property_info->flags & ZEND_ACC_PRIVATE)) { /* we have to seach the class hierarchy for this (implicit) public or protected property */ - zend_class_entry *tmp_ce = ce->parent; + zend_class_entry *tmp_ce = ce; zend_property_info *tmp_info; - while (tmp_ce && zend_hash_find(&tmp_ce->properties_info, name_str, name_len + 1, (void **) &tmp_info) == SUCCESS) { - if (tmp_info->flags & ZEND_ACC_PRIVATE) { - /* private in super class => NOT the same property */ - break; - } + while (tmp_ce && zend_hash_find(&tmp_ce->properties_info, name_str, name_len + 1, (void **) &tmp_info) != SUCCESS) { ce = tmp_ce; property_info = tmp_info; tmp_ce = tmp_ce->parent; |
