package ocaml-base-compiler
Module 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;(*
*)trueif 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 * bool * bool) list;(*type parameters: (type, covariant, contravariant)
*)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.