summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJon French2018-08-23 16:38:39 +0100
committerJon French2018-08-24 13:37:02 +0100
commit28405e4a4f8e996b5f80a1df2cabb9aa35d66971 (patch)
tree6cc7e21fc53cb67713ce56ba34540142d1e8c020 /src
parente2f2996161c23d8370cd5fcbe38f9a5d3143e46b (diff)
support for P_or and P_not patterns in rewrite_defs_mapping_patterns
Diffstat (limited to 'src')
-rw-r--r--src/rewrites.ml7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rewrites.ml b/src/rewrites.ml
index 218625e1..8a1131e7 100644
--- a/src/rewrites.ml
+++ b/src/rewrites.ml
@@ -3409,6 +3409,13 @@ let rewrite_defs_mapping_patterns =
let pat1, guards, expr = rewrite_pat env (pat1, guards, expr) in
let pat2, guards, expr = rewrite_pat env (pat2, guards, expr) in
P_aux (P_cons (pat1, pat2), p_annot), guards, expr
+ | P_aux (P_or (pat1, pat2), p_annot) ->
+ let pat1, guards, expr = rewrite_pat env (pat1, guards, expr) in
+ let pat2, guards, expr = rewrite_pat env (pat2, guards, expr) in
+ P_aux (P_or (pat1, pat2), p_annot), guards, expr
+ | P_aux (P_not p, p_annot) ->
+ let p', guards, expr = rewrite_pat env (p, guards, expr) in
+ P_aux (P_not p', p_annot), guards, expr
| P_aux (P_id _, _)
| P_aux (P_lit _, _)
| P_aux (P_wild, _) -> pat, guards, expr