diff options
Diffstat (limited to 'ocamldoc/odoc_to_text.ml')
-rw-r--r-- | ocamldoc/odoc_to_text.ml | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ocamldoc/odoc_to_text.ml b/ocamldoc/odoc_to_text.ml index 1c7f6ba7f..ce328b0da 100644 --- a/ocamldoc/odoc_to_text.ml +++ b/ocamldoc/odoc_to_text.ml @@ -231,6 +231,10 @@ class virtual to_text = method normal_type_list ?par m_name sep t = self#relative_idents m_name (Odoc_info.string_of_type_list ?par sep t) + method normal_cstr_args ?par m_name = function + | Cstr_tuple l -> self#normal_type_list ?par m_name " * " l + | Cstr_record _ -> "{...}" (* TODO *) + (** Get a string for a list of class or class type type parameters where all idents are relative. *) method normal_class_type_param_list m_name t = @@ -339,21 +343,23 @@ class virtual to_text = let father = Name.father e.ex_name in Format.fprintf Format.str_formatter "@[<hov 2>exception %s" s_name ; (match e.ex_args, e.ex_ret with - [], None -> () - | l, None -> + Cstr_tuple [], None -> () + | Cstr_tuple l, None -> Format.fprintf Format.str_formatter " %s@ %s" "of" (self#normal_type_list ~par: false father " * " l) - | [], Some r -> + | Cstr_tuple [], Some r -> Format.fprintf Format.str_formatter " %s@ %s" ":" (self#normal_type father r) - | l, Some r -> + | Cstr_tuple l, Some r -> Format.fprintf Format.str_formatter " %s@ %s@ %s@ %s" ":" (self#normal_type_list ~par: false father " * " l) "->" (self#normal_type father r) + | Cstr_record _, _ -> + assert false ); (match e.ex_alias with None -> () |