private function registerReflectors(InterfaceReflector $reflector) { if (!$this->reflector) { $this->reflector = $reflector; } $loader = $this->autoLoader; /** * @var $method MethodReflector */ $reflector->getName(); foreach ($reflector->getMethods() as $method) { $this->data['methods'][$method->getShortName()][] = $method; } if ($reflector instanceof ClassReflector || $reflector instanceof TraitReflector) { if ($parent = $reflector->getParentClass()) { $filename = $loader($parent); if (is_readable($filename)) { $parser = $this->parserFactory->newInstance($filename, $loader); $this->data = array_merge_recursive($this->data, $parser->getData()); } } if ($traits = $reflector->getTraits()) { foreach ($traits as $trait) { $filename = $loader($trait); if (is_readable($filename)) { $parser = $this->parserFactory->newInstance($filename, $loader); $this->data = array_merge_recursive($this->data, $parser->getData()); } } } } if (method_exists($reflector, 'getInterfaces')) { foreach ($reflector->getInterfaces() as $interface) { $filename = $loader($interface); if (is_readable($filename)) { $parser = $this->parserFactory->newInstance($filename, $loader); $this->data = array_merge_recursive($this->data, $parser->getData()); } } } }