Module BufferOverrunTrace.Issue
type t
=
|
Elem of
{
location : InferBase.Location.t;
length : int;
kind : elem;
from : Set.t;
}
|
Binary of
{
location : InferBase.Location.t;
length : int;
kind : binary;
left : Set.t;
right : Set.t;
}
|
Call of
{
location : InferBase.Location.t;
length : int;
caller : Set.t;
callee : t;
}
val compare : t -> t -> int
val length : t -> int
val compare : t -> t -> Core_kernel__.Import.int
val alloc : InferBase.Location.t -> Set.t -> t
val binary : InferBase.Location.t -> binary -> Set.t -> Set.t -> t
val call : InferBase.Location.t -> Set.t -> t -> t
val has_common : f:(Set.t -> bool) -> t -> bool
val has_unknown : t -> bool
val has_risky : t -> bool
val exists_str : f:(string -> bool) -> t -> bool
val binary_labels : binary -> string * string
val pp_elem : F.formatter -> elem -> unit
val pp_binary : F.formatter -> binary -> unit
val pp_location : Stdlib.Format.formatter -> InferBase.Location.t -> unit
val pp : F.formatter -> t -> unit
val elem_err_desc : description:string -> elem -> string
val binary_err_desc : description:string -> binary -> string
val format_label : string -> string
val make_err_trace : description:string -> t -> (string * InferIR.Errlog.loc_trace_elem list) list