/** * @return bool */ private function canBeProcessed(ReflectionClass $reflection) { if (!$reflection->isMain()) { return FALSE; } if (!$reflection->isDocumented()) { return FALSE; } if (isset($this->processed[$reflection->getName()])) { return FALSE; } return TRUE; }
/** * @return array {[ traitName => ReflectionMethod[] ]} */ public function getUsedMethods() { $usedMethods = []; foreach ($this->reflectionClass->getMethods() as $method) { if ($method->getDeclaringTraitName() === NULL || $method->getDeclaringTraitName() === $this->reflectionClass->getName()) { continue; } $usedMethods[$method->getDeclaringTraitName()][$method->getName()]['method'] = $method; if ($method->getOriginalName() !== NULL && $method->getOriginalName() !== $method->getName()) { $usedMethods[$method->getDeclaringTraitName()][$method->getName()]['aliases'][$method->getName()] = $method; } } return $usedMethods; }
/** * @return array */ private function sortElements(array $elements, array $allElements, ReflectionClass $reflectionClass) { if (!empty($elements)) { ksort($elements); $allElements[$reflectionClass->getName()] = array_values($elements); } return $allElements; }
/** * @return ReflectionClass[]|array */ public function getIndirectImplementersOfInterface(ReflectionClass $reflectionClass) { $implementers = []; foreach ($this->classes as $class) { if ($this->isAllowedIndirectImplementer($class, $reflectionClass->getName())) { $implementers[] = $class; } } uksort($implementers, 'strcasecmp'); return $implementers; }
/** * Returns an property pretty (docblock compatible) name. * * @return string */ public function getPrettyName() { return sprintf('%s::%s()', $this->declaringClass->getName(), $this->name); }
/** * Returns a link to property in class summary file. * * @param \ApiGen\Reflection\ReflectionProperty $property Property reflection * @param \ApiGen\Reflection\ReflectionClass $class Property declaring class * @return string */ public function getPropertyUrl(Reflection\ReflectionProperty $property, Reflection\ReflectionClass $class = null) { $className = null !== $class ? $class->getName() : $property->getDeclaringClassName(); return $this->getClassUrl($className) . '#' . ($property->isMagic() ? 'm' : '') . '$' . $property->getName(); }
/** * Returns a link to class summary file. * * @param string|\ApiGen\Reflection\ReflectionClass $class Class reflection or name * @return string */ public function getClassUrl($class) { $className = $class instanceof Reflection\ReflectionClass ? $class->getName() : $class; return sprintf($this->config->template->templates->main->class->filename, $this->urlize($className)); }
/** * @return string */ public function createForProperty(ReflectionProperty $property, ReflectionClass $class = NULL) { $className = $class !== NULL ? $class->getName() : $property->getDeclaringClassName(); return $this->createForClass($className) . '#' . ($property->isMagic() ? 'm' : '') . '$' . $property->getName(); }
/** * @return bool */ private function isReservedClass(ReflectionClass $class) { $reservedClasses = ['stdClass', 'Closure', 'Directory']; return in_array($class->getName(), $reservedClasses); }