diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-11-08 18:00:00 +0100 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-11-08 18:04:13 +0100 |
commit | d7da4e1dfc58942ceb91fb24afe4751d6fb50cc9 (patch) | |
tree | 700b0b9c3dd7b29fe88a843e2f55fd9ffc296932 /dev/top_printers.ml | |
parent | 0d81e80a09db7d352408be4dfc5ba263f6ed98ef (diff) |
Adding a debugging printer for ident maps whose codomain type is unknown.
Actually, ocaml is apparently doing well. If there is a printer for 'a
Id.Map.t and another for say Id.t Id.Map.id, it uses the most defined
existing ones, so, it is apparently not a problem to have overlapping
printer.
Diffstat (limited to 'dev/top_printers.ml')
-rw-r--r-- | dev/top_printers.ml | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dev/top_printers.ml b/dev/top_printers.ml index 35956477d..94d825079 100644 --- a/dev/top_printers.ml +++ b/dev/top_printers.ml @@ -85,9 +85,14 @@ let prset' pr l = str "[" ++ hov 0 (prlist_with_sep pr_comma pr l) ++ str "]" let pridmap pr l = let pr (id,b) = Id.print id ++ str "=>" ++ pr id b in prset' pr (Id.Map.fold (fun a b l -> (a,b)::l) l []) - let ppidmap pr l = pp (pridmap pr l) +let pridmapgen l = + let dom = Id.Set.elements (Id.Map.domain l) in + if dom = [] then str "[]" else + str "[domain= " ++ hov 0 (prlist_with_sep spc Id.print dom) ++ str "]" +let ppidmapgen l = pp (pridmapgen l) + let ppevarsubst = ppidmap (fun id0 -> prset (fun (c,copt,id) -> hov 0 (Termops.print_constr (EConstr.of_constr c) ++ |