mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
do not split annotations on multiple lines for params (IDEA-127017)
This commit is contained in:
@@ -323,7 +323,7 @@ public class JavaDocInfoGenerator {
|
||||
}
|
||||
|
||||
private static boolean generateClassSignature(StringBuilder buffer, PsiClass aClass, boolean generateLink) {
|
||||
generateAnnotations(buffer, aClass, generateLink);
|
||||
generateAnnotations(buffer, aClass, generateLink, true);
|
||||
String modifiers = PsiFormatUtil.formatModifiers(aClass, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
|
||||
if (!modifiers.isEmpty()) {
|
||||
buffer.append(modifiers);
|
||||
@@ -489,7 +489,7 @@ public class JavaDocInfoGenerator {
|
||||
}
|
||||
|
||||
private static void generateFieldSignature(StringBuilder buffer, PsiField field, boolean generateLink) {
|
||||
generateAnnotations(buffer, field, generateLink);
|
||||
generateAnnotations(buffer, field, generateLink, true);
|
||||
String modifiers = PsiFormatUtil.formatModifiers(field, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
|
||||
if (!modifiers.isEmpty()) {
|
||||
buffer.append(modifiers);
|
||||
@@ -697,24 +697,27 @@ public class JavaDocInfoGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private static void generateAnnotations(@NonNls @NotNull StringBuilder buffer, @NotNull PsiModifierListOwner owner, boolean generateLink) {
|
||||
private static void generateAnnotations(@NonNls @NotNull StringBuilder buffer,
|
||||
@NotNull PsiModifierListOwner owner,
|
||||
boolean generateLink,
|
||||
boolean splitAnnotations) {
|
||||
final PsiModifierList ownerModifierList = owner.getModifierList();
|
||||
if (ownerModifierList == null) return;
|
||||
generateAnnotations(buffer, owner, ownerModifierList.getAnnotations(), false, generateLink);
|
||||
generateAnnotations(buffer, owner, ownerModifierList.getAnnotations(), false, generateLink, splitAnnotations);
|
||||
PsiAnnotation[] externalAnnotations = ExternalAnnotationsManager.getInstance(owner.getProject()).findExternalAnnotations(owner);
|
||||
if (externalAnnotations == null) {
|
||||
externalAnnotations = new PsiAnnotation[]{};
|
||||
}
|
||||
PsiAnnotation[] inferredAnnotations = InferredAnnotationsManager.getInstance(owner.getProject()).findInferredAnnotations(owner);
|
||||
externalAnnotations = ArrayUtil.mergeArrays(externalAnnotations, inferredAnnotations, PsiAnnotation.ARRAY_FACTORY);
|
||||
generateAnnotations(buffer, owner, externalAnnotations, true, generateLink);
|
||||
generateAnnotations(buffer, owner, externalAnnotations, true, generateLink, splitAnnotations);
|
||||
}
|
||||
|
||||
private static void generateAnnotations(StringBuilder buffer,
|
||||
PsiModifierListOwner owner,
|
||||
PsiAnnotation[] annotations,
|
||||
boolean external,
|
||||
boolean generateLink) {
|
||||
boolean generateLink, boolean splitAnnotations) {
|
||||
PsiManager manager = owner.getManager();
|
||||
|
||||
for (PsiAnnotation annotation : annotations) {
|
||||
@@ -763,7 +766,7 @@ public class JavaDocInfoGenerator {
|
||||
buffer.append("</font>");
|
||||
buffer.append(" ");
|
||||
}
|
||||
buffer.append("\n");
|
||||
if (splitAnnotations) buffer.append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -777,7 +780,7 @@ public class JavaDocInfoGenerator {
|
||||
buffer.append(modifiers);
|
||||
buffer.append(" ");
|
||||
}
|
||||
generateAnnotations(buffer, parameter, true);
|
||||
generateAnnotations(buffer, parameter, true, true);
|
||||
generateType(buffer, parameter.getType(), parameter);
|
||||
buffer.append(" ");
|
||||
buffer.append("<b>");
|
||||
@@ -853,7 +856,7 @@ public class JavaDocInfoGenerator {
|
||||
}
|
||||
|
||||
private static void generateMethodSignature(StringBuilder buffer, PsiMethod method, boolean generateLink) {
|
||||
generateAnnotations(buffer, method, generateLink);
|
||||
generateAnnotations(buffer, method, generateLink, true);
|
||||
String modifiers = PsiFormatUtil.formatModifiers(method, PsiFormatUtilBase.JAVADOC_MODIFIERS_ONLY);
|
||||
int indent = 0;
|
||||
if (!modifiers.isEmpty()) {
|
||||
@@ -886,7 +889,7 @@ public class JavaDocInfoGenerator {
|
||||
PsiParameter[] parms = method.getParameterList().getParameters();
|
||||
for (int i = 0; i < parms.length; i++) {
|
||||
PsiParameter parm = parms[i];
|
||||
generateAnnotations(buffer, parm, generateLink);
|
||||
generateAnnotations(buffer, parm, generateLink, false);
|
||||
generateType(buffer, parm.getType(), method, generateLink);
|
||||
buffer.append(" ");
|
||||
if (parm.getName() != null) {
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><head> <style type="text/css"> #error { background-color: #eeeeee; margin-bottom: 10px; } p { margin: 5px 0; } </style></head><body><small><b><a href="psi_element://Test"><code>Test</code></a></b></small><PRE>public void <b>foo</b>(@<a href="psi_element://java.lang.Deprecated"><code>Deprecated</code></a> <a href="psi_element://java.lang.String"><code>String</code></a> s,
|
||||
@<a href="psi_element://java.lang.Deprecated"><code>Deprecated</code></a> <a href="psi_element://java.lang.String"><code>String</code></a> p)</PRE></body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
class Test {
|
||||
public void foo(@Deprecated String s,
|
||||
@Deprecated String p){}
|
||||
}
|
||||
@@ -80,6 +80,10 @@ public class JavaDocInfoGeneratorTest extends CodeInsightTestCase {
|
||||
doTestField();
|
||||
}
|
||||
|
||||
public void testAnnotationsInParams() throws Exception {
|
||||
doTestMethod();
|
||||
}
|
||||
|
||||
public void testLiteral() throws Exception {
|
||||
doTestField();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user