diff options
| author | Jon French | 2018-08-23 16:38:39 +0100 |
|---|---|---|
| committer | Jon French | 2018-08-24 13:37:02 +0100 |
| commit | 28405e4a4f8e996b5f80a1df2cabb9aa35d66971 (patch) | |
| tree | 6cc7e21fc53cb67713ce56ba34540142d1e8c020 /src | |
| parent | e2f2996161c23d8370cd5fcbe38f9a5d3143e46b (diff) | |
support for P_or and P_not patterns in rewrite_defs_mapping_patterns
Diffstat (limited to 'src')
| -rw-r--r-- | src/rewrites.ml | 7 |
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 |
