Module Ocaml_typing.Env
type value_unbound_reason = | Val_unbound_instance_variable| Val_unbound_self| Val_unbound_ancestor| Val_unbound_ghost_recursive of Ocaml_parsing.Location.t
type summary = | Env_empty| Env_value of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.value_description| Env_type of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.type_declaration| Env_extension of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.extension_constructor| Env_module of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.module_presence * Ocaml_typing.Types.module_declaration| Env_modtype of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.modtype_declaration| Env_class of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.class_declaration| Env_cltype of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t * Ocaml_typing.Types.class_type_declaration| Env_open of Ocaml_typing.Env.summary * Ocaml_typing.Path.t(*The string set argument of
*)Env_openrepresents a list of module names to skip, i.e. that won't be imported in the toplevel namespace.| Env_functor_arg of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t| Env_constraints of Ocaml_typing.Env.summary * Ocaml_typing.Types.type_declaration Ocaml_typing.Path.Map.t| Env_copy_types of Ocaml_typing.Env.summary| Env_persistent of Ocaml_typing.Env.summary * Ocaml_typing.Ident.t| Env_value_unbound of Ocaml_typing.Env.summary * string * Ocaml_typing.Env.value_unbound_reason| Env_module_unbound of Ocaml_typing.Env.summary * string * Ocaml_typing.Env.module_unbound_reason
val empty : Ocaml_typing.Env.tval initial : Ocaml_typing.Env.tval diff :
Ocaml_typing.Env.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t listval same_type_declarations : Ocaml_typing.Env.t -> Ocaml_typing.Env.t -> booltype type_descriptions = Ocaml_typing.Env.type_descr_kindval iter_types :
(Ocaml_typing.Path.t ->
(Ocaml_typing.Path.t * Ocaml_typing.Types.type_declaration) ->
unit) ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.iter_contval run_iter_cont :
Ocaml_typing.Env.iter_cont list ->
(Ocaml_typing.Path.t * Ocaml_typing.Env.iter_cont) listval same_types : Ocaml_typing.Env.t -> Ocaml_typing.Env.t -> boolval used_persistent : unit -> Merlin_utils.Misc.String.Set.tval find_shadowed_types :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t listval find_value :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.value_descriptionval find_type :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.type_declarationval find_type_descrs :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.type_descriptionsval find_module :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.module_declarationval find_modtype :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.modtype_declarationval find_class :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.class_declarationval find_cltype :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.class_type_declarationval find_strengthened_module :
aliasable:bool ->
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.module_typeval find_ident_constructor :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.constructor_descriptionval find_ident_label :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.label_descriptionval find_type_expansion :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.type_expr list * Ocaml_typing.Types.type_expr * intval find_type_expansion_opt :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.type_expr list * Ocaml_typing.Types.type_expr * intval find_modtype_expansion :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.module_typeval find_modtype_expansion_lazy :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Subst.Lazy.modtypeval find_hash_type :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.type_declarationval find_value_address :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.addressval find_module_address :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.addressval find_class_address :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.addressval find_constructor_address :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.addressval shape_of_path :
namespace:Ocaml_typing.Shape.Sig_component_kind.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Shape.tval add_functor_arg :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval is_functor_arg : Ocaml_typing.Path.t -> Ocaml_typing.Env.t -> boolval normalize_module_path :
Ocaml_parsing.Location.t option ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Path.tval normalize_type_path :
Ocaml_parsing.Location.t option ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Path.tval normalize_value_path :
Ocaml_parsing.Location.t option ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Path.tval normalize_modtype_path :
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Path.tval get_required_globals : unit -> Ocaml_typing.Ident.t listval add_required_global : Ocaml_typing.Ident.t -> unitval has_local_constraints : Ocaml_typing.Env.t -> boolval mark_value_used : Ocaml_typing.Types.Uid.t -> unitval mark_module_used : Ocaml_typing.Types.Uid.t -> unitval mark_type_used : Ocaml_typing.Types.Uid.t -> unitval mark_constructor_used :
Ocaml_typing.Env.constructor_usage ->
Ocaml_typing.Types.Uid.t ->
unitval mark_extension_used :
Ocaml_typing.Env.constructor_usage ->
Ocaml_typing.Types.Uid.t ->
unitval mark_label_used :
Ocaml_typing.Env.label_usage ->
Ocaml_typing.Types.Uid.t ->
unittype lookup_error = | Unbound_value of Ocaml_parsing.Longident.t * Ocaml_typing.Env.unbound_value_hint| Unbound_type of Ocaml_parsing.Longident.t| Unbound_constructor of Ocaml_parsing.Longident.t| Unbound_label of Ocaml_parsing.Longident.t| Unbound_module of Ocaml_parsing.Longident.t| Unbound_class of Ocaml_parsing.Longident.t| Unbound_modtype of Ocaml_parsing.Longident.t| Unbound_cltype of Ocaml_parsing.Longident.t| Unbound_instance_variable of string| Not_an_instance_variable of string| Masked_instance_variable of Ocaml_parsing.Longident.t| Masked_self_variable of Ocaml_parsing.Longident.t| Masked_ancestor_variable of Ocaml_parsing.Longident.t| Structure_used_as_functor of Ocaml_parsing.Longident.t| Abstract_used_as_functor of Ocaml_parsing.Longident.t| Functor_used_as_structure of Ocaml_parsing.Longident.t| Abstract_used_as_structure of Ocaml_parsing.Longident.t| Generative_used_as_applicative of Ocaml_parsing.Longident.t| Illegal_reference_to_recursive_module of {}| Illegal_reference_to_recursive_class_type of {container : string option;unbound : string;unbound_class_type : Ocaml_parsing.Longident.t;container_class_type : string;
}| Cannot_scrape_alias of Ocaml_parsing.Longident.t * Ocaml_typing.Path.t
val lookup_error :
Ocaml_parsing.Location.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.lookup_error ->
'aval lookup_value :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.value_descriptionval lookup_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.type_declarationval lookup_module :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.module_declarationval lookup_modtype :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.modtype_declarationval lookup_class :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.class_declarationval lookup_cltype :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.class_type_declarationval lookup_module_path :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
load:bool ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.tval lookup_modtype_path :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.tval lookup_constructor :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.constructor_usage ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.constructor_descriptionval lookup_all_constructors :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.constructor_usage ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
((Ocaml_typing.Data_types.constructor_description * (unit -> unit)) list,
Ocaml_parsing.Location.t
* Ocaml_typing.Env.t
* Ocaml_typing.Env.lookup_error)
Stdlib.resultval lookup_all_constructors_from_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.constructor_usage ->
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
(Ocaml_typing.Data_types.constructor_description * (unit -> unit)) listval lookup_label :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.label_usage ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.label_descriptionval lookup_all_labels :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.label_usage ->
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
((Ocaml_typing.Data_types.label_description * (unit -> unit)) list,
Ocaml_parsing.Location.t
* Ocaml_typing.Env.t
* Ocaml_typing.Env.lookup_error)
Stdlib.resultval lookup_all_labels_from_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_typing.Env.label_usage ->
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
(Ocaml_typing.Data_types.label_description * (unit -> unit)) listval lookup_instance_variable :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
string ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t
* Ocaml_parsing.Asttypes.mutable_flag
* string
* Ocaml_typing.Types.type_exprval find_value_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.value_descriptionval find_type_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.type_declarationval find_module_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.module_declarationval find_modtype_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.modtype_declarationval find_class_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.class_declarationval find_cltype_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Path.t * Ocaml_typing.Types.class_type_declarationval find_constructor_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.constructor_descriptionval find_label_by_name :
Ocaml_parsing.Longident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Data_types.label_descriptionval find_value_index : Ocaml_typing.Ident.t -> Ocaml_typing.Env.t -> int optionThe find_*_index functions computes a "namespaced" De Bruijn index of an identifier in a given environment. In other words, it returns how many times an identifier has been shadowed by a more recent identifiers with the same name in a given environment. Those functions return None when the identifier is not bound in the environment. This behavior is there to facilitate the detection of inconsistent printing environment, but should disappear in the long term.
val find_type_index : Ocaml_typing.Ident.t -> Ocaml_typing.Env.t -> int optionval find_module_index :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
int optionval find_modtype_index :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
int optionval find_class_index : Ocaml_typing.Ident.t -> Ocaml_typing.Env.t -> int optionval find_cltype_index :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
int optionval bound_value : string -> Ocaml_typing.Env.t -> boolval bound_module : string -> Ocaml_typing.Env.t -> boolval bound_type : string -> Ocaml_typing.Env.t -> boolval bound_modtype : string -> Ocaml_typing.Env.t -> boolval bound_class : string -> Ocaml_typing.Env.t -> boolval bound_cltype : string -> Ocaml_typing.Env.t -> boolval make_copy_of_types :
Ocaml_typing.Env.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_value :
?check:(string -> Ocaml_utils.Warnings.t) ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.value_description ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_type :
check:bool ->
?shape:Ocaml_typing.Shape.t ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_type_long_path :
check:bool ->
?shape:Ocaml_typing.Shape.t ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_extension :
check:bool ->
?shape:Ocaml_typing.Shape.t ->
rebind:bool ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.extension_constructor ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_module :
?arg:bool ->
?shape:Ocaml_typing.Shape.t ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Types.module_type ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_module_lazy :
update_summary:bool ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Subst.Lazy.modtype ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_module_declaration :
?arg:bool ->
?shape:Ocaml_typing.Shape.t ->
check:bool ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Types.module_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_module_declaration_lazy :
update_summary:bool ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Subst.Lazy.module_decl ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_modtype :
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.modtype_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_modtype_lazy :
update_summary:bool ->
Ocaml_typing.Ident.t ->
Ocaml_typing.Subst.Lazy.modtype_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_class :
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.class_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_cltype :
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.class_type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_local_constraint :
Ocaml_typing.Path.t ->
Ocaml_typing.Types.type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_persistent_structure :
Ocaml_typing.Ident.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval persistent_structures_of_dir :
Ocaml_utils.Load_path.Dir.t ->
Merlin_utils.Misc.String.Set.tval filter_non_loaded_persistent :
(Ocaml_typing.Ident.t -> bool) ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval add_signature :
Ocaml_typing.Types.signature ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval open_signature :
?used_slot:bool Stdlib.ref ->
?loc:Ocaml_parsing.Location.t ->
?toplevel:bool ->
Ocaml_parsing.Asttypes.override_flag ->
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
(Ocaml_typing.Env.t, [ `Not_found | `Functor ]) Stdlib.resultval open_pers_signature :
string ->
Ocaml_typing.Env.t ->
(Ocaml_typing.Env.t, [ `Not_found ]) Stdlib.resultval remove_last_open :
Ocaml_typing.Path.t ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.t optionval enter_value :
?check:(string -> Ocaml_utils.Warnings.t) ->
string ->
Ocaml_typing.Types.value_description ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_type :
?long_path:bool ->
scope:int ->
string ->
Ocaml_typing.Types.type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_extension :
scope:int ->
rebind:bool ->
string ->
Ocaml_typing.Types.extension_constructor ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_module :
scope:int ->
?arg:bool ->
string ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Types.module_type ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_module_declaration :
scope:int ->
?arg:bool ->
?shape:Ocaml_typing.Shape.t ->
string ->
Ocaml_typing.Types.module_presence ->
Ocaml_typing.Types.module_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_modtype :
scope:int ->
string ->
Ocaml_typing.Types.modtype_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_class :
scope:int ->
string ->
Ocaml_typing.Types.class_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_cltype :
scope:int ->
string ->
Ocaml_typing.Types.class_type_declaration ->
Ocaml_typing.Env.t ->
Ocaml_typing.Ident.t * Ocaml_typing.Env.tval enter_signature :
?mod_shape:Ocaml_typing.Shape.t ->
scope:int ->
Ocaml_typing.Types.signature ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.signature * Ocaml_typing.Env.tval enter_signature_and_shape :
scope:int ->
parent_shape:Ocaml_typing.Shape.Map.t ->
Ocaml_typing.Shape.t ->
Ocaml_typing.Types.signature ->
Ocaml_typing.Env.t ->
Ocaml_typing.Types.signature * Ocaml_typing.Shape.Map.t * Ocaml_typing.Env.tval enter_unbound_value :
string ->
Ocaml_typing.Env.value_unbound_reason ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval enter_unbound_module :
string ->
Ocaml_typing.Env.module_unbound_reason ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval set_current_unit : Ocaml_parsing.Unit_info.t -> unitval get_current_unit : unit -> Ocaml_parsing.Unit_info.t optionval read_signature :
Ocaml_parsing.Unit_info.Artifact.t ->
Ocaml_typing.Types.signatureval save_signature :
alerts:Merlin_utils.Misc.alerts ->
Ocaml_typing.Types.signature ->
Ocaml_parsing.Unit_info.Artifact.t ->
Ocaml_typing.Cmi_format.cmi_infosval save_signature_with_imports :
alerts:Merlin_utils.Misc.alerts ->
Ocaml_typing.Types.signature ->
Ocaml_parsing.Unit_info.Artifact.t ->
Merlin_utils.Misc.crcs ->
Ocaml_typing.Cmi_format.cmi_infosval crc_of_unit : Merlin_utils.Misc.modname -> Stdlib.Digest.tval imports : unit -> Merlin_utils.Misc.crcsval import_crcs : source:string -> Merlin_utils.Misc.crcs -> unitval is_imported_opaque : Merlin_utils.Misc.modname -> boolval register_import_as_opaque : Merlin_utils.Misc.modname -> unitval summary : Ocaml_typing.Env.t -> Ocaml_typing.Env.summaryval keep_only_summary : Ocaml_typing.Env.t -> Ocaml_typing.Env.tval env_of_only_summary :
(Ocaml_typing.Env.summary -> Ocaml_typing.Subst.t -> Ocaml_typing.Env.t) ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.tval update_short_paths : Ocaml_typing.Env.t -> Ocaml_typing.Env.tval short_paths : Ocaml_typing.Env.t -> Ocaml_typing.Short_paths.ttype error = | Missing_module of Ocaml_parsing.Location.t * Ocaml_typing.Path.t * Ocaml_typing.Path.t| Illegal_value_name of Ocaml_parsing.Location.t * string| Lookup_error of Ocaml_parsing.Location.t * Ocaml_typing.Env.t * Ocaml_typing.Env.lookup_error
exception Error of Ocaml_typing.Env.errorval in_signature : bool -> Ocaml_typing.Env.t -> Ocaml_typing.Env.tval is_in_signature : Ocaml_typing.Env.t -> boolval set_value_used_callback :
Ocaml_typing.Types.value_description ->
(unit -> unit) ->
unitval set_type_used_callback :
Ocaml_typing.Types.type_declaration ->
((unit -> unit) -> unit) ->
unitval check_functor_application :
(errors:bool ->
loc:Ocaml_parsing.Location.t ->
lid_whole_app:Ocaml_parsing.Longident.t ->
f0_path:Ocaml_typing.Path.t ->
args:(Ocaml_typing.Path.t * Ocaml_typing.Types.module_type) list ->
arg_path:Ocaml_typing.Path.t ->
arg_mty:Ocaml_typing.Types.module_type ->
param_mty:Ocaml_typing.Types.module_type ->
Ocaml_typing.Env.t ->
unit)
Stdlib.refval check_well_formed_module :
(Ocaml_typing.Env.t ->
Ocaml_parsing.Location.t ->
string ->
Ocaml_typing.Types.module_type ->
unit)
Stdlib.refval add_delayed_check_forward : ((unit -> unit) -> unit) Stdlib.refval strengthen :
(aliasable:bool ->
Ocaml_typing.Env.t ->
Ocaml_typing.Subst.Lazy.modtype ->
Ocaml_typing.Path.t ->
Ocaml_typing.Subst.Lazy.modtype)
Stdlib.refval same_constr :
(Ocaml_typing.Env.t ->
Ocaml_typing.Types.type_expr ->
Ocaml_typing.Types.type_expr ->
bool)
Stdlib.refval print_longident :
Ocaml_parsing.Longident.t Merlin_utils.Format_doc.printer Stdlib.refval print_path : Ocaml_typing.Path.t Merlin_utils.Format_doc.printer Stdlib.refval shorten_module_path :
(Ocaml_typing.Env.t -> Ocaml_typing.Path.t -> Ocaml_typing.Path.t) Stdlib.refFolds
Folding over all identifiers (for analysis purpose)
val fold_values :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.value_description ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_types :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.type_declaration ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_constructors :
(Ocaml_typing.Data_types.constructor_description -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_labels :
(Ocaml_typing.Data_types.label_description -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_modules :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.module_declaration ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aPersistent structures are only traversed if they are already loaded.
val fold_modtypes :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.modtype_declaration ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_classes :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.class_declaration ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval fold_cltypes :
(string ->
Ocaml_typing.Path.t ->
Ocaml_typing.Types.class_type_declaration ->
'a ->
'a) ->
Ocaml_parsing.Longident.t option ->
Ocaml_typing.Env.t ->
'a ->
'aval scrape_alias :
Ocaml_typing.Env.t ->
Ocaml_typing.Types.module_type ->
Ocaml_typing.Types.module_typeUtilities
val check_value_name : string -> Ocaml_parsing.Location.t -> unitval print_address : Stdlib.Format.formatter -> Ocaml_typing.Env.address -> unitval unbound_class : Ocaml_typing.Path.tmerlin: manage internal state
val add_merlin_extension_module :
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_type ->
Ocaml_typing.Env.t ->
Ocaml_typing.Env.t