diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java index f8a50903fcf..cf562e674ad 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java @@ -634,12 +634,10 @@ public class JetPsiUtil { } @Nullable - public static JetElement getOutermostLastBlockElement( - @Nullable JetElement element, - @Nullable Predicate checkElement) { + public static JetElement getOutermostLastBlockElement(@Nullable JetElement element, @NotNull Predicate checkElement) { if (element == null) return null; - if (!(element instanceof JetBlockExpression)) return checkElement == null || checkElement.apply(element) ? element : null; + if (!(element instanceof JetBlockExpression)) return checkElement.apply(element) ? element : null; JetBlockExpression block = (JetBlockExpression)element; int n = block.getStatements().size(); @@ -647,7 +645,7 @@ public class JetPsiUtil { if (n == 0) return null; JetElement lastElement = block.getStatements().get(n - 1); - return checkElement == null || checkElement.apply(lastElement) ? lastElement : null; + return checkElement.apply(lastElement) ? lastElement : null; } @Nullable @@ -692,4 +690,11 @@ public class JetPsiUtil { } return (elseCount == 1); } + + public static final Predicate ANY_JET_ELEMENT = new Predicate() { + @Override + public boolean apply(@Nullable JetElement input) { + return true; + } + }; } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java index 9a6969d4e4f..707d019ee01 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java @@ -46,7 +46,7 @@ public class BranchedUnfoldingUtils { } private static JetExpression getOutermostLastBlockElement(@Nullable JetExpression expression) { - return (JetExpression) JetPsiUtil.getOutermostLastBlockElement(expression, null); + return (JetExpression) JetPsiUtil.getOutermostLastBlockElement(expression, JetPsiUtil.ANY_JET_ELEMENT); } private static void unfoldAssignmentToIf(@NotNull JetBinaryExpression assignment) {