package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

Dune Dependency

Authors

Maintainers

Sources

merlin-5.4.1-503.tbz
sha256=49b3b4c778c12125fc7405e73790b0b312d5d79749dd73d4838b6562a2533022
sha512=6350ff076ac61727c48bc098a05520c5d343f3323b2f3b6d7d69fdd568e51abca6945cbcbc3a6ae97fd198bd7bbdcae823fbd0f3f14a37972fe713da2ed14f2d

doc/merlin-lib.ocaml_utils/Ocaml_utils/Linkdeps/index.html

Module Ocaml_utils.LinkdepsSource

Sourcetype t

The state of the linking check. It keeps track of compilation units provided and required so far.

Sourcetype compunit = string
Sourcetype filename = string
Sourceval create : complete:bool -> t

create ~complete returns an empty state. If complete is true, missing compilation units will be treated as errors.

Sourceval add : t -> filename:filename -> compunit:compunit -> provides:compunit list -> requires:compunit list -> unit

add t ~filename ~compunit ~provides ~requires registers the compilation unit compunit found in filename to t.

  • provides are units and sub-units provided by compunit
  • requires are units required by compunit

add should be called in reverse topological order.

Sourceval required : t -> compunit -> bool

required t compunit returns true if compunit is a dependency of previously added compilation units.

Sourcetype compunit_and_source = {
  1. compunit : compunit;
  2. filename : filename;
}
Sourcetype error =
  1. | Missing_implementations of (compunit * compunit_and_source list) list
  2. | Multiple_definitions of (compunit * filename list) list
Sourceval check : t -> error option

check t should be called once all the compilation units to be linked have been added. It returns some error if:

  • There are some missing implementations and complete is true
  • Some implementation appear before their dependencies
Sourceval report_error_doc : print_filename:string Merlin_utils.Format_doc.printer -> error Merlin_utils.Format_doc.printer
OCaml

Innovation. Community. Security.