Move "else" extractor to JetWhenExpression

This commit is contained in:
Alexey Sedunov
2013-04-30 16:08:30 +04:00
parent d30e8d88fb
commit 4ee59e351b
3 changed files with 12 additions and 11 deletions
@@ -703,15 +703,6 @@ public class JetPsiUtil {
return (elseCount == 1);
}
public static JetExpression getWhenElseBranch(@NotNull JetWhenExpression whenExpression) {
for (JetWhenEntry entry : whenExpression.getEntries()) {
if (entry.isElse()) {
return entry.getExpression();
}
}
return null;
}
public static PsiElement skipTrailingWhitespacesAndComments(PsiElement element) {
return PsiTreeUtil.skipSiblingsForward(element, PsiWhiteSpace.class, PsiComment.class);
}
@@ -60,4 +60,14 @@ public class JetWhenExpression extends JetExpressionImpl {
ASTNode openBraceNode = getNode().findChildByType(JetTokens.RBRACE);
return openBraceNode != null ? openBraceNode.getPsi() : null;
}
@Nullable
public JetExpression getElseExpression() {
for (JetWhenEntry entry : getEntries()) {
if (entry.isElse()) {
return entry.getExpression();
}
}
return null;
}
}
@@ -69,7 +69,7 @@ public class WhenUtils {
if (!JetPsiUtil.checkWhenExpressionHasSingleElse(whenExpression)) return false;
JetExpression elseBranch = JetPsiUtil.getWhenElseBranch(whenExpression);
JetExpression elseBranch = whenExpression.getElseExpression();
if (!(elseBranch instanceof JetWhenExpression)) return false;
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;
@@ -89,7 +89,7 @@ public class WhenUtils {
public static void flattenWhen(@NotNull JetWhenExpression whenExpression) {
JetExpression subjectExpression = whenExpression.getSubjectExpression();
JetExpression elseBranch = JetPsiUtil.getWhenElseBranch(whenExpression);
JetExpression elseBranch = whenExpression.getElseExpression();
assert elseBranch instanceof JetWhenExpression : TRANSFORM_WITHOUT_CHECK;
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;