From 50da4c1d5a76be61b1ad3b5f09c2de3c26f5c70d Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 28 Oct 2009 22:46:57 +0000 Subject: [PATCH] make complete-statement-completion smart-wrap constructor arguments (IDEADEV-41023) --- .../codeInsight/completion/DefaultInsertHandler.java | 5 +++-- .../smartType/ConstructorArgsSmartEnter-out.java | 11 +++++++++++ .../smartType/ConstructorArgsSmartEnter.java | 9 +++++++++ .../completion/SmartTypeCompletionTest.java | 6 ++++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter-out.java create mode 100644 java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter.java diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/DefaultInsertHandler.java b/java/java-impl/src/com/intellij/codeInsight/completion/DefaultInsertHandler.java index c664bb90d14a..15ddcf324179 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/DefaultInsertHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/DefaultInsertHandler.java @@ -93,8 +93,10 @@ public class DefaultInsertHandler extends TemplateInsertHandler implements Clone myDocument = myEditor.getDocument(); TailType tailType = getTailType(completionChar); + if (completionChar == Lookup.COMPLETE_STATEMENT_SELECT_CHAR) { + tailType = TailType.SMART_COMPLETION; + } - //adjustContextAfterLookupStringInsertion(); myState = new InsertHandlerState(myContext.getSelectionEndOffset(), myContext.getSelectionEndOffset()); final boolean needLeftParenth = isToInsertParenth(); @@ -412,7 +414,6 @@ public class DefaultInsertHandler extends TemplateInsertHandler implements Clone case '#': case '\"': case '[': return TailType.createSimpleTailType(completionChar); - case Lookup.COMPLETE_STATEMENT_SELECT_CHAR: return TailType.SMART_COMPLETION; //case '!': if (!(myLookupItem.getObject() instanceof PsiVariable)) return TailType.EXCLAMATION; } final TailType attr = myLookupItem.getTailType(); diff --git a/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter-out.java b/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter-out.java new file mode 100644 index 000000000000..484b537fe6de --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter-out.java @@ -0,0 +1,11 @@ +import java.util.ArrayList; +import java.util.List; + +public class MyJavaClass { + + { + + List l = new ArrayList(239); + + } +} diff --git a/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter.java b/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter.java new file mode 100644 index 000000000000..f28c82c5dc47 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/smartType/ConstructorArgsSmartEnter.java @@ -0,0 +1,9 @@ +import java.util.List; + +public class MyJavaClass { + + { + + List l = new ArraL239 + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java index d4f2cbad8cac..b921932746c6 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java @@ -862,6 +862,12 @@ public class SmartTypeCompletionTest extends LightCompletionTestCase { checkResultByTestName(); } + public void testConstructorArgsSmartEnter() throws Exception { + configureByTestName(); + select(Lookup.COMPLETE_STATEMENT_SELECT_CHAR); + checkResultByTestName(); + } + private void configureByTestName() throws Exception { configureByFile(BASE_PATH + "/" + getTestName(false) + ".java"); }