From 58235e314a1ce44c3a3feadf1558353fed9e709c Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 9 Mar 2011 19:54:11 +0100 Subject: [PATCH] new HashMap< --- .../completion/ConstructorInsertHandler.java | 13 +++++++++++++ .../completion/normal/NewClassAngleBracket.java | 9 +++++++++ .../normal/NewClassAngleBracket_after.java | 9 +++++++++ .../completion/normal/NewClassSquareBracket.java | 9 +++++++++ .../normal/NewClassSquareBracket_after.java | 9 +++++++++ .../completion/NormalCompletionTest.groovy | 3 +++ .../completion/GroovyClassNameInsertHandler.java | 10 +++++++++- .../groovy/completion/GroovyCompletionTest.groovy | 10 ++++++++++ 8 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket.java create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket.java create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket_after.java diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java b/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java index 37d9c74d9e08..79fe32f1e62b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java @@ -102,6 +102,10 @@ class ConstructorInsertHandler implements InsertHandler"); + context.setAddCompletionChar(false); + context.getEditor().getCaretModel().moveToOffset(identifierEnd + 1); + } + return hasParams; } diff --git a/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket.java b/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket.java new file mode 100644 index 000000000000..92c60da2614c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket.java @@ -0,0 +1,9 @@ +class Zooooooo { } +class Zooooooz { } + + +class Bar { + { + new Zoooo + } +} diff --git a/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket_after.java b/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket_after.java new file mode 100644 index 000000000000..a13dc3945cb8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NewClassAngleBracket_after.java @@ -0,0 +1,9 @@ +class Zooooooo { } +class Zooooooz { } + + +class Bar { + { + new Zooooooo<>() + } +} diff --git a/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket.java b/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket.java new file mode 100644 index 000000000000..92c60da2614c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket.java @@ -0,0 +1,9 @@ +class Zooooooo { } +class Zooooooz { } + + +class Bar { + { + new Zoooo + } +} diff --git a/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket_after.java b/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket_after.java new file mode 100644 index 000000000000..6b62cd07d9c7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NewClassSquareBracket_after.java @@ -0,0 +1,9 @@ +class Zooooooo { } +class Zooooooz { } + + +class Bar { + { + new Zooooooo[] + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy index 5ba19599a8cc..372e28b181a9 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -900,6 +900,9 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase { public void testStaticInnerExtendingOuter() throws Exception { doTest() } + public void testNewClassAngleBracket() throws Exception { doTest('<') } + public void testNewClassSquareBracket() throws Exception { doTest('[') } + public void testNoMethodsInParameterType() { configure() assertOrderedEquals myFixture.lookupElementStrings, "final", "float" diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyClassNameInsertHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyClassNameInsertHandler.java index 7d9cbf7aa07a..3646278c8912 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyClassNameInsertHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyClassNameInsertHandler.java @@ -76,8 +76,16 @@ public class GroovyClassNameInsertHandler implements InsertHandler"); + context.setAddCompletionChar(false); + context.getEditor().getCaretModel().moveToOffset(identifierEnd + 1); + } } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/completion/GroovyCompletionTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/completion/GroovyCompletionTest.groovy index 34b817f0be9f..d05e995af7d5 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/completion/GroovyCompletionTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/completion/GroovyCompletionTest.groovy @@ -617,6 +617,11 @@ return foo()""" checkCompletion("Abcd", '[', "AbcdClass[]") } + public void testFinishClassNameWithSquareBracketAfterNew() { + myFixture.addClass("class AbcdClass {}; class AbcdeClass {}") + checkCompletion("new Abcd", '[', "new AbcdClass[]") + } + public void testFinishMethodNameWithSquareBracket() { myFixture.addClass("""class AbcdClass { static int[] foo(int x){} @@ -634,4 +639,9 @@ return foo()""" checkCompletion("Abcd", '<', "AbcdClass<>") } + public void testFinishClassNameWithLtAfterNew() { + myFixture.addClass("class AbcdClass {}; class AbcdeClass {}") + checkCompletion("new Abcd", '<', "new AbcdClass<>()") + } + } \ No newline at end of file