summaryrefslogtreecommitdiffstats
path: root/ocamldoc/odoc_sig.ml
diff options
context:
space:
mode:
authorMaxence Guesdon <maxence.guesdon@inria.fr>2002-04-02 15:16:31 +0000
committerMaxence Guesdon <maxence.guesdon@inria.fr>2002-04-02 15:16:31 +0000
commit786b610e5db3c48e145a25f54237a22f48845977 (patch)
tree554551b48c1c1ba63383f49210dcf509f969c1c5 /ocamldoc/odoc_sig.ml
parente3c3f8b66a3c7ed28253f11b348b706d988306af (diff)
affichage des types de classes, ajout des labels pour les paramètres (pour les classes seulement pour l'instant)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4577 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'ocamldoc/odoc_sig.ml')
-rw-r--r--ocamldoc/odoc_sig.ml19
1 files changed, 11 insertions, 8 deletions
diff --git a/ocamldoc/odoc_sig.ml b/ocamldoc/odoc_sig.ml
index 51b8f66ef..43d44f875 100644
--- a/ocamldoc/odoc_sig.ml
+++ b/ocamldoc/odoc_sig.ml
@@ -1071,10 +1071,12 @@ module Analyser =
(Parsetree.Pcty_constr (_, _) (*of Longident.t * core_type list *),
Types.Tcty_constr (p, typ_list, _) (*of Path.t * type_expr list * class_type*)) ->
print_DEBUG "Tcty_constr _";
+ let path_name = Name.from_path p in
+ let name = Odoc_env.full_class_or_class_type_name env path_name in
let k =
Class_constr
{
- cco_name = Odoc_env.full_class_name env (Name.from_path p) ;
+ cco_name = name ;
cco_class = None ;
cco_type_parameters = List.map (Odoc_env.subst_type env) typ_list
}
@@ -1098,16 +1100,17 @@ module Analyser =
| (Parsetree.Pcty_fun (parse_label, _, pclass_type), Types.Tcty_fun (label, type_expr, class_type)) ->
(* label = string. Dans les signatures, pas de nom de paramètres à l'intérieur des tuples *)
- (* si label = "", pas de label. A VOIR : ici on a l'information pour savoir si on a un label explicite. *)
+ (* si label = "", pas de label. ici on a l'information pour savoir si on a un label explicite. *)
if parse_label = label then
(
let new_param =
- Simple_name
- {
- sn_name = label ;
- sn_type = Odoc_env.subst_type env type_expr ;
- sn_text = None ; (* will be updated when the class will be created *)
- }
+ (Simple_name
+ {
+ sn_name = label ;
+ sn_type = Odoc_env.subst_type env type_expr ;
+ sn_text = None ; (* will be updated when the class will be created *)
+ },
+ label)
in
let (l, k) = analyse_class_kind env current_class_name last_pos pclass_type class_type in
( (new_param :: l), k )