Cobj.Index
Compilation object indexes.
val empty : t
The type for empty indexes.
of_cobjs ~init cobjs
is an index made of init
(defaults to empty
) and cobjs
.
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 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.
cobjs_for_mod_name n i
are the compilation objects of i
whose module name matches n
.
cobjs_for_iface_digest d i
are the compilation objects of i
whose interface digest matches d
.
cobjs_for_pkg_name n i
are the compilation objects of i
whose package name matches n
.
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:kind -> 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:
kind
can be found but a Cmi
exists the latter is returned, assuming an mli-only module.variants
is not String
.Set.empty then variants that do not belong to variants
are dropped.