From 664fb24186cfe31d8090eb854f96ff2259a89a3b Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 12 Mar 2013 09:43:10 +0100 Subject: [PATCH] create field from usage: insert braces at selection end (IDEA-102716) (cherry picked from commit 7eba27508d6e74cad0841013c313c05f6d96f17e) --- .../codeInsight/lookup/PsiTypeLookupItem.java | 2 +- .../createFieldFromUsage/afterArrayBraces.java | 12 ++++++++++++ .../createFieldFromUsage/beforeArrayBraces.java | 11 +++++++++++ .../daemon/quickFix/CreateFieldFromUsageTest.java | 4 ++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterArrayBraces.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeArrayBraces.java 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"); }