Rattrapage d'eceptions supplémentaires

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4710 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Maxence Guesdon 2002-04-22 09:41:29 +00:00
parent 329717680c
commit a92e8c9e25
1 changed files with 25 additions and 5 deletions

View File

@ -517,7 +517,11 @@ module Analyser =
pos_start_ele pos_end_ele pos_limit comment_opt sig_item_desc = pos_start_ele pos_end_ele pos_limit comment_opt sig_item_desc =
match sig_item_desc with match sig_item_desc with
Parsetree.Psig_value (name_pre, value_desc) -> Parsetree.Psig_value (name_pre, value_desc) ->
let type_expr = Signature_search.search_value table name_pre in let type_expr =
try Signature_search.search_value table name_pre
with Not_found ->
raise (Failure (Odoc_messages.value_not_found current_module_name name_pre))
in
let name = Name.parens_if_infix name_pre in let name = Name.parens_if_infix name_pre in
let subst_typ = Odoc_env.subst_type env type_expr in let subst_typ = Odoc_env.subst_type env type_expr in
let v = let v =
@ -544,7 +548,11 @@ module Analyser =
(maybe_more, new_env, [ Element_value v ]) (maybe_more, new_env, [ Element_value v ])
| Parsetree.Psig_exception (name, exception_decl) -> | Parsetree.Psig_exception (name, exception_decl) ->
let types_excep_decl = Signature_search.search_exception table name in let types_excep_decl =
try Signature_search.search_exception table name
with Not_found ->
raise (Failure (Odoc_messages.exception_not_found current_module_name name))
in
let e = let e =
{ {
ex_name = Name.concat current_module_name name ; ex_name = Name.concat current_module_name name ;
@ -603,7 +611,11 @@ module Analyser =
let f_DEBUG (name, c_opt) = print_DEBUG ("constructor/field "^name^": "^(match c_opt with None -> "sans commentaire" | Some c -> Odoc_misc.string_of_info c)) in let f_DEBUG (name, c_opt) = print_DEBUG ("constructor/field "^name^": "^(match c_opt with None -> "sans commentaire" | Some c -> Odoc_misc.string_of_info c)) in
List.iter f_DEBUG name_comment_list; List.iter f_DEBUG name_comment_list;
(* get the information for the type in the signature *) (* get the information for the type in the signature *)
let sig_type_decl = Signature_search.search_type table name in let sig_type_decl =
try Signature_search.search_type table name
with Not_found ->
raise (Failure (Odoc_messages.type_not_found current_module_name name))
in
(* get the type kind with the associated comments *) (* get the type kind with the associated comments *)
let type_kind = get_type_kind new_env name_comment_list sig_type_decl.Types.type_kind in let type_kind = get_type_kind new_env name_comment_list sig_type_decl.Types.type_kind in
(* associate the comments to each constructor and build the [Type.t_type] *) (* associate the comments to each constructor and build the [Type.t_type] *)
@ -800,7 +812,11 @@ module Analyser =
in in
let name = class_desc.Parsetree.pci_name in let name = class_desc.Parsetree.pci_name in
let complete_name = Name.concat current_module_name name in let complete_name = Name.concat current_module_name name in
let sig_class_decl = Signature_search.search_class table name in let sig_class_decl =
try Signature_search.search_class table name
with Not_found ->
raise (Failure (Odoc_messages.class_not_found current_module_name name))
in
let sig_class_type = sig_class_decl.Types.cty_type in let sig_class_type = sig_class_decl.Types.cty_type in
let (parameters, class_kind) = let (parameters, class_kind) =
analyse_class_kind analyse_class_kind
@ -872,7 +888,11 @@ module Analyser =
in in
let name = ct_decl.Parsetree.pci_name in let name = ct_decl.Parsetree.pci_name in
let complete_name = Name.concat current_module_name name in let complete_name = Name.concat current_module_name name in
let sig_cltype_decl = Signature_search.search_class_type table name in let sig_cltype_decl =
try Signature_search.search_class_type table name
with Not_found ->
raise (Failure (Odoc_messages.class_type_not_found current_module_name name))
in
let sig_class_type = sig_cltype_decl.Types.clty_type in let sig_class_type = sig_cltype_decl.Types.clty_type in
let kind = analyse_class_type_kind let kind = analyse_class_type_kind
new_env new_env