syntax/ast_util: add is_by_value_unop()

This commit is contained in:
Jorge Aparicio 2014-12-15 15:49:41 -05:00
parent f9a48492a8
commit 7efaf3fa34

View File

@ -85,7 +85,7 @@ pub fn is_shift_binop(b: BinOp) -> bool {
}
}
/// Returns `true` is the binary operator takes its arguments by value
/// Returns `true` if the binary operator takes its arguments by value
pub fn is_by_value_binop(b: BinOp) -> bool {
match b {
BiAdd | BiSub | BiMul | BiDiv | BiRem | BiBitXor | BiBitAnd | BiBitOr | BiShl | BiShr => {
@ -95,6 +95,14 @@ pub fn is_by_value_binop(b: BinOp) -> bool {
}
}
/// Returns `true` if the unary operator takes its argument by value
pub fn is_by_value_unop(u: UnOp) -> bool {
match u {
UnNeg | UnNot => true,
_ => false,
}
}
pub fn unop_to_string(op: UnOp) -> &'static str {
match op {
UnUniq => "box() ",