summaryrefslogtreecommitdiff
path: root/src/Print.ml
diff options
context:
space:
mode:
authorSon Ho2021-11-30 09:50:08 +0100
committerSon Ho2021-11-30 09:50:08 +0100
commitdf564c774866c3aa7316a336b3f48b7cfdeefdcf (patch)
tree93c656d2a4b9cc611c309b7893fd8586976ee39d /src/Print.ml
parent7b686ea3bcabf2178b666e141e773bed923ea55a (diff)
Add more debugging facilities
Diffstat (limited to '')
-rw-r--r--src/Print.ml16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Print.ml b/src/Print.ml
index d1bf5f47..9cc7a34c 100644
--- a/src/Print.ml
+++ b/src/Print.ml
@@ -422,6 +422,12 @@ module Contexts = struct
type ctx_formatter = PV.value_formatter
+ let ctx_to_etype_formatter (fmt : ctx_formatter) : PT.etype_formatter =
+ PV.value_to_etype_formatter fmt
+
+ let ctx_to_rtype_formatter (fmt : ctx_formatter) : PT.rtype_formatter =
+ PV.value_to_rtype_formatter fmt
+
let type_ctx_to_adt_variant_to_string_fun
(ctx : T.type_def T.TypeDefId.vector) :
T.TypeDefId.id -> T.VariantId.id -> string =
@@ -914,6 +920,16 @@ end
(** Pretty-printing for ASTs (functions based on an evaluation context) *)
module EvalCtxCfimAst = struct
+ let ety_to_string (ctx : C.eval_ctx) (t : T.ety) : string =
+ let fmt = PC.eval_ctx_to_ctx_formatter ctx in
+ let fmt = PC.ctx_to_etype_formatter fmt in
+ PT.ety_to_string fmt t
+
+ let rty_to_string (ctx : C.eval_ctx) (t : T.rty) : string =
+ let fmt = PC.eval_ctx_to_ctx_formatter ctx in
+ let fmt = PC.ctx_to_rtype_formatter fmt in
+ PT.rty_to_string fmt t
+
let typed_value_to_string (ctx : C.eval_ctx) (v : V.typed_value) : string =
let fmt = PC.eval_ctx_to_ctx_formatter ctx in
PV.typed_value_to_string fmt v