protected CharSequence _generate(final CodeRef cRef) {
CharSequence _xblockexpression = null;
{
String _xifexpression = null;
boolean _and = false;
JvmDeclaredType _element = cRef.getElement();
if (!(_element instanceof JvmAnnotationType)) {
_and = false;
} else {
TextOrMarkup _altText = cRef.getAltText();
boolean _equals = Objects.equal(_altText, null);
_and = _equals;
}
if (_and) {
_xifexpression = "@";
}
final String prefix = _xifexpression;
JvmDeclaredType _element_1 = cRef.getElement();
final String jDocLink = this.jdoc.genJavaDocLink(_element_1);
JvmDeclaredType _element_2 = cRef.getElement();
final String gitLink = this.git.gitLink(_element_2);
JvmDeclaredType _element_3 = cRef.getElement();
char _charAt = ".".charAt(0);
String _qualifiedName = _element_3.getQualifiedName(_charAt);
String _unescapeXdocChars = this.utils.unescapeXdocChars(_qualifiedName);
final String fqn = this.utils.escapeHTMLChars(_unescapeXdocChars);
CharSequence _xifexpression_1 = null;
TextOrMarkup _altText_1 = cRef.getAltText();
boolean _notEquals = (!Objects.equal(_altText_1, null));
if (_notEquals) {
TextOrMarkup _altText_2 = cRef.getAltText();
_xifexpression_1 = this.generate(_altText_2);
} else {
JvmDeclaredType _element_4 = cRef.getElement();
_xifexpression_1 = this.dottedSimpleName(_element_4);
}
final CharSequence text = _xifexpression_1;
String _xifexpression_2 = null;
boolean _notEquals_1 = (!Objects.equal(jDocLink, null));
if (_notEquals_1) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("<a class=\"jdoc\" href=\"");
JvmDeclaredType _element_5 = cRef.getElement();
String _genJavaDocLink = this.jdoc.genJavaDocLink(_element_5);
_builder.append(_genJavaDocLink, "");
_builder.append("\" title=\"View JavaDoc\"><abbr title=\"");
_builder.append(fqn, "");
_builder.append("\" >");