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
.
cobjs_by_name i
are the module names of i
and the compilation objects they map to.
cobjs_by_digest i
are the interface digests of i
and the compilation objects they map to.
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.