protected function parseClassLists()
{
$this->declared = array_flip(array_merge(get_declared_classes(), get_declared_interfaces()));
foreach ($this->getNamespaces() as $namespace) {
foreach ($namespace->getClasses() as $name => $ref) {
$class = $this->reflectionFactory->createFromReflection($ref);
$this->allClasses[self::TOKENIZED_CLASSES][$name] = $class;
if (!$class->isDocumented()) {
continue;
}
$this->loadParentClassesAndInterfacesFromClassReflection($ref);
}
}
foreach ($this->allClasses[self::TOKENIZED_CLASSES] as $class) {
if (!$class->isDocumented()) {
continue;
}
foreach ($class->getOwnMethods() as $method) {
$this->processFunction($method);
}
foreach ($class->getOwnProperties() as $property) {
$this->loadAnnotationFromReflection($class, $property->getAnnotations(), 'var');
}
}
foreach ($this->getFunctions() as $function) {
$this->processFunction($function);
}
array_walk_recursive($this->allClasses, function (&$reflection) {
if (!$reflection instanceof ReflectionClass) {
$reflection = $this->reflectionFactory->createFromReflection($reflection);
}
});
return $this->allClasses;
}