Hi,

i saw some cvs commits (recently didou's) and some bug-reports that were about incorrectly documented return values of functions. I thought it would be usefull to write a script that would run through the php-src as well as the phpdoc tree and grab the relevant sections to compare the defined return values. The script is really alpha, and thus i would like to show you the results before posting the script-source (if it's appreciated).

Attached to this e-mail you see the file which is generated by the script. For now it cotains 259 non matching return values. I checked some and saw that e.g in abs() the return value was documented as 'number' and in the source it was defined as an 'int'. So as i said, this list may not be entirely correct, but i looked at a few functions such as syslog() which seem to need an update. The file attached is in following format (let's take syslog as an example):

syslog (x: int | c: bool)

The sourcefile (c) says a bool should be returned and the docs (x) say its an int. If anyone would like to have a look ...

Our proto checked scripts are supposed to catch return value inconsistencies. See phpdoc/scripts/bughunter.php. This does not mean that a better script might not be desired, but it would be better to not have multiple scripts for the same purpose, but integrate functionalities instead.


Goba

Reply via email to