This modules defines the smallest signatures for a solver state that allow to instantiate the Headers.Pipe functor.

common interface

include Common
type t

The type of state

exception Error of t

Convenient exception.

val warn : ?loc:Dolmen.Std.Loc.full -> t -> 'a Report.Warning.t -> 'a -> t

Emit a warning

val error : ?loc:Dolmen.Std.Loc.full -> t -> 'a Report.Error.t -> 'a -> t

Emit an error.

type header_state

The type of state used for the header check

val input_file_loc : t -> Dolmen.Std.Loc.file

CUrrent input file location meta-data.

val input_lang : t -> Logic.language option

Return the input language (if any).

val header_state : t -> header_state

Get the header-check state.

val set_header_state : t -> header_state -> t

Set the header-check state.

val check_headers : t -> bool

Whether to check the headers.

val allowed_licenses : t -> string list

Licenses allowed. An empty list means all licenses are allowed.

val allowed_lang_version : t -> string option

Language version number allowed. None means allowing everything.