Move "else" extractor to JetWhenExpression
This commit is contained in:
@@ -703,15 +703,6 @@ public class JetPsiUtil {
|
|||||||
return (elseCount == 1);
|
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) {
|
public static PsiElement skipTrailingWhitespacesAndComments(PsiElement element) {
|
||||||
return PsiTreeUtil.skipSiblingsForward(element, PsiWhiteSpace.class, PsiComment.class);
|
return PsiTreeUtil.skipSiblingsForward(element, PsiWhiteSpace.class, PsiComment.class);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,4 +60,14 @@ public class JetWhenExpression extends JetExpressionImpl {
|
|||||||
ASTNode openBraceNode = getNode().findChildByType(JetTokens.RBRACE);
|
ASTNode openBraceNode = getNode().findChildByType(JetTokens.RBRACE);
|
||||||
return openBraceNode != null ? openBraceNode.getPsi() : null;
|
return openBraceNode != null ? openBraceNode.getPsi() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public JetExpression getElseExpression() {
|
||||||
|
for (JetWhenEntry entry : getEntries()) {
|
||||||
|
if (entry.isElse()) {
|
||||||
|
return entry.getExpression();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -69,7 +69,7 @@ public class WhenUtils {
|
|||||||
|
|
||||||
if (!JetPsiUtil.checkWhenExpressionHasSingleElse(whenExpression)) return false;
|
if (!JetPsiUtil.checkWhenExpressionHasSingleElse(whenExpression)) return false;
|
||||||
|
|
||||||
JetExpression elseBranch = JetPsiUtil.getWhenElseBranch(whenExpression);
|
JetExpression elseBranch = whenExpression.getElseExpression();
|
||||||
if (!(elseBranch instanceof JetWhenExpression)) return false;
|
if (!(elseBranch instanceof JetWhenExpression)) return false;
|
||||||
|
|
||||||
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;
|
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;
|
||||||
@@ -89,7 +89,7 @@ public class WhenUtils {
|
|||||||
public static void flattenWhen(@NotNull JetWhenExpression whenExpression) {
|
public static void flattenWhen(@NotNull JetWhenExpression whenExpression) {
|
||||||
JetExpression subjectExpression = whenExpression.getSubjectExpression();
|
JetExpression subjectExpression = whenExpression.getSubjectExpression();
|
||||||
|
|
||||||
JetExpression elseBranch = JetPsiUtil.getWhenElseBranch(whenExpression);
|
JetExpression elseBranch = whenExpression.getElseExpression();
|
||||||
assert elseBranch instanceof JetWhenExpression : TRANSFORM_WITHOUT_CHECK;
|
assert elseBranch instanceof JetWhenExpression : TRANSFORM_WITHOUT_CHECK;
|
||||||
|
|
||||||
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;
|
JetWhenExpression nestedWhenExpression = (JetWhenExpression) elseBranch;
|
||||||
|
|||||||
Reference in New Issue
Block a user