Module InferModules__BufferOverrunTrace
module BoTrace : sig ... end
module Set : sig ... end
module Issue : sig ... end
include BoTrace
type final
=
|
UnknownFrom of InferIR.Typ.Procname.t option
type elem
=
|
ArrayDeclaration
|
Assign of InferModules.AbsLoc.PowLoc.t
|
Global of InferModules.AbsLoc.Loc.t
|
Parameter of InferModules.AbsLoc.Loc.t
|
Through of
{
risky_fun : lib_fun option;
}
type t
=
|
Empty
|
Final of
{
location : InferBase.Location.t;
kind : final;
}
|
Elem of
{
location : InferBase.Location.t;
length : int;
kind : elem;
from : t;
}
|
Call of
{
location : InferBase.Location.t;
length : int;
caller : t;
callee : t;
}
val compare : t -> t -> int
val snprintf : lib_fun
val strndup : lib_fun
val vsnprintf : lib_fun
val length : t -> int
val compare : t -> t -> Core_kernel__.Import.int
val final : InferBase.Location.t -> final -> t
val add_elem : InferBase.Location.t -> elem -> t -> t
val singleton : InferBase.Location.t -> elem -> t
val through : risky_fun:lib_fun option -> elem
val call : InferBase.Location.t -> caller:t -> callee:t -> t
val pp_pname_opt : F.formatter -> InferIR.Typ.Procname.t option -> unit
val pp_location : Stdlib.Format.formatter -> InferBase.Location.t -> unit
val pp_lib_fun : F.formatter -> lib_fun -> unit
val pp_final : F.formatter -> final -> unit
val pp_elem : F.formatter -> elem -> unit
val pp : F.formatter -> t -> unit
val pp_arrow : F.formatter -> t -> unit
val final_exists : f:(final -> bool) -> t -> bool
val has_unknown : t -> bool
val elem_has_risky : elem -> bool
val has_risky : t -> bool
val exists_str : f:(string -> bool) -> t -> bool
val final_err_desc : final -> string
val elem_err_desc : elem -> string
val make_err_trace : int -> t -> InferIR.Errlog.loc_trace_elem list -> InferIR.Errlog.loc_trace_elem list