aboutsummaryrefslogtreecommitdiff
path: root/lib/checks/check.mli
blob: ebed0df27e26ddf255c76eca86f168bce468abb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(** This module is a meta-checker. It will take many checkers and aggregate
    their result together before providing an unified result.

    The modules required to be declared before being used, using the [build]
    method, and provided as an array :

    {[
      let _, e1 = build (module …)
      let _, e2 = build (module …)

      module Check = Make (struct
        let t = [| e1; e2 |]
      end)
    ]} *)

val get_module : Qsp_syntax.Catalog.ex -> (module Qsp_syntax.S.Analyzer)

type result

val get : 'a Type.Id.t -> result -> 'a option
(** The method [get] can be used to get the internal value for one of the
    checker used. *)

module Make (A : sig
  val t : Qsp_syntax.Catalog.ex array
end) : sig
  include
    Qsp_syntax.S.Analyzer
      with type Location.t = result array
       and type context = result array
end
[@@warning "-67"]