Skip to content

Commit 3a56e18

Browse files
committed
pretty printer: better handling of long module paths
1 parent 352f3d8 commit 3a56e18

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

src/ecPrinting.ml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -411,10 +411,24 @@ let pp_string fmt x =
411411
let pp_path fmt p =
412412
Format.fprintf fmt "%s" (P.tostring p)
413413

414+
(* -------------------------------------------------------------------- *)
415+
let rec pp_msymbol (fmt : Format.formatter) (mx : msymbol) =
416+
match mx with
417+
| [] ->
418+
()
419+
420+
| [x, []] ->
421+
Format.fprintf fmt "%s" x
422+
423+
| [x, args] ->
424+
Format.fprintf fmt "@[<hov 2>%s(@,%a)@]" x (pp_list ",@ " pp_msymbol) args
425+
426+
| mx1 :: mx ->
427+
Format.fprintf fmt "%a.@,%a" pp_msymbol [mx1] pp_msymbol mx
428+
414429
(* -------------------------------------------------------------------- *)
415430
let pp_topmod ppe fmt p =
416-
Format.fprintf fmt "%a"
417-
EcSymbols.pp_msymbol (PPEnv.mod_symb ppe p)
431+
Format.fprintf fmt "%a" pp_msymbol (PPEnv.mod_symb ppe p)
418432

419433
(* -------------------------------------------------------------------- *)
420434
let pp_tyvar ppe fmt x =
@@ -485,8 +499,7 @@ let msymbol_of_pv (ppe : PPEnv.t) p =
485499

486500

487501
(* -------------------------------------------------------------------- *)
488-
let pp_pv ppe fmt p =
489-
EcSymbols.pp_msymbol fmt (msymbol_of_pv ppe p)
502+
let pp_pv ppe fmt p = pp_msymbol fmt (msymbol_of_pv ppe p)
490503

491504
(* -------------------------------------------------------------------- *)
492505
exception NoProjArg
@@ -512,7 +525,7 @@ let pp_restr_s fmt = function
512525
| false -> Format.fprintf fmt "-"
513526

514527
let pp_modtype1 (ppe : PPEnv.t) fmt mty =
515-
EcSymbols.pp_msymbol fmt (PPEnv.modtype_symb ppe mty)
528+
pp_msymbol fmt (PPEnv.modtype_symb ppe mty)
516529

517530
(* -------------------------------------------------------------------- *)
518531
let pp_local (ppe : PPEnv.t) fmt x =
@@ -1385,7 +1398,7 @@ and pp_instr_for_form (ppe : PPEnv.t) fmt i =
13851398
(pp_list ",@ " (pp_expr ppe)) args
13861399

13871400
| Scall (Some lv, xp, args) ->
1388-
Format.fprintf fmt "%a <@@@;<1 2>@[%a(@[<hov 0>%a@]);@]"
1401+
Format.fprintf fmt "%a <@@@;<1 2>@[%a(@[<hov 0>%a@]);@]"
13891402
(pp_lvalue ppe) lv
13901403
(pp_funname ppe) xp
13911404
(pp_list ",@ " (pp_expr ppe)) args
@@ -1962,7 +1975,7 @@ and pp_mod_params ppe bms =
19621975
let ppe1 = PPEnv.add_local ppe id in
19631976
let pp fmt =
19641977
Format.fprintf fmt "%a : %a" (pp_local ppe1) id
1965-
EcSymbols.pp_msymbol (PPEnv.modtype_symb ppe mt) in
1978+
pp_msymbol (PPEnv.modtype_symb ppe mt) in
19661979
ppe1, pp
19671980
in
19681981
let rec aux ppe bms =
@@ -2384,6 +2397,7 @@ let at (ppe : PPEnv.t) n i =
23842397
| Scall (lv, f, es), 0 -> Some (`Call (lv, f, es), `P, [])
23852398
| Sassert e , 0 -> Some (`Assert e , `P, [])
23862399
| Sabstract id , 0 -> Some (`Abstract id , `P, [])
2400+
23872401
| Swhile (e, s), 0 -> Some (`While e, `P, s.s_node)
23882402
| Swhile _ , 1 -> Some (`EBlk , `B, [])
23892403

@@ -2480,7 +2494,7 @@ let pp_i_call (ppe : PPEnv.t) fmt (lv, xp, args) =
24802494
(pp_list ",@ " (pp_expr ppe)) args
24812495

24822496
| Some lv ->
2483-
Format.fprintf fmt "@[<hov 2>%a <@@@ %a(%a)@]"
2497+
Format.fprintf fmt "@[<hov 2>%a <@@@ @[<hov 2>%a(%a)@]@]"
24842498
(pp_lvalue ppe) lv
24852499
(pp_funname ppe) xp
24862500
(pp_list ",@ " (pp_expr ppe)) args

0 commit comments

Comments
 (0)