From 8e3e178333b1e8c3bbd84beb7fba79ec24b54a70 Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Thu, 9 Jun 2016 13:10:53 +0300 Subject: [PATCH] IDEA-156628 QuickDoc does not showing array initializers correctly --- .../codeInsight/javadoc/JavaDocInfoGenerator.java | 8 +++----- .../codeInsight/javadocIG/fieldInitializedWithArray.html | 1 + .../codeInsight/javadocIG/fieldInitializedWithArray.java | 3 +++ .../codeInsight/javadoc/JavaDocInfoGeneratorTest.java | 4 ++++ 4 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.html create mode 100644 java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.java diff --git a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java index d9ad26085d16..c0f00ba6f154 100644 --- a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java +++ b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java @@ -50,7 +50,6 @@ import com.intellij.psi.util.PsiFormatUtilBase; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.ArrayUtilRt; -import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; import com.intellij.xml.util.XmlStringUtil; @@ -2297,13 +2296,12 @@ public class JavaDocInfoGenerator { if (type != null) { generateType(myBuffer, type, expression); } - myBuffer.append("("); expression.acceptChildren(this); - myBuffer.append(")"); } @Override public void visitExpressionList(PsiExpressionList list) { + myBuffer.append("("); String separator = ", "; PsiExpression[] expressions = list.getExpressions(); for (PsiExpression expression : expressions) { @@ -2313,13 +2311,13 @@ public class JavaDocInfoGenerator { if (expressions.length > 0) { myBuffer.setLength(myBuffer.length() - separator.length()); } + myBuffer.append(")"); } @Override public void visitMethodCallExpression(PsiMethodCallExpression expression) { - myBuffer.append(StringUtil.escapeXml(expression.getMethodExpression().getText())).append("("); + myBuffer.append(StringUtil.escapeXml(expression.getMethodExpression().getText())); expression.getArgumentList().accept(this); - myBuffer.append(")"); } @Override diff --git a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.html b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.html new file mode 100644 index 000000000000..411d228293b7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.html @@ -0,0 +1 @@ + A
public static int[] x = new int[]{1, 2, 3}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.java b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.java new file mode 100644 index 000000000000..5a32e95155cb --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithArray.java @@ -0,0 +1,3 @@ +class A { + public static int[] x = new int[]{1, 2, 3}; +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java index 3f2247e108e9..ec614a706f93 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java @@ -168,6 +168,10 @@ public class JavaDocInfoGeneratorTest extends CodeInsightTestCase { doTestField(); } + public void testFieldInitializedWithArray() throws Exception { + doTestField(); + } + public void testEnumConstantOrdinal() throws Exception { PsiClass psiClass = getTestClass(); PsiField field = psiClass.getFields() [0];