Nikita,

Shouldn't #3 make more sense taking into consideration this commit:
https://github.com/guilhermeblanco/php-src/commit/872a97c8dbc1c8823985d9a0305938c508865a0d
It is part of a followup PR https://github.com/php/php-src/pull/937 that
removes compiler code checks and delegates to bison, since it's a grammar
issue to accept "trait Foo extends Bar".

Regards,

On Mon, Dec 8, 2014 at 3:06 PM, Nikita Popov <nikita....@gmail.com> wrote:

> On Mon, Dec 8, 2014 at 11:45 AM, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> I don't see technical problems with the patch.
>> However, I also don't see any significant benefits.
>> From the user perspective it'll just change error messages and prevent
>> "final final class" declarations.
>>
>> Nikita, what do you think?
>>
>> Thanks. Dmitry.
>>
>
> The three parts:
>
> 1. Use ZEND_ACC_FINAL instead of ZEND_ACC_FINAL_CLASS: Looks sensible,
> given how many extensions have confused this. We should be careful that
> this change does not make anything final that many people extended (even if
> it was originally meant to be final.)
>
> 2. Don't use magic value for ZEND_ACC_TRAIT: Also makes sense, the
> behavior of the current value is pretty unclear.
>
> 3. Changing the grammar to separate class/trait declarations and have a
> modifier list: This doesn't really make much sense as things currently are
> (only one modifier allowed). I'd suggest to change this when we actually
> support multiple modifiers (e.g. with the static classes patch).
>
> Nikita
>



-- 
Guilherme Blanco
MSN: guilhermebla...@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada

Reply via email to