Module Zero_alloc_utils.Make_component

Parameters

module Witnesses : WS

Signature

type t =
  1. | Top of Witnesses.t
  2. | Safe
  3. | Bot
include Component with type witnesses := Witnesses.t and type t := t
val top : Witnesses.t -> t

Property may not hold on some paths.

val safe : t

Property holds on all paths.

val bot : t

Not reachable.

val lessequal : t -> t -> bool

Order of the abstract domain

val join : t -> t -> t
val meet : t -> t -> t
val compare : t -> t -> int

Use compare for structural comparison of terms, for example to store them in a set. Use lessequal for checking fixed point of the abstract domain.

val print : witnesses:bool -> Format.formatter -> t -> unit