ocaml-base-compiler

Official release 4.12.1
IN THIS PACKAGE
Module Odoc_info . Type
type private_flag = Odoc_type.private_flag =
| Private
| Public
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 * 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.