Module DocOck

module Attrs = DocOckAttrs
module Maps = DocOckMaps
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