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 1e101063e50c..016830bb9ad5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java +++ b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java @@ -2175,7 +2175,20 @@ public class JavaDocInfoGenerator { if (type != null) { generateType(myBuffer, type, expression); } - expression.acceptChildren(this); + PsiExpression[] dimensions = expression.getArrayDimensions(); + if (dimensions.length > 0) { + LOG.assertTrue(myBuffer.charAt(myBuffer.length() - 1) == ']'); + myBuffer.setLength(myBuffer.length() - 1); + for (PsiExpression dimension : dimensions) { + dimension.accept(this); + myBuffer.append(", "); + } + myBuffer.setLength(myBuffer.length() - 2); + myBuffer.append(']'); + } + else { + expression.acceptChildren(this); + } } @Override diff --git a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.html b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.html new file mode 100644 index 000000000000..81591eebd19a --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.html @@ -0,0 +1 @@ + A
public static int[] x = new int[1]
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.java b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.java new file mode 100644 index 000000000000..453c57c0c930 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/fieldInitializedWithSizedArray.java @@ -0,0 +1,3 @@ +class A { + public static int[] x = new int[1]; +} 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 ec614a706f93..5ea7abfd4543 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java @@ -172,6 +172,10 @@ public class JavaDocInfoGeneratorTest extends CodeInsightTestCase { doTestField(); } + public void testFieldInitializedWithSizedArray() throws Exception { + doTestField(); + } + public void testEnumConstantOrdinal() throws Exception { PsiClass psiClass = getTestClass(); PsiField field = psiClass.getFields() [0];