summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKathy Gray2015-10-06 11:30:40 +0100
committerKathy Gray2015-10-06 11:30:52 +0100
commit5533b43fe28ce27ef77914addc8acf392390797b (patch)
tree642af8ff752287bdd82a4ca21edfcfd574033352 /src
parentb0c3b70ea6645cd8d172ffadc8e7877d7b88028a (diff)
make let and case actually call pattern rewriter
Diffstat (limited to 'src')
-rw-r--r--src/rewriter.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/rewriter.ml b/src/rewriter.ml
index ceae3462..9c4045a4 100644
--- a/src/rewriter.ml
+++ b/src/rewriter.ml
@@ -177,7 +177,7 @@ let rewrite_exp rewriters nmap (E_aux (exp,(l,annot))) =
rewrap (E_case (rewrite exp,
(List.map
(fun (Pat_aux (Pat_exp(p,e),pannot)) ->
- Pat_aux (Pat_exp(p,rewrite e),pannot)) pexps)))
+ Pat_aux (Pat_exp(rewriters.rewrite_pat rewriters nmap p,rewrite e),pannot)) pexps)))
| E_let (letbind,body) -> rewrap (E_let(rewriters.rewrite_let rewriters nmap letbind,rewrite body))
| E_assign (lexp,exp) -> rewrap (E_assign(rewriters.rewrite_lexp rewriters nmap lexp,rewrite exp))
| E_exit e -> rewrap (E_exit (rewrite e))
@@ -266,9 +266,11 @@ let rewrite_let rewriters map (LB_aux(letbind,(l,annot))) =
let map = merge_option_maps map (get_map_tannot annot) in
match letbind with
| LB_val_explicit (typschm, pat,exp) ->
- LB_aux(LB_val_explicit (typschm,pat, rewriters.rewrite_exp rewriters map exp),(l,annot))
+ LB_aux(LB_val_explicit (typschm,rewriters.rewrite_pat rewriters map pat,
+ rewriters.rewrite_exp rewriters map exp),(l,annot))
| LB_val_implicit ( pat, exp) ->
- LB_aux(LB_val_implicit (pat,rewriters.rewrite_exp rewriters map exp),(l,annot))
+ LB_aux(LB_val_implicit (rewriters.rewrite_pat rewriters map pat,
+ rewriters.rewrite_exp rewriters map exp),(l,annot))
let rewrite_lexp rewriters map (LEXP_aux(lexp,(l,annot))) =
let rewrap le = LEXP_aux(le,(l,annot)) in