diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaSharedImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaSharedImplUtil.java index 29efe0f5d8a1..b1c8aa870be7 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaSharedImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaSharedImplUtil.java @@ -22,6 +22,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.*; import com.intellij.psi.impl.GeneratedMarkerVisitor; import com.intellij.psi.impl.PsiImplUtil; +import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.tree.TokenSet; import com.intellij.psi.util.PsiUtil; import com.intellij.util.CharTable; @@ -153,7 +154,7 @@ public class JavaSharedImplUtil { element = firstBracket; while (true) { ASTNode next = element.getTreeNext(); - variableElement.removeChild(element); + CodeEditUtil.removeChild(variableElement, element); if (element == lastBracket) break; element = next; } @@ -169,7 +170,7 @@ public class JavaSharedImplUtil { newType.acceptTree(new GeneratedMarkerVisitor()); } newType.putUserData(CharTable.CHAR_TABLE_KEY, SharedImplUtil.findCharTableByTree(type)); - variableElement.replaceChild(type, newType); + CodeEditUtil.replaceChild(variableElement, type, newType); } } diff --git a/java/java-tests/testData/psi/normalizeDeclaration/2_after.java b/java/java-tests/testData/psi/normalizeDeclaration/2_after.java index 6713d93c26c7..38b0eb0430d7 100644 --- a/java/java-tests/testData/psi/normalizeDeclaration/2_after.java +++ b/java/java-tests/testData/psi/normalizeDeclaration/2_after.java @@ -1,6 +1,6 @@ class A{ { - AAA[][][] x ; + AAA[][][] x; AAA[] y; AAA[] z; } diff --git a/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId.java b/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId.java new file mode 100644 index 000000000000..8fe2f2fe0adc --- /dev/null +++ b/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId.java @@ -0,0 +1,3 @@ +class Main { + void main(boolean b[]c d) { } +} \ No newline at end of file diff --git a/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId_after.java b/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId_after.java new file mode 100644 index 000000000000..b965f3a4fe3a --- /dev/null +++ b/java/java-tests/testData/psi/normalizeDeclaration/CStyleArrayParameterBeforeErrorId_after.java @@ -0,0 +1,3 @@ +class Main { + void main(boolean[] b c d) { } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/psi/NormalizeDeclarationTest.java b/java/java-tests/testSrc/com/intellij/java/psi/NormalizeDeclarationTest.java index 647fa1908e1d..4296c5ae9386 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/NormalizeDeclarationTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/NormalizeDeclarationTest.java @@ -37,6 +37,7 @@ public class NormalizeDeclarationTest extends PsiTestCase{ public void test1() throws Exception { doTest(); } public void test2() throws Exception { doTest(); } + public void testCStyleArrayParameterBeforeErrorId() throws Exception { doTest(); } public void testSCR6549() throws Exception { doTest(); } public void testSCR9467() throws Exception { doTest(); }