[Solar-svn] Revision 2677

pmjones at solarphp.com pmjones at solarphp.com
Thu Aug 9 14:16:07 CDT 2007


Branch: Solar_Docs_Apiref: [CHG] Class-level structure now includes 'abstract',  'final', and 'interface' keys; method-level structure now includes 'abstract' key.


Modified: branches/orm/Solar/Docs/Apiref.php
===================================================================
--- branches/orm/Solar/Docs/Apiref.php	2007-08-09 19:10:48 UTC (rev 2676)
+++ branches/orm/Solar/Docs/Apiref.php	2007-08-09 19:16:07 UTC (rev 2677)
@@ -231,7 +231,8 @@
     public function addFiles($base, $class = null)
     {
         $map = Solar::factory('Solar_Class_Map');
-        $source = $map->fetch($base, $class);
+        $map->setBase($base);
+        $source = $map->fetch($class);
         foreach ($source as $class => $file) {
             require_once($file);
             $this->addClass($class);
@@ -253,10 +254,16 @@
             return false;
         }
         
+        $reflect = new ReflectionClass($class);
+        
         // add top-level class docs
-        $reflect = new ReflectionClass($class);
         $this->api[$class] = $this->_phpdoc->parse($reflect->getDocComment());
         
+        // definition info
+        $this->api[$class]['abstract'] = $reflect->isAbstract() ? 'abstract' : false;
+        $this->api[$class]['final'] = $reflect->isFinal() ? 'final' : false;
+        $this->api[$class]['interface'] = $reflect->isInterface() ? 'interface' : false;
+        
         // needs a summary line
         if (empty($this->api[$class]['summ'])) {
             $this->_log($class, "class '$class' has no summary");
@@ -437,17 +444,18 @@
             
             // the basic method information
             $info = array(
-                'from' => false,
-                'name'   => $name,
-                'summ'   => $docs['summ'],
-                'narr'   => $docs['narr'],
-                'tech'   => $docs['tech'],
-                'access' => null,
-                'static' => $method->isStatic() ? 'static' : false,
-                'final'  => $method->isFinal() ? 'final' : false,
-                'return' => null,
-                'byref'  => $method->returnsReference() ? '&' : false,
-                'params' => array(),
+                'from'     => false,
+                'name'     => $name,
+                'summ'     => $docs['summ'],
+                'narr'     => $docs['narr'],
+                'tech'     => $docs['tech'],
+                'abstract' => $method->isAbstract() ? 'abstract' : false,
+                'access'   => null,
+                'static'   => $method->isStatic() ? 'static' : false,
+                'final'    => $method->isFinal() ? 'final' : false,
+                'return'   => null,
+                'byref'    => $method->returnsReference() ? '&' : false,
+                'params'   => array(),
             );
             
             // add the access visibility




More information about the Solar-svn mailing list