Hi Zeev,
I have changed the test files and encountered some problems with the way
you modified my patch:
1) private_002.phpt fails with
004- Fatal error: Call to private method pass::show() from context 'fail'
in %s on line %d
004+ Fatal error: Call to public method fail::show() from context 'fail' in
/usr/src/php4-HEAD/tests/classes/private_002.php on line 18
The new error message is wrong. We are trying to access pass::show and not
fail::show().
2) private_007.phpt and private_007b.phpt both fail with the message
Fatal error: Cannot redeclare private bar::priv() as public foo::priv()
That means the children know about their parents privates what is in
contrast to
our discussion. The reason they do is because you skipped the part of the patch
where in zend_do_inheritance() a modified version of zend_hash_merge_ex() was
used to prevent this. But you also do not search for the private method in
the calling
scope. In other words you mainly used the first version of my patch. So i
tried to
strip down zend_hash_merge_with_argument_if() to the portion we need and tried
to skip copying zje privates. But since privates are no longer looked up in
the
calling scope this fails.
3) You left in some snippets of the 'final' patch. Does this mean we are
going to have
final? A new patch is also available.
Testfiles and patches can be downloaded here:
http://marcus-boerger.de/php/ext/ze2/
regards
marcus
By the way what does ZEND_ACC_xxx stand for?
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php
- [PHP-DEV] Re: Latest ZE2 changes Marcus Börger
- [PHP-DEV] Re: Latest ZE2 changes Zeev Suraski
- Re: [PHP-DEV] Re: Latest ZE2 changes Marcus Börger
- Re: [PHP-DEV] Re: Latest ZE2 changes Marcus Börger
- Re: [PHP-DEV] Re: Latest ZE2 changes Zeev Suraski
- Re: [PHP-DEV] Re: Latest ZE2 changes Marcus Börger
- Re: [PHP-DEV] Re: Latest ZE2 chang... Zeev Suraski