]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ocaml/contrib/ocamldoc/odoc_env.mli
update
[l4.git] / l4 / pkg / ocaml / contrib / ocamldoc / odoc_env.mli
1 (***********************************************************************)
2 (*                             OCamldoc                                *)
3 (*                                                                     *)
4 (*            Maxence Guesdon, projet Cristal, INRIA Rocquencourt      *)
5 (*                                                                     *)
6 (*  Copyright 2001 Institut National de Recherche en Informatique et   *)
7 (*  en Automatique.  All rights reserved.  This file is distributed    *)
8 (*  under the terms of the Q Public License version 1.0.               *)
9 (*                                                                     *)
10 (***********************************************************************)
11
12 (* $Id: odoc_env.mli 5973 2003-11-24 10:44:07Z starynke $ *)
13
14 (** Environment for finding complete names from relative names. *)
15
16 (** An environment of known names, 
17    from simple name to complete name. *)
18 type env
19
20 (** The empty environment. *)
21 val empty : env
22
23 (** Extending an environment *)
24
25 val add_signature : env -> string -> ?rel:string -> Types.signature -> env
26 val add_exception : env -> Odoc_name.t -> env
27 val add_type : env -> Odoc_name.t -> env
28 val add_value : env -> Odoc_name.t -> env
29 val add_module : env -> Odoc_name.t -> env
30 val add_module_type : env -> Odoc_name.t -> env
31 val add_class : env -> Odoc_name.t -> env
32 val add_class_type : env -> Odoc_name.t -> env
33
34 (** Retrieving fully qualified names from an environment *)
35
36 (** Get the fully qualified module name from a name.*)
37 val full_module_name : env -> Odoc_name.t -> Odoc_name.t
38
39 (** Get the fully qualified module type name from a name.*)
40 val full_module_type_name : env -> Odoc_name.t -> Odoc_name.t
41
42 (** Get the fully qualified module or module type name from a name.
43    We look for a module type if we don't find a module.*)
44 val full_module_or_module_type_name : env -> Odoc_name.t -> Odoc_name.t
45
46 (** Get the fully qualified type name from a name.*)
47 val full_type_name : env -> Odoc_name.t -> Odoc_name.t
48
49 (** Get the fully qualified value name from a name.*)
50 val full_value_name : env -> Odoc_name.t -> Odoc_name.t
51
52 (** Get the fully qualified exception name from a name.*)
53 val full_exception_name : env -> Odoc_name.t -> Odoc_name.t
54
55 (** Get the fully qualified class name from a name.*)
56 val full_class_name : env -> Odoc_name.t -> Odoc_name.t
57
58 (** Get the fully qualified class type name from a name.*)
59 val full_class_type_name : env -> Odoc_name.t -> Odoc_name.t
60
61 (** Get the fully qualified class or class type name from a name.*)
62 val full_class_or_class_type_name : env -> Odoc_name.t -> Odoc_name.t
63
64 (** Substitutions *)
65
66 (** Replace the [Path.t] by a complete [Path.t] in a [Types.type_expr].*)
67 val subst_type : env -> Types.type_expr -> Types.type_expr
68
69 (** Replace the [Path.t] by a complete [Path.t] in a [Types.module_type].*)
70 val subst_module_type : env -> Types.module_type -> Types.module_type
71
72 (** Replace the [Path.t] by a complete [Path.t] in a [Types.class_type].
73    Also empty the structures to get only [object end] when the type
74    is printed.
75 *)
76 val subst_class_type : env -> Types.class_type -> Types.class_type