Make predicate non-nullable

This commit is contained in:
Alexey Sedunov
2013-04-12 20:46:59 +04:00
parent 216f865658
commit 89030d1ced
2 changed files with 11 additions and 6 deletions
@@ -634,12 +634,10 @@ public class JetPsiUtil {
} }
@Nullable @Nullable
public static JetElement getOutermostLastBlockElement( public static JetElement getOutermostLastBlockElement(@Nullable JetElement element, @NotNull Predicate<JetElement> checkElement) {
@Nullable JetElement element,
@Nullable Predicate<JetElement> checkElement) {
if (element == null) return null; 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; JetBlockExpression block = (JetBlockExpression)element;
int n = block.getStatements().size(); int n = block.getStatements().size();
@@ -647,7 +645,7 @@ public class JetPsiUtil {
if (n == 0) return null; if (n == 0) return null;
JetElement lastElement = block.getStatements().get(n - 1); JetElement lastElement = block.getStatements().get(n - 1);
return checkElement == null || checkElement.apply(lastElement) ? lastElement : null; return checkElement.apply(lastElement) ? lastElement : null;
} }
@Nullable @Nullable
@@ -692,4 +690,11 @@ public class JetPsiUtil {
} }
return (elseCount == 1); return (elseCount == 1);
} }
public static final Predicate<JetElement> ANY_JET_ELEMENT = new Predicate<JetElement>() {
@Override
public boolean apply(@Nullable JetElement input) {
return true;
}
};
} }
@@ -46,7 +46,7 @@ public class BranchedUnfoldingUtils {
} }
private static JetExpression getOutermostLastBlockElement(@Nullable JetExpression expression) { 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) { private static void unfoldAssignmentToIf(@NotNull JetBinaryExpression assignment) {