/** * 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)); }
protected function reflectStatic(Reflector $ref, SimpleXMLElement $element) { if ($ref->isStatic()) { $element['static'] = '1'; } }