private function findOverriddenMethodsForDocInheritance($methodName, Clazz $clazz) { $methods = array(); foreach ($clazz->getImplementedInterfaces() as $interfaceName) { if (null !== ($interface = $this->registry->getClass($interfaceName))) { if ($interface->hasMethod($methodName)) { $methods[] = $interface->getMethod($methodName); } } } $superClass = $clazz; while (null !== ($superClass = $superClass->getSuperClassType())) { if ($superClass->hasMethod($methodName) && ($parentMethod = $superClass->getMethod($methodName)) && $parentMethod->isAbstract()) { $methods[] = $parentMethod; } } return $methods; }