(&mut self, phase: &'static str, e: &KExpr<M>)
| 977 | // Interning helper |
| 978 | // ----------------------------------------------------------------------- |
| 979 | |
| 980 | /// Check if expression is of the form `eagerReduce _ _` (2 args applied to the eagerReduce const). |
| 981 | pub fn is_eager_reduce(&self, e: &KExpr<M>) -> bool { |
| 982 | let (head, args) = collect_app_spine(e); |
| 983 | if args.len() != 2 { |
| 984 | return false; |
| 985 | } |
| 986 | match head.data() { |
| 987 | ExprData::Const(id, _, _) => id.addr == self.prims.eager_reduce.addr, |
| 988 | _ => false, |
| 989 | } |
| 990 | } |
| 991 | |
| 992 | /// Intern an expression through the mutable intern environment. |
| 993 | pub fn intern(&mut self, e: KExpr<M>) -> KExpr<M> { |
| 994 | self.env.intern.intern_expr(e) |
| 995 | } |
| 996 |
no test coverage detected