Ocaml_typing.EnvSourcetype value_unbound_reason = | Val_unbound_instance_variable| Val_unbound_self| Val_unbound_ancestor| Val_unbound_ghost_recursive of Ocaml_parsing.Location.ttype summary = | Env_empty| Env_value of summary * Ident.t * Types.value_description| Env_type of summary * Ident.t * Types.type_declaration| Env_extension of summary * Ident.t * Types.extension_constructor| Env_module of summary
* Ident.t
* Types.module_presence
* Types.module_declaration| Env_modtype of summary * Ident.t * Types.modtype_declaration| Env_class of summary * Ident.t * Types.class_declaration| Env_cltype of summary * Ident.t * Types.class_type_declaration| Env_open of summary * Path.tThe string set argument of Env_open represents a list of module names to skip, i.e. that won't be imported in the toplevel namespace.
| Env_functor_arg of summary * Ident.t| Env_constraints of summary * Types.type_declaration Path.Map.t| Env_copy_types of summary| Env_persistent of summary * Ident.t| Env_value_unbound of summary * string * value_unbound_reason| Env_module_unbound of summary * string * module_unbound_reasontype type_descr_kind =
(Types.label_description, Types.constructor_description) Types.type_kindtype lookup_error = | Unbound_value of Ocaml_parsing.Longident.t * 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| Cannot_scrape_alias of Ocaml_parsing.Longident.t * Path.tval lookup_value :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.value_descriptionval lookup_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.type_declarationval lookup_module :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.module_declarationval lookup_modtype :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.modtype_declarationval lookup_class :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.class_declarationval lookup_cltype :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.class_type_declarationval lookup_module_path :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
load:bool ->
Ocaml_parsing.Longident.t ->
t ->
Path.tval lookup_modtype_path :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
Ocaml_parsing.Longident.t ->
t ->
Path.tval lookup_constructor :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
constructor_usage ->
Ocaml_parsing.Longident.t ->
t ->
Types.constructor_descriptionval lookup_all_constructors :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
constructor_usage ->
Ocaml_parsing.Longident.t ->
t ->
((Types.constructor_description * (unit -> unit)) list,
Ocaml_parsing.Location.t * t * lookup_error)
resultval lookup_all_constructors_from_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
constructor_usage ->
Path.t ->
t ->
(Types.constructor_description * (unit -> unit)) listval lookup_label :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
label_usage ->
Ocaml_parsing.Longident.t ->
t ->
Types.label_descriptionval lookup_all_labels :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
label_usage ->
Ocaml_parsing.Longident.t ->
t ->
((Types.label_description * (unit -> unit)) list,
Ocaml_parsing.Location.t * t * lookup_error)
resultval lookup_all_labels_from_type :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
label_usage ->
Path.t ->
t ->
(Types.label_description * (unit -> unit)) listval lookup_instance_variable :
?use:bool ->
loc:Ocaml_parsing.Location.t ->
string ->
t ->
Path.t * Ocaml_parsing.Asttypes.mutable_flag * string * Types.type_exprval find_modtype_by_name :
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.modtype_declarationval find_cltype_by_name :
Ocaml_parsing.Longident.t ->
t ->
Path.t * Types.class_type_declarationval find_constructor_by_name :
Ocaml_parsing.Longident.t ->
t ->
Types.constructor_descriptionval add_value :
?check:(string -> Ocaml_utils.Warnings.t) ->
Ident.t ->
Types.value_description ->
t ->
tval add_extension :
check:bool ->
rebind:bool ->
Ident.t ->
Types.extension_constructor ->
t ->
tval add_module :
?arg:bool ->
?shape:Shape.t ->
Ident.t ->
Types.module_presence ->
Types.module_type ->
t ->
tval add_module_lazy :
update_summary:bool ->
Ident.t ->
Types.module_presence ->
Subst.Lazy.modtype ->
t ->
tval add_module_declaration :
?arg:bool ->
?shape:Shape.t ->
check:bool ->
Ident.t ->
Types.module_presence ->
Types.module_declaration ->
t ->
tval add_module_declaration_lazy :
update_summary:bool ->
Ident.t ->
Types.module_presence ->
Subst.Lazy.module_decl ->
t ->
tval add_modtype_lazy :
update_summary:bool ->
Ident.t ->
Subst.Lazy.modtype_declaration ->
t ->
tval persistent_structures_of_dir :
Ocaml_utils.Load_path.Dir.t ->
Merlin_utils.Misc.String.Set.tval open_signature :
?used_slot:bool ref ->
?loc:Ocaml_parsing.Location.t ->
?toplevel:bool ->
Ocaml_parsing.Asttypes.override_flag ->
Path.t ->
t ->
(t, [ `Not_found | `Functor ]) resultval enter_value :
?check:(string -> Ocaml_utils.Warnings.t) ->
string ->
Types.value_description ->
t ->
Ident.t * tval enter_extension :
scope:int ->
rebind:bool ->
string ->
Types.extension_constructor ->
t ->
Ident.t * tval enter_module :
scope:int ->
?arg:bool ->
string ->
Types.module_presence ->
Types.module_type ->
t ->
Ident.t * tval enter_module_declaration :
scope:int ->
?arg:bool ->
?shape:Shape.t ->
string ->
Types.module_presence ->
Types.module_declaration ->
t ->
Ident.t * tval enter_signature :
?mod_shape:Shape.t ->
scope:int ->
Types.signature ->
t ->
Types.signature * tval enter_signature_and_shape :
scope:int ->
parent_shape:Shape.Map.t ->
Shape.t ->
Types.signature ->
t ->
Types.signature * Shape.Map.t * tval read_signature :
Merlin_utils.Misc.modname ->
Merlin_utils.Misc.filepath ->
Types.signatureval save_signature :
alerts:Merlin_utils.Misc.alerts ->
Types.signature ->
Merlin_utils.Misc.modname ->
Merlin_utils.Misc.filepath ->
Cmi_format.cmi_infosval save_signature_with_imports :
alerts:Merlin_utils.Misc.alerts ->
Types.signature ->
Merlin_utils.Misc.modname ->
Merlin_utils.Misc.filepath ->
Merlin_utils.Misc.crcs ->
Cmi_format.cmi_infostype error = | Missing_module of Ocaml_parsing.Location.t * Path.t * Path.t| Illegal_value_name of Ocaml_parsing.Location.t * string| Lookup_error of Ocaml_parsing.Location.t * t * lookup_errorval report_lookup_error :
Ocaml_parsing.Location.t ->
t ->
Format.formatter ->
lookup_error ->
unitval check_functor_application :
(errors:bool ->
loc:Ocaml_parsing.Location.t ->
lid_whole_app:Ocaml_parsing.Longident.t ->
f0_path:Path.t ->
args:(Path.t * Types.module_type) list ->
arg_path:Path.t ->
arg_mty:Types.module_type ->
param_mty:Types.module_type ->
t ->
unit)
refval check_well_formed_module :
(t -> Ocaml_parsing.Location.t -> string -> Types.module_type -> unit) refval strengthen :
(aliasable:bool ->
t ->
Subst.Lazy.modtype ->
Path.t ->
Subst.Lazy.modtype)
refFolds
Folding over all identifiers (for analysis purpose)
val fold_values :
(string -> Path.t -> Types.value_description -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_types :
(string -> Path.t -> Types.type_declaration -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_constructors :
(Types.constructor_description -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_labels :
(Types.label_description -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_modules :
(string -> Path.t -> Types.module_declaration -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aPersistent structures are only traversed if they are already loaded.
val fold_modtypes :
(string -> Path.t -> Types.modtype_declaration -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_classes :
(string -> Path.t -> Types.class_declaration -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aval fold_cltypes :
(string -> Path.t -> Types.class_type_declaration -> 'a -> 'a) ->
Ocaml_parsing.Longident.t option ->
t ->
'a ->
'aUtilities
merlin: manage internal state