#22383 [Opn->Csd]: A class that inherits an abstract method must be abstract
ID: 22383
Updated by: helly@php.net
Reported By: helly@php.net
-Status: Open
+Status: Closed
Bug Type: Zend Engine 2 problem
Operating System: ALL
PHP Version: 5CVS-2003-02-22 (dev)
New Comment:
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2003-04-18 18:17:31] thekid at thekid dot de
Running the test tests/classes/abstract_inherit.phpt shows "PASS".
Output is Fatal error: Cannot instantiate abstract class fail in
/usr/home/thekid/devel/php/php5/- on line 10 as expected.
------------------------------------------------------------------------
[2003-02-22 21:14:05] helly@php.net
See file & output of:
php runtests.php tests/classes/abstract_inherit.phpt
Analyse:
When i first implemented abstract and visibility for ZE2
i changed the way do_inherit_method() worked. I used a
modified version of zend_hash_merge_ex() to merge the
inherited functions. This mdification allowed me to change
the class entry of the class beeing defined.
Today this modification did not find its way into the
engine because the current code uses better code. However
i guess we must have access to the current class in
do_inherit_method().
For future modifications we may also need to mofify the
inherited function in do_inherit_method().
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22383&edit=1
Thread (3 messages)