LinkdepsThe state of the linking check. It keeps track of compilation units provided and required so far.
val create : complete:bool -> tcreate ~complete returns an empty state. If complete is true, missing compilation units will be treated as errors.
val add :
t ->
filename:filename ->
compunit:compunit ->
provides:compunit list ->
requires:compunit list ->
unitadd t ~filename ~compunit ~provides ~requires registers the compilation unit compunit found in filename to t.
provides are units and sub-units provided by compunitrequires are units required by compunitadd should be called in reverse topological order.
required t compunit returns true if compunit is a dependency of previously added compilation units.
type error = | Missing_implementations of (compunit * compunit_and_source list) list| Wrong_link_order of (compunit_and_source * compunit_and_source list) list| Multiple_definitions of (compunit * filename list) listcheck t should be called once all the compilation units to be linked have been added. It returns some error if:
complete is trueval report_error :
print_filename:string Format_doc.printer ->
error Format_doc.format_printerval report_error_doc :
print_filename:string Format_doc.printer ->
error Format_doc.printer