mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 19:02:13 +07:00
allow to hide type links
This commit is contained in:
@@ -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("<PRE>");
|
||||
if (generateClassSignature(buffer, aClass)) return;
|
||||
if (generateClassSignature(buffer, aClass, true)) return;
|
||||
buffer.append("</PRE>");
|
||||
//buffer.append("<br>");
|
||||
|
||||
@@ -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("<PRE>");
|
||||
generateFieldSignature(buffer, field);
|
||||
generateFieldSignature(buffer, field, true);
|
||||
buffer.append("</PRE>");
|
||||
//buffer.append("<br>");
|
||||
|
||||
@@ -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("<b>");
|
||||
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("<b>");
|
||||
@@ -809,7 +813,7 @@ public class JavaDocInfoGenerator {
|
||||
}
|
||||
|
||||
buffer.append("<PRE>");
|
||||
generateMethodSignature(buffer, method);
|
||||
generateMethodSignature(buffer, method, true);
|
||||
|
||||
buffer.append("</PRE>");
|
||||
//buffer.append("<br>");
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user