aboutsummaryrefslogtreecommitdiff
path: root/src/tac2print.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/tac2print.ml')
-rw-r--r--src/tac2print.ml16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/tac2print.ml b/src/tac2print.ml
index 939f44aeaf..75ad2082d4 100644
--- a/src/tac2print.ml
+++ b/src/tac2print.ml
@@ -125,6 +125,15 @@ let find_constructor n empty def =
in
find n def
+let pr_internal_constructor tpe n is_const =
+ let data = match Tac2env.interp_type tpe with
+ | (_, GTydAlg data) -> data
+ | _ -> assert false
+ in
+ let id = find_constructor n is_const data.galg_constructors in
+ let kn = change_kn_label tpe id in
+ pr_constructor kn
+
let order_branches cbr nbr def =
let rec order cidx nidx def = match def with
| [] -> []
@@ -179,18 +188,17 @@ let pr_glbexpr_gen lvl c =
paren (prlist_with_sep (fun () -> str "," ++ spc ()) (pr_glbexpr E1) cl)
| GTacCst (Other tpe, n, cl) ->
begin match Tac2env.interp_type tpe with
- | _, GTydAlg { galg_constructors = def } ->
+ | _, GTydAlg def ->
let paren = match lvl with
| E0 -> paren
| E1 | E2 | E3 | E4 | E5 -> fun x -> x
in
- let id = find_constructor n (List.is_empty cl) def in
- let kn = change_kn_label tpe id in
+ let cstr = pr_internal_constructor tpe n (List.is_empty cl) in
let cl = match cl with
| [] -> mt ()
| _ -> spc () ++ pr_sequence (pr_glbexpr E0) cl
in
- paren (hov 2 (pr_constructor kn ++ cl))
+ paren (hov 2 (cstr ++ cl))
| _, GTydRec def ->
let args = List.combine def cl in
let pr_arg ((id, _, _), arg) =