- check all class members
[m6w6/ext-http] / scripts / check_docs.php
index d65effa1ed37733d3417192c4f976dfc532375d2..679e8caf6b2065911910344174ea1214f54685a0 100755 (executable)
@@ -4,7 +4,7 @@
 
 function re($file, $re, &$m=NULL) {
        global $doc;
-       return preg_match($re, file_get_contents("$doc/$file"), $m);
+       return file_exists("$doc/$file") ? preg_match($re, file_get_contents("$doc/$file"), $m) : 0;
 }
 function fe($file) {
        global $doc;
@@ -38,12 +38,20 @@ foreach ($ext->getFunctions() as $func) {
 }
 printf("\n");
 
-printf("Undocumented classes/methods:\n");
+printf("Undocumented classes/members:\n");
 foreach ($ext->getClasses() as $class) {
         if (substr($class->getName(), -strlen("Exception")) === "Exception") continue;
        /* @var $class ReflectionClass */
        fg(sprintf("%s.xml", $class->getName())) or printf(" %s\n", $class->getName());
+       foreach ($class->getConstants() as $name => $tmp) {
+               re($class->getName().".xml", "#>$name<#") or printf("\t%s::%s (%s)\n", $class->getName(), $name, $tmp);
+       }
+       foreach ($class->getProperties() as $prop) {
+               // blatant guess
+               re($class->getName().".xml", "#>{$prop->getName()}<#") or printf("\t%s::$%s\n", $class->getName(), $prop->getName());
+       }
        foreach ($class->getMethods() as $meth) {
+               /* @var $meth ReflectionMethod */
                fg(sprintf("%s/%s.xml", $class->getName(), strtr(trim($meth->getName(),'_'),'_','-'))) or printf("\t%s::%s()\n", $class->getName(), $meth->getName());
        }
        printf("\n");