Skip to content

Commit b1a92e2

Browse files
jaseemabidemilio
authored andcommitted
Handle all binary operations and make pattern match exhaustive
1 parent d996e7c commit b1a92e2

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/bindgen/ir/constant.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,29 @@ impl Literal {
112112
syn::BinOp::Mul(..) => "*",
113113
syn::BinOp::Div(..) => "/",
114114
syn::BinOp::Rem(..) => "%",
115+
syn::BinOp::And(..) => "&&",
116+
syn::BinOp::Or(..) => "||",
117+
syn::BinOp::BitXor(..) => "^",
118+
syn::BinOp::BitAnd(..) => "&",
119+
syn::BinOp::BitOr(..) => "|",
115120
syn::BinOp::Shl(..) => "<<",
116121
syn::BinOp::Shr(..) => ">>",
117-
_ => return Err(format!("Unsupported binary op {:?}", bin_expr.op)),
122+
syn::BinOp::Eq(..) => "==",
123+
syn::BinOp::Lt(..) => "<",
124+
syn::BinOp::Le(..) => "<=",
125+
syn::BinOp::Ne(..) => "!=",
126+
syn::BinOp::Ge(..) => ">=",
127+
syn::BinOp::Gt(..) => ">",
128+
syn::BinOp::AddEq(..) => "+=",
129+
syn::BinOp::SubEq(..) => "-=",
130+
syn::BinOp::MulEq(..) => "*=",
131+
syn::BinOp::DivEq(..) => "/=",
132+
syn::BinOp::RemEq(..) => "%=",
133+
syn::BinOp::BitXorEq(..) => "^=",
134+
syn::BinOp::BitAndEq(..) => "&=",
135+
syn::BinOp::BitOrEq(..) => "|=",
136+
syn::BinOp::ShlEq(..) => ">>=",
137+
syn::BinOp::ShrEq(..) => "<<=",
118138
};
119139
Ok(Literal::BinOp {
120140
left: Box::new(l),

0 commit comments

Comments
 (0)