Add copyright notices and new function String.chomp
[ocaml.git] / ocamldoc / odoc_env.mli
blob6532a58d5c3eeed567340e8ad7d3a8706536c624
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 (***********************************************************************)
12 (* $Id$ *)
14 (** Environment for finding complete names from relative names. *)
16 (** An environment of known names,
17 from simple name to complete name. *)
18 type env
20 (** The empty environment. *)
21 val empty : env
23 (** Extending an environment *)
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
34 (** Retrieving fully qualified names from an environment *)
36 (** Get the fully qualified module name from a name.*)
37 val full_module_name : env -> Odoc_name.t -> Odoc_name.t
39 (** Get the fully qualified module type name from a name.*)
40 val full_module_type_name : env -> Odoc_name.t -> Odoc_name.t
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
46 (** Get the fully qualified type name from a name.*)
47 val full_type_name : env -> Odoc_name.t -> Odoc_name.t
49 (** Get the fully qualified value name from a name.*)
50 val full_value_name : env -> Odoc_name.t -> Odoc_name.t
52 (** Get the fully qualified exception name from a name.*)
53 val full_exception_name : env -> Odoc_name.t -> Odoc_name.t
55 (** Get the fully qualified class name from a name.*)
56 val full_class_name : env -> Odoc_name.t -> Odoc_name.t
58 (** Get the fully qualified class type name from a name.*)
59 val full_class_type_name : env -> Odoc_name.t -> Odoc_name.t
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
64 (** Substitutions *)
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
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
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.
76 val subst_class_type : env -> Types.class_type -> Types.class_type