From 05015b2e8a7c79e1633a354241a44944ac64293a Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Fri, 20 Feb 2015 11:35:58 +0300 Subject: [PATCH] IDEA-136397 Close brace in try resource block --- .../typing/insertPairParenBeforeTryBlock_after.java | 8 ++++++++ .../typing/insertPairParenBeforeTryBlock_before.java | 8 ++++++++ .../com/intellij/codeInsight/JavaTypingTest.java | 4 ++++ .../codeInsight/editorActions/TypedHandler.java | 10 +++------- 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_after.java create mode 100644 java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_before.java diff --git a/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_after.java b/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_after.java new file mode 100644 index 000000000000..d199843a5970 --- /dev/null +++ b/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_after.java @@ -0,0 +1,8 @@ +class Test { + void m() { + try (){ + } + finally { + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_before.java b/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_before.java new file mode 100644 index 000000000000..7b36012891e8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/typing/insertPairParenBeforeTryBlock_before.java @@ -0,0 +1,8 @@ +class Test { + void m() { + try { + } + finally { + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/JavaTypingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/JavaTypingTest.java index 37aa8852136b..06a2fc9b6274 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/JavaTypingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/JavaTypingTest.java @@ -90,6 +90,10 @@ public class JavaTypingTest extends LightPlatformCodeInsightFixtureTestCase { doTest('{'); } + public void testInsertPairParenBeforeTryBlock() { + doTest('('); + } + private void doTest(char c) { myFixture.configureByFile(getTestName(true) + "_before.java"); myFixture.type(c); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java index 423b95dffc7f..a47175cd1cda 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java @@ -339,13 +339,9 @@ public class TypedHandler extends TypedActionHandlerBase { if (!iterator.atEnd()) { iterator.advance(); - if (!iterator.atEnd()) { - if (!BraceMatchingUtil.isPairedBracesAllowedBeforeTypeInFileType(braceTokenType, iterator.getTokenType(), fileType)) { - return; - } - if (BraceMatchingUtil.isLBraceToken(iterator, fileText, fileType)) { - return; - } + if (!iterator.atEnd() && + !BraceMatchingUtil.isPairedBracesAllowedBeforeTypeInFileType(braceTokenType, iterator.getTokenType(), fileType)) { + return; } iterator.retreat();