Module DocOck

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
| Corrupted
| Not_a_typedtree
| Not_an_implementation
val read_cmti : (string -> Digest.t -> 'a) -> string -> 'a result
val read_cmt : (string -> Digest.t -> 'a) -> string -> 'a result
val read_cmi : (string -> Digest.t -> 'a) -> string -> 'a result
type 'a resolver
type 'a lookup_result =
| Forward_reference
| Found of {
root : 'a;
hidden : bool;
}
| Not_found
val build_resolver : ?equal:('a -> 'a -> bool) -> ?hash:('a -> int) -> ('a Types.Unit.t -> string -> 'a lookup_result) -> ('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 : ?equal:('a -> 'a -> bool) -> ?hash:('a -> int) -> (string -> 'a lookup_result) -> (root:'a -> 'a -> 'a Types.Unit.t) -> 'a expander

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

val expand : 'a expander -> 'a Types.Unit.t -> 'a Types.Unit.t