/**
 * returns annotation target for given reflector
 *
 * @internal
 * @param   \Reflector $reflector
 * @return  string
 * @throws  \ReflectionException
 * @since   5.3.0
 */
function _annotationTarget(\Reflector $reflector) : string
{
    if ($reflector instanceof \ReflectionClass) {
        return $reflector->getName();
    }
    if ($reflector instanceof \ReflectionMethod) {
        return $reflector->class . '::' . $reflector->getName() . '()';
    }
    if ($reflector instanceof \ReflectionFunction) {
        return $reflector->getName() . '()';
    }
    if ($reflector instanceof \ReflectionParameter) {
        return _annotationTarget($reflector->getDeclaringFunction()) . '#' . $reflector->getName();
    }
    if ($reflector instanceof \ReflectionProperty) {
        return $reflector->class . ($reflector->isStatic() ? '::$' : '->') . $reflector->getName();
    }
    throw new \ReflectionException('Can not retrieve target for ' . get_class($reflector));
}
Beispiel #2
0
 protected function reflectStatic(Reflector $ref, SimpleXMLElement $element)
 {
     if ($ref->isStatic()) {
         $element['static'] = '1';
     }
 }