From 4240c6817ef4de7add8f1e3d8e4972ebded7a157 Mon Sep 17 00:00:00 2001 From: "peter.gromov" Date: Thu, 23 Dec 2010 17:57:57 +0300 Subject: [PATCH] in completing an anonymous class, the closing parenthesis should be inserted regardless of the pair bracket settings (IDEA-63392) --- .../completion/ConstructorInsertHandler.java | 16 +++++--- .../JavaClassNameInsertHandler.java | 2 +- .../completion/JavaCompletionUtil.java | 41 ++++++++++--------- .../smartType/AnonymousNoPairBracket-out.java | 11 +++++ .../smartType/AnonymousNoPairBracket.java | 6 +++ .../completion/SmartTypeCompletionTest.java | 2 + 6 files changed, 53 insertions(+), 25 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/completion/smartType/AnonymousNoPairBracket-out.java create mode 100644 java/java-tests/testData/codeInsight/completion/smartType/AnonymousNoPairBracket.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 d10cce47486d..fb9949bc7293 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java @@ -48,13 +48,16 @@ class ConstructorInsertHandler implements InsertHandler//To change body of implemented methods use File | Settings | File Templates. + } + }) + } + +} diff --git a/java/java-tests/testData/codeInsight/completion/smartType/AnonymousNoPairBracket.java b/java/java-tests/testData/codeInsight/completion/smartType/AnonymousNoPairBracket.java new file mode 100644 index 000000000000..9ea4a462edb5 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/smartType/AnonymousNoPairBracket.java @@ -0,0 +1,6 @@ +public class Bar { + { + new Thread(new Run) + } + +} 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 156c4d9f8b4f..0dd1dd0038dc 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java @@ -481,6 +481,8 @@ public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase { public void testNoTailWhenNoPairBracket2() throws Throwable { doTestNoPairBracket(Lookup.NORMAL_SELECT_CHAR); } + public void testAnonymousNoPairBracket() throws Throwable { doTestNoPairBracket(Lookup.NORMAL_SELECT_CHAR); } + private void doTestNoPairBracket(final char c) throws Exception { boolean old = CodeInsightSettings.getInstance().AUTOINSERT_PAIR_BRACKET; CodeInsightSettings.getInstance().AUTOINSERT_PAIR_BRACKET = false;