diff --git a/java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java b/java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java index e93cd0d70cbc..352a6a07fb52 100644 --- a/java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java +++ b/java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java @@ -108,7 +108,7 @@ public class PsiTypeLookupItem extends LookupItem { context.getDocument().insertString(genericsStart, JavaCompletionUtil.escapeXmlIfNeeded(context, calcGenerics(position, context))); JavaCompletionUtil.shortenReference(context.getFile(), genericsStart - 1); - int tail = context.getTailOffset(); + int tail = context.getSelectionEndOffset(); String braces = StringUtil.repeat("[]", getBracketsCount()); Editor editor = context.getEditor(); if (!braces.isEmpty()) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterArrayBraces.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterArrayBraces.java new file mode 100644 index 000000000000..4016f2ce1f30 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterArrayBraces.java @@ -0,0 +1,12 @@ +// "Create Field 'fooMoo'" "true" +class Barr { + private final String s; + private final Foo[] fooMoo; + + enum Foo {} + + Barr(String s, Foo... foos) { + this.s = s; + this.fooMoo = foos; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeArrayBraces.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeArrayBraces.java new file mode 100644 index 000000000000..028d48514a24 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeArrayBraces.java @@ -0,0 +1,11 @@ +// "Create Field 'fooMoo'" "true" +class Barr { + private final String s; + + enum Foo {} + + Barr(String s, Foo... foos) { + this.s = s; + this.fooMoo = foos; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java index c5122fe6df5f..09b9ebf413d8 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java @@ -52,6 +52,10 @@ public class CreateFieldFromUsageTest extends LightQuickFixTestCase{ doSingleTest(); } + public void testArrayBraces() throws Exception { + doSingleTest(); + } + protected void doSingleTest() { doSingleTest(getTestName(false) + ".java"); }