public function resolveLink($definition, ElementReflectionInterface $reflectionElement)
{
if (empty($definition)) {
return null;
}
$suffix = '';
if (substr($definition, -2) === '[]') {
$definition = substr($definition, 0, -2);
$suffix = '[]';
}
$element = $this->elementResolver->resolveElement($definition, $reflectionElement, $expectedName);
if ($element === null || $element instanceof FunctionReflectionInterface) {
return $expectedName;
}
$classes = [];
if ($element->isDeprecated()) {
$classes[] = 'deprecated';
}
/** @var FunctionReflectionInterface $element */
if (!$element->isValid()) {
$classes[] = 'invalid';
}
$link = $this->createLinkForElement($element, $classes);
return '<code>' . $link . $suffix . '</code>';
}