summaryrefslogtreecommitdiff
path: root/src/pattern_completeness.ml
diff options
context:
space:
mode:
authorAlasdair Armstrong2019-07-16 18:57:46 +0100
committerAlasdair Armstrong2019-07-16 18:57:46 +0100
commitcd909e15b97739b10214023af04b2fbbb4d20cf7 (patch)
tree9a418c7cafa915c29e93242848a1411cbd8b8f7c /src/pattern_completeness.ml
parent6d3a6edcd616621eb40420cfb16a34762a32c5c1 (diff)
parent170543faa031d90186e6b45612ed8374f1c25f7b (diff)
Merge remote-tracking branch 'origin/sail2' into separate_bv
Diffstat (limited to 'src/pattern_completeness.ml')
-rw-r--r--src/pattern_completeness.ml7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pattern_completeness.ml b/src/pattern_completeness.ml
index 3e26502d..3de0058f 100644
--- a/src/pattern_completeness.ml
+++ b/src/pattern_completeness.ml
@@ -286,6 +286,13 @@ let shrink_loc = function
Lexing.(Parse_ast.Range (n, { n with pos_cnum = n.pos_cnum + 5 }))
| l -> l
+let is_complete ctx cases =
+ match cases_to_pats cases with
+ | [] -> false
+ | (_, pat) :: pats ->
+ let top_pat = List.fold_left (combine ctx) (generalize ctx pat) pats in
+ is_wild top_pat
+
let check l ctx cases =
match cases_to_pats cases with
| [] -> Reporting.warn "No non-guarded patterns at" (shrink_loc l) ""