[Solar-svn] Revision 2815
pmjones at solarphp.com
pmjones at solarphp.com
Sat Oct 6 09:33:46 CDT 2007
Solar_Docs_Apiref
-----------------
* [CHG] Class-level structure now includes 'abstract', 'final', and
'interface' keys; method-level structure now includes 'abstract' key.
(also, uses new Solar-Class_Map methods)
Modified: trunk/Solar/Docs/Apiref.php
===================================================================
--- trunk/Solar/Docs/Apiref.php 2007-10-06 14:31:41 UTC (rev 2814)
+++ trunk/Solar/Docs/Apiref.php 2007-10-06 14:33:46 UTC (rev 2815)
@@ -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");
@@ -275,7 +282,7 @@
$name = $this->api[$class]['tech']['subpackage']['name'];
$this->subpackages[$name][] = $class;
}
-
+
// add the class parents, properties and methods
$this->_addParents($class);
$this->_addConstants($class);
@@ -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