Module Omod_support.Cobj.Index

module Index: sig .. end
Compilation object indexes.


Indexes


type cobj = Omod_support.Cobj.t 
See Omod_support.Cobj.t.
type t 
The type for compilation object indexes.
val empty : t
The type for empty indexes.
val of_cobjs : ?init:t ->
cobj list -> t
of_cobjs ~init cobjs is an index made of init (defaults to Omod_support.Cobj.Index.empty) and cobjs.
val cobjs : t -> cobj list
to_cobjs i are the compilation objects of i.
val cobjs_by_name : t ->
cobj list Omod.Private.String.Map.t
cobjs_by_name i are the module names of i and the compilation objects they map to.
val cobjs_by_digest : t ->
cobj list Omod_support.Digest.Map.t
cobjs_by_digest i are the interface digests of i and the compilation objects they map to.
val cobjs_by_pkg_name : t ->
cobj list Omod.Private.String.Map.t
cobjs_by_pkg_name i are the package names of i and the compilation objects they map to.
val cobjs_for_mod_name : string -> t -> cobj list
cobjs_for_mod_name n i are the compilation objects of i whose module name matches n.
val cobjs_for_iface_digest : Omod_support.Digest.t ->
t -> cobj list
cobjs_for_iface_digest d i are the compilation objects of i whose interface digest matches d.
val cobjs_for_pkg_name : string -> t -> cobj list
cobjs_for_pkg_name n i are the compilation objects of i whose package name matches n.
val cobjs_for_dep : Omod_support.Cobj.dep ->
t -> cobj list
cobjs_for_iface_digest dep i are the compilation objects of i which satisfy dependency dep.
val cobjs_for_dep_res : variants:Omod.Private.String.Set.t ->
sat:(cobj -> bool) ->
kind:Omod_support.Cobj.kind ->
Omod_support.Cobj.dep ->
t -> cobj list
cobjs_for_dep_res ~variants ~sat ~kind dep i resolves dep in i to a sat satisfying compilation object of kind kind with the following twists: