Module Warning

module Warning: sig .. end
Contextual Errors

exception Error of string * string
Source, Reason
val error : ?source:string -> ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a

Warning Manager
type t = {
   loc : Filepath.position;
   severe : bool;
   source : string;
   reason : string;
   effect : string;
}
val compare : t -> t -> int
val pretty : Format.formatter -> t -> unit
module Set: Set.S  with type elt = t
module Map: Map.S  with type key = t
val severe : Set.t -> bool
type context 
val context : ?source:string -> unit -> context
val flush : context -> Set.t
val add : t -> unit
val create : ?log:bool ->
?severe:bool ->
?source:string ->
effect:string ->
('a, Format.formatter, unit, t) Pervasives.format4 -> 'a
val emit : ?severe:bool ->
?source:string ->
effect:string -> ('a, Format.formatter, unit) Pervasives.format -> 'a
Emit a warning in current context. Defaults: severe=true, source="wp".
val handle : ?severe:bool -> effect:string -> handler:('a -> 'b) -> ('a -> 'b) -> 'a -> 'b
Handle the error and emit a warning with specified severity and effect if a context has been set. Otherwise, a WP-fatal error is raised instead. Default for severe is false.
type 'a outcome = 
| Result of Set.t * 'a
| Failed of Set.t
val catch : ?source:string ->
?severe:bool -> effect:string -> ('a -> 'b) -> 'a -> 'b outcome
Set up a context for the job. If non-handled errors are raised, then a warning is emitted with specified severity and effect. Default for severe is true.