check if when branch is suffixed

This commit is contained in:
Kiryl Dziamura 2024-06-03 23:04:10 +02:00
parent db94b555ab
commit 3e5cfb546d
No known key found for this signature in database
GPG key ID: FB539501A4561ACF
3 changed files with 28 additions and 1 deletions

View file

@ -621,7 +621,9 @@ pub fn is_expr_suffixed(expr: &Expr) -> bool {
}
Expr::LowLevelDbg(_, a, b) => is_expr_suffixed(&a.value) || is_expr_suffixed(&b.value),
Expr::UnaryOp(a, _) => is_expr_suffixed(&a.value),
Expr::When(a, _) => is_expr_suffixed(&a.value),
Expr::When(cond, branches) => {
is_expr_suffixed(&cond.value) || branches.iter().any(|x| is_when_branch_suffixed(x))
}
Expr::SpaceBefore(a, _) => is_expr_suffixed(a),
Expr::SpaceAfter(a, _) => is_expr_suffixed(a),
Expr::MalformedIdent(_, _) => false,
@ -633,6 +635,14 @@ pub fn is_expr_suffixed(expr: &Expr) -> bool {
}
}
fn is_when_branch_suffixed(branch: &WhenBranch<'_>) -> bool {
is_expr_suffixed(&branch.value.value)
|| branch
.guard
.map(|x| is_expr_suffixed(&x.value))
.unwrap_or(false)
}
fn is_assigned_value_suffixed<'a>(value: &AssignedField<'a, Expr<'a>>) -> bool {
match value {
AssignedField::RequiredValue(_, _, a) | AssignedField::OptionalValue(_, _, a) => {