From: cataphract Operating system: PHP version: 5.3SVN-2010-10-26 (SVN) Package: Scripting Engine problem Bug Type: Bug Bug description:ZEND_ACC_IMPLICIT_PUBLIC should be removed or used in zend_get_property_info
Description: ------------ The status of the flag ZEND_ACC_IMPLICIT_PUBLIC is somewhat unclear. In the ZE: * PHP 5.3 checks for it in a few places, but doesn't set it anymore as the body of zend_do_declare_implicit_property is commented out. * trunk retains only the definition of ZEND_ACC_IMPLICIT_PUBLIC, everything else is gone. So it seems that the flag ZEND_ACC_IMPLICIT_PUBLIC, apparently originally used to signal dynamic properties, is only used by the reflection extension. The reflection extension, not being able to depend on the Zend Engine to set it, sets the flag itself when it finds a dynamic property, i.e. a property that is in the object hash table but has no property_info (ReflectionProperty::__construct and ReflectionClass::getProperty). This would be unnecessary if zend_get_property_info set the flag ZEND_ACC_IMPLICIT_PUBLIC over here: http://lxr.php.net/opengrok/xref/PHP_TRUNK/Zend/zend_object_handlers.c#310 In that case, the reflection extension could just call zend_get_property_info and not do directly lookups in ce->properties_info. Though right now it would be possible to call zend_get_property_info and check for equality to &EG(property_info), this is suboptimal. -- Edit bug report at http://bugs.php.net/bug.php?id=53172&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53172&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53172&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53172&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53172&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53172&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53172&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53172&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53172&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53172&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53172&r=support Expected behavior: http://bugs.php.net/fix.php?id=53172&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53172&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53172&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53172&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53172&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53172&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53172&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53172&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53172&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53172&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53172&r=mysqlcfg