Module RacerDDomain.AccessSnapshot
snapshot of the relevant state at the time of a heap access: concurrent thread(s), lock(s) held, ownership precondition
module OwnershipPrecondition : sig ... end
precondition for owned access; access is owned if it evaluates to true
type t
= private
{
access : TraceElem.t;
thread : ThreadsDomain.t;
lock : bool;
ownership_precondition : OwnershipPrecondition.t;
}
include InferStdlib.PrettyPrintable.PrintableOrderedType with type PrintableOrderedType.t := t
include InferStdlib.PrettyPrintable.PrintableType with type t := t
val pp : InferStdlib.PrettyPrintable.F.formatter -> t -> unit
val make : TraceElem.t -> LocksDomain.t -> ThreadsDomain.t -> OwnershipPrecondition.t -> InferIR.Procdesc.t -> t option
val make_from_snapshot : TraceElem.t -> t -> t option
val is_unprotected : t -> bool
return true if not protected by lock, thread, or ownership