package frama-c

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Contextual Errors

exception Error of string * string

Source, Reason

val error : ?source:string -> ('a, Stdlib.Format.formatter, unit, 'b) Stdlib.format4 -> 'a

Warning Manager

type t = {
  1. loc : Frama_c_kernel.Filepath.position;
  2. severe : bool;
  3. source : string;
  4. reason : string;
  5. effect : string;
}
val compare : t -> t -> int
val pretty : Stdlib.Format.formatter -> t -> unit
module Set : Stdlib.Set.S with type elt = t
module Map : Stdlib.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, Stdlib.Format.formatter, unit, t) Stdlib.format4 -> 'a
val emit : ?severe:bool -> ?source:string -> effect:string -> ('a, Stdlib.Format.formatter, unit) Stdlib.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 =
  1. | Result of Set.t * 'a
  2. | 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.

OCaml

Innovation. Community. Security.