From: Ilia Alshanetsky Date: Wed, 8 Feb 2006 00:36:57 +0000 (+0000) Subject: Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect X-Git-Tag: php-5.1.3RC1~129 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0a6b074034efa9ef2a82c4a3b704f5fbccaa3e59;p=php Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect extended class commentary). --- diff --git a/NEWS b/NEWS index 469428d58f..022614436c 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,8 @@ PHP NEWS - Added imap_savebody() that allows message body to be written to a file. (Mike) - Fixed imagecolorallocate() and imagecolorallocatelapha() to return FALSE on error. (Pierre) +- Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect + extended class commentary). (Ilia) - Fixed bug #36306 (crc32() differ on 32-bit and 64-bit platforms) (anight@eyelinkmedia dot com, Pierre) - Fixed bug #36303 (foreach on error_zval produces segfault). (Dmitry) diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 54d8e27658..411e0ece15 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1070,14 +1070,10 @@ static void reflection_property_factory(zend_class_entry *ce, zend_property_info if (!(prop->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, prop_name, strlen(prop_name) + 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, prop_name, strlen(prop_name) + 1, (void **) &tmp_info) != SUCCESS) { ce = tmp_ce; prop = tmp_info; tmp_ce = tmp_ce->parent;