|
Gustavo Lopes |
at Jan 18, 2012 at 10:35 am
|
⇧ |
| |
On Wed, 18 Jan 2012 00:00:09 +0100, Jan Dolecek wrote:
This issue seems much more complicated than I thought. We'll need to
consider all cases which could cause troubles and have a solution for
them.
Namely:
- rewriting permanent structures for internal classes, which are
being kept between requests, must be avoided
- races in threading models
- rewriting in bytecode caches must be avoided
- anything else in mind?
I'll try to think about it, but I'm not that experienced with php
internals, so any suggestions welcome.
I think you should approach it in a different way. Don't remove the final
modifier, just ignore it in some circumstances (e.g. interface,
annotation). PHP doesn't support annotations (at the engine level) and
interface processing is currently done after checking the final class
flag; additionally, there may be some code that relies final classes not
having subclasses to this is probably still not going to be trivial.
--
Gustavo Lopes