Up

module DocOck

: sig
#
module Paths = DocOckPaths
#
module Types = DocOckTypes
#
val core_types : 'a Types.TypeDecl.t list
#
val core_exceptions : 'a Types.Exception.t list
#
type 'a result =
# | Ok of 'a Types.Unit.t
# | Not_an_interface
# | Wrong_version_interface
# | Corrupted_interface
# | Not_a_typedtree
#
val read_cmti : (string -> Digest.t -> 'a) -> string -> 'a result
#
val read_cmi : (string -> Digest.t -> 'a) -> string -> 'a result
#
type 'a resolver
#
val build_resolver : ?equal:('a -> 'a -> bool) -> ?hash:('a -> int) -> ('a Types.Unit.t -> string -> 'a option) -> ('a -> 'a Types.Unit.t) -> 'a resolver

Build a resolver. Optionally provide equality and hash on 'a.

#
val resolve : 'a resolver -> 'a Types.Unit.t -> 'a Types.Unit.t
#
type 'a expander
#
val build_expander : ('a -> 'a Types.Unit.t) -> 'a expander

Build an expander. Assumes that it is safe to use Hashtbl.hash and structural equality (=) on 'a.

#
type 'a expansion =
# | Signature of 'a Types.Signature.t
# | Functor of ('a Paths.Identifier.module_ * 'a Types.ModuleType.expr) option list * 'a Types.Signature.t
#
val expand_module : 'a expander -> 'a Types.Module.decl -> 'a expansion option
#
val expand_module_type : 'a expander -> 'a Types.ModuleType.expr -> 'a expansion option
end