BinOp helper to detect assignment

This commit is contained in:
Jeremy Kolb 2020-01-04 15:54:31 -05:00
parent c15293e019
commit 5afb22e2b3
2 changed files with 19 additions and 11 deletions

View file

@ -126,6 +126,24 @@ pub enum BinOp {
BitXorAssign,
}
impl BinOp {
pub fn is_assignment(&self) -> bool {
match *self {
BinOp::Assignment
| BinOp::AddAssign
| BinOp::DivAssign
| BinOp::MulAssign
| BinOp::RemAssign
| BinOp::ShrAssign
| BinOp::ShlAssign
| BinOp::SubAssign
| BinOp::BitOrAssign
| BinOp::BitAndAssign
| BinOp::BitXorAssign => true,
_ => false,
}
}
}
impl ast::BinExpr {
pub fn op_details(&self) -> Option<(SyntaxToken, BinOp)> {
self.syntax().children_with_tokens().filter_map(|it| it.into_token()).find_map(|c| {