On Wed, Jan 11, 2017 at 9:37 AM, Dmitry Stogov <dmi...@zend.com> wrote:
> The patch was updated according to feedback: added comments, better names and 
> encapsulation, less magic, better code reuse, keep a free bit in zend_type 
> for future extension.
> <https://gist.github.com/dstogov/1b25079856afccf0d69f77d499cb0ab1>
>
>
> <https://gist.github.com/dstogov/1b25079856afccf0d69f77d499cb0ab1>
>
> https://gist.github.com/dstogov/1b25079856afccf0d69f77d499cb0ab1
>
>
> Thanks. Dmitry.
>
>
>
> ________________________________
> From: Derick Rethans <der...@php.net>
> Sent: Wednesday, January 11, 2017 6:43:50 PM
> To: Dmitry Stogov
> Cc: PHP internals list; Bob Weinand; Joe Watkins; Zeev Suraski; Anatol Belski 
> (a...@php.net); Nikita Popov; Xinchen Hui
> Subject: Re: [PHP-DEV] Change in type-hint representation
>
> On Wed, 11 Jan 2017, Dmitry Stogov wrote:
>
>> Hi,
>>
>>
>> I propose to introduce a unified type representation (zend_type).
>>
>> Now it's going to be used for typing of arguments and return values.
>>
>> Later we should use it for properties and other things.
>>
>>
>> https://gist.github.com/dstogov/1b25079856afccf0d69f77d499cb0ab1
>>
>>
>> The main changes are in zend_types.h and zend_compile.h, the rest is just an 
>> adoption for new type representation.
>>
>> I don't think we need RFC, because this is just an internal change that 
>> doesn't change behavior.
>>
>>
>> I got the idea working on typed properties together with Bob and Joe.
>>
>> https://github.com/php/php-src/compare/master...bwoebi:typed_ref_properties
>>
>> I think it would be better to introduce zend_type and then continue work on 
>> typed properties.
>>
>>
>> Any comments?
>
> 208 +                           if (new_arg_info[i].type > 0x3ff) {
>
> I wouldn't use a magical constant there, but do a define of what 0x3ff
> actually is.
>
> 209 +                                   /* this is a calss name */
>
> That's spelled "class" (not "calss").
>
> cheers,
> Derick

As part of this effort can we refactor the IS_LONG, IS_ARRAY,
IS_OBJECT, etc macros to use an enum? Maybe `zend_type_code` if you
like the `code` name for it? Also we already use "kind" in the AST;
should it be `ZEND_TYPE_KIND` and `zend_type_kind` instead?

Overall I think this cleanup is needed. Thanks, Dmitry.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to