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.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include InferStdlib.PrettyPrintable.PrintableType with type t := t
type 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