From d7da4e1dfc58942ceb91fb24afe4751d6fb50cc9 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Wed, 8 Nov 2017 18:00:00 +0100 Subject: 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. --- dev/top_printers.ml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'dev/top_printers.ml') 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) ++ -- cgit v1.2.3