ID: 47254 User updated by: ivan1986 at list dot ru Reported By: ivan1986 at list dot ru Status: Assigned Bug Type: Reflection related Operating System: * PHP Version: 5.*, 6CVS (2009-04-25) Assigned To: felipe New Comment:
Hello! As i now C and how i understand source fix may by simpled: - ZVAL_STRINGL(classname, ce->name, ce->name_length, 1); + ZVAL_STRINGL(classname, method->common.scope->name, method->common.scope->name_length, 1); - ZVAL_STRINGL(classname, ce->name, ce->name_length, 1); + ZVAL_STRINGL(classname, prop->ce->name, prop->ce->name_length, 1); Previous Comments: ------------------------------------------------------------------------ [2009-04-27 16:48:11] j...@php.net Of course it's a bug, just commit your fix.. ------------------------------------------------------------------------ [2009-01-31 19:44:17] fel...@php.net Hi Marcus, is this actually the behavior expected? As we have the 'class' array key in the return, I believe that is really a bug. Anyway here is a simple fix: http://felipe.ath.cx/diff/bug47254.diff ------------------------------------------------------------------------ [2009-01-30 23:15:48] ivan1986 at list dot ru Description: ------------ I test this in two version: i...@ivan1986:~% /usr/bin/php -v PHP 5.2.6-3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan 25 2009 00:51:23) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies with XCache v1.2.2, Copyright (c) 2005-2007, by mOo i...@ivan1986:~% php -v PHP 6.0.0-dev (cli) (built: Nov 8 2008 02:31:17) Copyright (c) 1997-2008 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2008 Zend Technologies in CVS error now. Reproduce code: --------------- <?php class A { protected function a() {} } class B extends A { public function b() {} } $B = new B(); $R = new ReflectionObject($B); $m = $R->getMethods(); print_r($m); ?> Expected result: ---------------- Array ( [0] => ReflectionMethod Object ( [name] => b [class] => B ) [1] => ReflectionMethod Object ( [name] => a [class] => A ) ) Actual result: -------------- Array ( [0] => ReflectionMethod Object ( [name] => b [class] => B ) [1] => ReflectionMethod Object ( [name] => a [class] => B ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47254&edit=1