diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/PreferByKindWeigher.java b/java/java-impl/src/com/intellij/codeInsight/completion/PreferByKindWeigher.java index a857ecefe73f..cb0a1d30f710 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/PreferByKindWeigher.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/PreferByKindWeigher.java @@ -164,7 +164,7 @@ public class PreferByKindWeigher extends LookupElementWeigher { isLastStatement(PsiTreeUtil.getParentOfType(myPosition, PsiStatement.class))) { return MyResult.probableKeyword; } - if (PsiKeyword.ELSE.equals(keyword) || PsiKeyword.FINALLY.equals(keyword)) { + if (PsiKeyword.ELSE.equals(keyword) || PsiKeyword.FINALLY.equals(keyword) || PsiKeyword.CATCH.equals(keyword)) { return MyResult.probableKeyword; } if (PsiKeyword.TRUE.equals(keyword) || PsiKeyword.FALSE.equals(keyword)) { diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/PreferCatchAndFinallyAfterTry.java b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferCatchAndFinallyAfterTry.java new file mode 100644 index 000000000000..970e1fa172ae --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/PreferCatchAndFinallyAfterTry.java @@ -0,0 +1,7 @@ +class Log { + { + try { + + } + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy index e558deb0548b..21ad3efae894 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy @@ -781,4 +781,8 @@ class ContainerUtil extends ContainerUtilRt { assert (myFixture.lookupElements[0].psiElement as PsiMethod).containingClass.name == 'ContainerUtil' } + public void testPreferCatchAndFinallyAfterTry() { + checkPreferredItems 0, 'catch', 'finally' + } + }