summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pretty_print.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pretty_print.ml b/src/pretty_print.ml
index c70e18b7..2a24dc3e 100644
--- a/src/pretty_print.ml
+++ b/src/pretty_print.ml
@@ -875,6 +875,14 @@ let doc_exp, doc_let =
| E_app_infix(l,op,r) ->
failwith ("unexpected app_infix operator " ^ (pp_format_id op))
(* doc_op (doc_id op) (exp l) (exp r) *)
+ | E_internal_exp (l, Base((_,t),_,_,_)) ->
+ (match t.t with
+ | Tapp("vector",[TA_nexp _;TA_nexp r;_;_]) ->
+ (match r.nexp with
+ | Nconst bi -> utf8string (Big_int.string_of_big_int bi)
+ | _ -> raise (Reporting_basic.err_unreachable l "Internal exp given vector without known length"))
+ | _ -> raise (Reporting_basic.err_unreachable l "Internal exp given non-vector"))
+
(* XXX missing case
AAA internal_cast should never have an overload, if it's been seen it's a bug *)
| E_internal_cast ((_, Overload (_, _,_ )), _) | E_internal_exp _ -> assert false