Модуль Linkdeps
module Linkdeps: sig .. end
type t
Состояние проверки связывания. Оно отслеживает добавленные на данный момент предоставляемые и необходимые единицы компиляции.
type compunit = string
type filename = string
val create : complete:bool -> t
create ~complete возвращает пустое состояние. Если complete равно true, отсутствующие единицы компиляции будут считаться ошибками.
val add : t -> filename:filename -> compunit:compunit -> provides:compunit list -> requires:compunit list -> unit
add t ~filename ~compunit ~provides ~requires регистрирует единицу компиляции compunit, найденную в filename, в t.
-
provides— это единицы и подчинённые единицы, предоставляемыеcompunit -
requires— это единицы, необходимые дляcompunit
add следует вызывать в обратном топологическом порядке.
val required : t -> compunit -> bool
required t compunit возвращает true, если compunit является зависимостью ранее добавленных единиц компиляции.
type compunit_and_source = {
compunit :
| |
filename :
|
} type error =
|
| Missing_implementations of
|
|
| Wrong_link_order of
|
|
| Multiple_definitions of
|
val check : t -> error option
check t следует вызывать после добавления всех единиц компиляции, которые необходимо связать. Метод возвращает ошибку, если:
- Отсутствуют некоторые реализации, а
completeравноtrue - Некоторые реализации появляются раньше своих зависимостей
val report_error : print_filename:string Format_doc.printer -> error Format_doc.format_printer
val report_error_doc : print_filename:string Format_doc.printer -> error Format_doc.printer
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/compilerlibref/Linkdeps.html