Odoc_info.Type
Representation and manipulation of types.
type record_field = Odoc_type.record_field = {
rf_name : string;
Name of the field.
*)rf_mutable : bool;
true
if mutable.
rf_type : Types.type_expr;
Type of the field.
*)mutable rf_text : info option;
Optional description in the associated comment.
*)}
Description of a record type field.
type constructor_args = Odoc_type.constructor_args =
| Cstr_record of record_field list
| Cstr_tuple of Types.type_expr list
Description of a variant type constructor.
type variant_constructor = Odoc_type.variant_constructor = {
vc_name : string;
Name of the constructor.
*)vc_args : constructor_args;
vc_ret : Types.type_expr option;
mutable vc_text : info option;
Optional description in the associated comment.
*)}
type type_kind = Odoc_type.type_kind =
| Type_abstract
Type is abstract, for example type t
.
| Type_variant of variant_constructor list
constructors
*)| Type_record of record_field list
fields
*)| Type_open
Type is open
*)The various kinds of a type.
type object_field = Odoc_type.object_field = {
of_name : string;
of_type : Types.type_expr;
mutable of_text : Odoc_types.info option;
optional user description
*)}
type type_manifest = Odoc_type.type_manifest =
| Other of Types.type_expr
Type manifest directly taken from Typedtree.
*)| Object_type of object_field list
type t_type = Odoc_type.t_type = {
ty_name : Name.t;
Complete name of the type.
*)mutable ty_info : info option;
Information found in the optional associated comment.
*)ty_parameters : (Types.type_expr * Types.Variance.t) list;
type parameters: (type, variance)
*)ty_kind : type_kind;
Type kind.
*)ty_private : private_flag;
Private or public type.
*)ty_manifest : type_manifest option;
mutable ty_loc : location;
mutable ty_code : string option;
}
Representation of a type.