package ocaml-base-compiler

  1. Overview
  2. Docs

Representation and manipulation of extensions.

type private_flag = Odoc_extension.private_flag =
  1. | Private
  2. | Public
type extension_alias = Odoc_extension.extension_alias = {
  1. xa_name : Name.t;
    (*

    The complete name of the target extension.

    *)
  2. mutable xa_xt : t_extension_constructor option;
    (*

    The target extension, if we found it.

    *)
}

Used when the extension is a rebind of another extension, when we have extension Xt = Target_xt.

and t_extension_constructor = Odoc_extension.t_extension_constructor = {
  1. xt_name : Name.t;
  2. xt_args : Odoc_type.constructor_args;
  3. xt_ret : Types.type_expr option;
    (*

    the optional return type of the extension

    *)
  4. xt_type_extension : t_type_extension;
    (*

    the type extension containing this constructor

    *)
  5. xt_alias : extension_alias option;
    (*

    None when the extension is not a rebind.

    *)
  6. mutable xt_loc : Odoc_types.location;
  7. mutable xt_text : Odoc_types.info option;
    (*

    optional user description

    *)
}
and t_type_extension = Odoc_extension.t_type_extension = {
  1. mutable te_info : info option;
    (*

    Information found in the optional associated comment.

    *)
  2. te_type_name : Name.t;
    (*

    The type of the extension

    *)
  3. te_type_parameters : Types.type_expr list;
  4. te_private : private_flag;
  5. mutable te_constructors : t_extension_constructor list;
  6. mutable te_loc : location;
  7. mutable te_code : string option;
}
val extension_constructors : t_type_extension -> t_extension_constructor list

Access to the extensions in a group.