vrana           Fri Nov 19 05:17:57 2004 EDT

  Modified files:              
    /phpdoc/scripts     check-references.php 
  Log:
  Objects are written as appropriate class name
  
http://cvs.php.net/diff.php/phpdoc/scripts/check-references.php?r1=1.10&r2=1.11&ty=u
Index: phpdoc/scripts/check-references.php
diff -u phpdoc/scripts/check-references.php:1.10 
phpdoc/scripts/check-references.php:1.11
--- phpdoc/scripts/check-references.php:1.10    Thu Nov 11 09:55:24 2004
+++ phpdoc/scripts/check-references.php Fri Nov 19 05:17:56 2004
@@ -70,6 +70,7 @@
 );
 
 $valid_types = "int|float|string|bool|resource|array|object|mixed|number";
+$invalid_types = "integer|long|double|boolean|class"; // objects are written 
as appropriate class name so there is no complete list of valid types
 $operators = "!=|<=?|>=?|==";
 $max_args = 12; // maximum number of regular function arguments
 
@@ -233,7 +234,7 @@
                $methodsynopsis = $matches[4];
                
                // return type
-               if (!preg_match("~<type>(void|$valid_types)</type>~", 
$return_type)) {
+               if (preg_match("~<type>(callback|$invalid_types)</type>~", 
$return_type)) {
                        echo "Wrong return type in $filename on line 
$lineno.\n";
                }
                
@@ -258,7 +259,7 @@
                // parameter types and optional
                
preg_match_all('~<methodparam(\\s+choice=[\'"]opt[\'"])?>\\s*<type>([^<]+)</type>\\s*<parameter(?:
 role="reference")?>([^<]+)~i', $methodsynopsis, $matches); // 
(PREG_OFFSET_CAPTURE can be used to get precise line numbers)
                foreach ($matches[2] as $i => $val) {
-                       if (!preg_match("~callback|$valid_types~", $val)) {
+                       if (preg_match("~^(void|$invalid_types)\$~", $val)) {
                                echo "Parameter #" . ($i+1) . " has wrong type 
'$val' in $filename on line " . ($lineno + $i + 1) . ".\n";
                        }
                }
@@ -274,7 +275,7 @@
                                        $optional_source = true;
                                        continue;
                                } elseif (isset($matches[2][$i])) { // 
sufficient number of parameters in the documentation
-                                       if ($matches[2][$i] != $param && $param 
!= "mixed") {
+                                       if ($matches[2][$i] != $param && $param 
!= "mixed" && ($param != "object" || preg_match("~$valid_types~", 
$matches[2][$i]))) {
                                                $error .= "Parameter #" . 
($i+1) . " should be of type $param (is " . $matches[2][$i] . ") in $filename 
on line " . ($lineno + $i + 1) . ".\n";
                                        }
                                        if (!empty($matches[1][$i])) {

Reply via email to