jon.recoil.org

Module Ocaml_typing.Outcometree

type out_name = {
  1. mutable printed_name : string;
}

An out_name is a string representation of an identifier which can be rewritten on the fly to avoid name collisions

type out_string =
  1. | Ostr_string
  2. | Ostr_bytes
type out_attribute = {
  1. oattr_name : string;
}
type out_value =
  1. | Oval_array of Ocaml_typing.Outcometree.out_value list * Ocaml_parsing.Asttypes.mutable_flag
  2. | Oval_char of char
  3. | Oval_constr of Ocaml_typing.Outcometree.out_ident * Ocaml_typing.Outcometree.out_value list
  4. | Oval_ellipsis
  5. | Oval_float of float
  6. | Oval_int of int
  7. | Oval_int32 of int32
  8. | Oval_int64 of int64
  9. | Oval_nativeint of nativeint
  10. | Oval_list of Ocaml_typing.Outcometree.out_value list
  11. | Oval_printer of Merlin_utils.Format_doc.formatter -> unit
  12. | Oval_record of (Ocaml_typing.Outcometree.out_ident * Ocaml_typing.Outcometree.out_value) list
  13. | Oval_string of string * int * Ocaml_typing.Outcometree.out_string
  14. | Oval_stuff of string
  15. | Oval_tuple of (string option * Ocaml_typing.Outcometree.out_value) list
  16. | Oval_variant of string * Ocaml_typing.Outcometree.out_value option
  17. | Oval_lazy of Ocaml_typing.Outcometree.out_value
  18. | Oval_floatarray of floatarray
type out_type_param = {
  1. ot_non_gen : bool;
  2. ot_name : string;
  3. ot_variance : Ocaml_parsing.Asttypes.variance * Ocaml_parsing.Asttypes.injectivity;
}
type out_type =
  1. | Otyp_abstract
  2. | Otyp_open
  3. | Otyp_alias of {
    1. non_gen : bool;
    2. aliased : Ocaml_typing.Outcometree.out_type;
    3. alias : string;
    }
  4. | Otyp_arrow of Ocaml_parsing.Asttypes.arg_label * Ocaml_typing.Outcometree.out_type * Ocaml_typing.Outcometree.out_type
  5. | Otyp_class of Ocaml_typing.Outcometree.out_ident * Ocaml_typing.Outcometree.out_type list
  6. | Otyp_constr of Ocaml_typing.Outcometree.out_ident * Ocaml_typing.Outcometree.out_type list
  7. | Otyp_manifest of Ocaml_typing.Outcometree.out_type * Ocaml_typing.Outcometree.out_type
  8. | Otyp_object of {
    1. fields : (string * Ocaml_typing.Outcometree.out_type) list;
    2. open_row : bool;
    }
  9. | Otyp_record of Ocaml_typing.Outcometree.out_label list
  10. | Otyp_stuff of string
  11. | Otyp_sum of Ocaml_typing.Outcometree.out_constructor list
  12. | Otyp_tuple of (string option * Ocaml_typing.Outcometree.out_type) list
  13. | Otyp_var of bool * string
  14. | Otyp_variant of Ocaml_typing.Outcometree.out_variant * bool * string list option
  15. | Otyp_poly of string list * Ocaml_typing.Outcometree.out_type
  16. | Otyp_module of Ocaml_typing.Outcometree.out_package
  17. | Otyp_attribute of Ocaml_typing.Outcometree.out_type * Ocaml_typing.Outcometree.out_attribute
and out_label = {
  1. olab_name : string;
  2. olab_mut : Ocaml_parsing.Asttypes.mutable_flag;
  3. olab_atomic : Ocaml_parsing.Asttypes.atomic_flag;
  4. olab_type : Ocaml_typing.Outcometree.out_type;
}
and out_constructor = {
  1. ocstr_name : string;
  2. ocstr_args : Ocaml_typing.Outcometree.out_type list;
  3. ocstr_return_type : Ocaml_typing.Outcometree.out_type option;
}
and out_package = {
  1. opack_path : Ocaml_typing.Outcometree.out_ident;
  2. opack_cstrs : (string * Ocaml_typing.Outcometree.out_type) list;
}
and out_variant =
  1. | Ovar_fields of (string * bool * Ocaml_typing.Outcometree.out_type list) list
  2. | Ovar_typ of Ocaml_typing.Outcometree.out_type
and out_class_sig_item =
  1. | Ocsg_constraint of Ocaml_typing.Outcometree.out_type * Ocaml_typing.Outcometree.out_type
  2. | Ocsg_method of string * bool * bool * Ocaml_typing.Outcometree.out_type
  3. | Ocsg_value of string * bool * bool * Ocaml_typing.Outcometree.out_type
type out_module_type =
  1. | Omty_abstract
  2. | Omty_functor of (string option * Ocaml_typing.Outcometree.out_module_type) option * Ocaml_typing.Outcometree.out_module_type
  3. | Omty_ident of Ocaml_typing.Outcometree.out_ident
  4. | Omty_signature of Ocaml_typing.Outcometree.out_sig_item list
  5. | Omty_alias of Ocaml_typing.Outcometree.out_ident
  6. | Omty_hole
and out_type_decl = {
  1. otype_name : string;
  2. otype_params : Ocaml_typing.Outcometree.out_type_param list;
  3. otype_type : Ocaml_typing.Outcometree.out_type;
  4. otype_private : Ocaml_parsing.Asttypes.private_flag;
  5. otype_immediate : Ocaml_typing.Type_immediacy.t;
  6. otype_unboxed : bool;
  7. otype_cstrs : (Ocaml_typing.Outcometree.out_type * Ocaml_typing.Outcometree.out_type) list;
}
and out_extension_constructor = {
  1. oext_name : string;
  2. oext_type_name : string;
  3. oext_type_params : string list;
  4. oext_args : Ocaml_typing.Outcometree.out_type list;
  5. oext_ret_type : Ocaml_typing.Outcometree.out_type option;
  6. oext_private : Ocaml_parsing.Asttypes.private_flag;
}
and out_type_extension = {
  1. otyext_name : string;
  2. otyext_params : string list;
  3. otyext_constructors : Ocaml_typing.Outcometree.out_constructor list;
  4. otyext_private : Ocaml_parsing.Asttypes.private_flag;
}
and out_val_decl = {
  1. oval_name : string;
  2. oval_type : Ocaml_typing.Outcometree.out_type;
  3. oval_prims : string list;
  4. oval_attributes : Ocaml_typing.Outcometree.out_attribute list;
}
and out_rec_status =
  1. | Orec_not
  2. | Orec_first
  3. | Orec_next
and out_ext_status =
  1. | Oext_first
  2. | Oext_next
  3. | Oext_exception