diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java b/java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java
index 8db545ee82ba..33e5539615aa 100644
--- a/java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java
+++ b/java/java-psi-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java
@@ -253,13 +253,13 @@ public class JavaDocInfoGenerator {
public static String generateSignature(PsiElement element) {
StringBuilder buf = new StringBuilder();
if (element instanceof PsiClass) {
- if (generateClassSignature(buf, (PsiClass)element)) return null;
+ if (generateClassSignature(buf, (PsiClass)element, false)) return null;
}
else if (element instanceof PsiField) {
- generateFieldSignature(buf, (PsiField)element);
+ generateFieldSignature(buf, (PsiField)element, false);
}
else if (element instanceof PsiMethod) {
- generateMethodSignature(buf, (PsiMethod)element);
+ generateMethodSignature(buf, (PsiMethod)element, false);
}
return buf.toString();
}
@@ -307,7 +307,7 @@ public class JavaDocInfoGenerator {
}
buffer.append("
");
- if (generateClassSignature(buffer, aClass)) return;
+ if (generateClassSignature(buffer, aClass, true)) return;
buffer.append("");
//buffer.append("
");
@@ -321,8 +321,8 @@ public class JavaDocInfoGenerator {
generateEpilogue(buffer);
}
- private static boolean generateClassSignature(StringBuilder buffer, PsiClass aClass) {
- generateAnnotations(buffer, aClass);
+ private static boolean generateClassSignature(StringBuilder buffer, PsiClass aClass, boolean generateLink) {
+ generateAnnotations(buffer, aClass, generateLink);
String modifiers = PsiFormatUtil.formatModifiers(aClass, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
if (!modifiers.isEmpty()) {
buffer.append(modifiers);
@@ -355,7 +355,7 @@ public class JavaDocInfoGenerator {
}
else {
for (int i = 0; i < refs.length; i++) {
- generateType(buffer, refs[i], aClass);
+ generateType(buffer, refs[i], aClass, generateLink);
if (i < refs.length - 1) {
buffer.append(", ");
}
@@ -369,7 +369,7 @@ public class JavaDocInfoGenerator {
if (refs.length > 0) {
buffer.append("implements ");
for (int i = 0; i < refs.length; i++) {
- generateType(buffer, refs[i], aClass);
+ generateType(buffer, refs[i], aClass, generateLink);
if (i < refs.length - 1) {
buffer.append(", ");
}
@@ -472,7 +472,7 @@ public class JavaDocInfoGenerator {
}
buffer.append("");
- generateFieldSignature(buffer, field);
+ generateFieldSignature(buffer, field, true);
buffer.append("");
//buffer.append("
");
@@ -487,14 +487,14 @@ public class JavaDocInfoGenerator {
generateEpilogue(buffer);
}
- private static void generateFieldSignature(StringBuilder buffer, PsiField field) {
- generateAnnotations(buffer, field);
+ private static void generateFieldSignature(StringBuilder buffer, PsiField field, boolean generateLink) {
+ generateAnnotations(buffer, field, generateLink);
String modifiers = PsiFormatUtil.formatModifiers(field, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
if (!modifiers.isEmpty()) {
buffer.append(modifiers);
buffer.append(" ");
}
- generateType(buffer, field.getType(), field);
+ generateType(buffer, field.getType(), field, generateLink);
buffer.append(" ");
buffer.append("");
buffer.append(field.getName());
@@ -696,17 +696,21 @@ public class JavaDocInfoGenerator {
}
}
- private static void generateAnnotations(@NonNls @NotNull StringBuilder buffer, @NotNull PsiModifierListOwner owner) {
+ private static void generateAnnotations(@NonNls @NotNull StringBuilder buffer, @NotNull PsiModifierListOwner owner, boolean generateLink) {
final PsiModifierList ownerModifierList = owner.getModifierList();
if (ownerModifierList == null) return;
- generateAnnotations(buffer, owner, ownerModifierList.getAnnotations(), false);
+ generateAnnotations(buffer, owner, ownerModifierList.getAnnotations(), false, generateLink);
final PsiAnnotation[] externalAnnotations = ExternalAnnotationsManager.getInstance(owner.getProject()).findExternalAnnotations(owner);
if (externalAnnotations != null) {
- generateAnnotations(buffer, owner, externalAnnotations, true);
+ generateAnnotations(buffer, owner, externalAnnotations, true, generateLink);
}
}
- private static void generateAnnotations(StringBuilder buffer, PsiModifierListOwner owner, PsiAnnotation[] annotations, boolean external) {
+ private static void generateAnnotations(StringBuilder buffer,
+ PsiModifierListOwner owner,
+ PsiAnnotation[] annotations,
+ boolean external,
+ boolean generateLink) {
PsiManager manager = owner.getManager();
for (PsiAnnotation annotation : annotations) {
@@ -718,7 +722,7 @@ public class JavaDocInfoGenerator {
if (AnnotationUtil.isAnnotated(annotationType, "java.lang.annotation.Documented", false)) {
final PsiClassType type = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory().createType(annotationType, PsiSubstitutor.EMPTY);
buffer.append("@");
- generateType(buffer, type, owner);
+ generateType(buffer, type, owner, generateLink);
final PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
if (attributes.length > 0) {
buffer.append("(");
@@ -764,7 +768,7 @@ public class JavaDocInfoGenerator {
buffer.append(modifiers);
buffer.append(" ");
}
- generateAnnotations(buffer, parameter);
+ generateAnnotations(buffer, parameter, true);
generateType(buffer, parameter.getType(), parameter);
buffer.append(" ");
buffer.append("");
@@ -809,7 +813,7 @@ public class JavaDocInfoGenerator {
}
buffer.append("");
- generateMethodSignature(buffer, method);
+ generateMethodSignature(buffer, method, true);
buffer.append("");
//buffer.append("
");
@@ -839,8 +843,8 @@ public class JavaDocInfoGenerator {
generateEpilogue(buffer);
}
- private static void generateMethodSignature(StringBuilder buffer, PsiMethod method) {
- generateAnnotations(buffer, method);
+ private static void generateMethodSignature(StringBuilder buffer, PsiMethod method, boolean generateLink) {
+ generateAnnotations(buffer, method, generateLink);
String modifiers = PsiFormatUtil.formatModifiers(method, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
int indent = 0;
if (!modifiers.isEmpty()) {
@@ -858,7 +862,7 @@ public class JavaDocInfoGenerator {
}
if (method.getReturnType() != null) {
- indent += generateType(buffer, method.getReturnType(), method);
+ indent += generateType(buffer, method.getReturnType(), method, generateLink);
buffer.append(" ");
indent++;
}
@@ -873,8 +877,8 @@ public class JavaDocInfoGenerator {
PsiParameter[] parms = method.getParameterList().getParameters();
for (int i = 0; i < parms.length; i++) {
PsiParameter parm = parms[i];
- generateAnnotations(buffer, parm);
- generateType(buffer, parm.getType(), method);
+ generateAnnotations(buffer, parm, generateLink);
+ generateType(buffer, parm.getType(), method, generateLink);
buffer.append(" ");
if (parm.getName() != null) {
buffer.append(parm.getName());