Re: hasType() for internal function parameters?
| From: | Rasmus Lerdorf | Date: | Sun, 21 Jun 2015 21:57:32 +0000 |
| Subject: | Re: hasType() for internal function parameters? | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-86772@lists.php.net to get a copy of this message | ||
On 06/21/2015 03:40 PM, Kalle Sommer Nielsen wrote:
> Hi
>
> 2015-06-21 20:58 GMT+02:00 Rasmus Lerdorf <rasmus@lerdorf.com>:
>> Or we bite the bullet and fix the arginfo everywhere to make it
>> consistent. It wouldn't be that hard to write a script to generate the
>> bulk of it.
>
> I think fixing arginfo sounds like the right solution, writing a
> script for it should not be so trival.
Even the ones that have some arginfo aren't all correct.
For example:
https://github.com/php/php-src/blob/master/Zend/zend_builtin_functions.c#L132
which currently says:
ZEND_BEGIN_ARG_INFO_EX(arginfo_define, 0, 0, 3)
ZEND_ARG_INFO(0, constant_name)
ZEND_ARG_INFO(0, value)
ZEND_ARG_INFO(0, case_insensitive)
ZEND_END_ARG_INFO()
That says there are 3 required params when it should clearly be 2.
But really that block should be:
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_define, 0, 2, _IS_BOOL,
0, 0)
ZEND_ARG_TYPE_INFO(0, constant_name, IS_STRING, 0)
ZEND_ARG_INFO(0, value)
ZEND_ARG_TYPE_INFO(0, case_insensitive, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
It seems way too lazy to not fix these before we release 7.0. Especially
the ones that are outright wrong. So, having called us lazy, I better
dig in and do something about it. I'll fix up all of the ones in
zend_builtin_functions.c today. And move on to others after. Definitely
a tedious task that we could use some extra hands on.
-Rasmus
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc