Module InferModules__RacerDDomain
module Access : sig ... endmodule TraceElem : sig ... endmodule LocksDomain : sig ... endOverapproximation of number of locks that are currently held
module ThreadsDomain : sig ... endAbstraction of threads that may run in parallel with the current thread. NoThread < AnyThreadExceptSelf < AnyThread
module AccessSnapshot : sig ... endsnapshot of the relevant state at the time of a heap access: concurrent thread(s), lock(s) held, ownership precondition
module AccessDomain : sig ... endmap of access metadata |-> set of accesses. the map should hold all accesses to a possibly-unowned access path
module OwnershipAbstractValue : sig ... endmodule OwnershipDomain : sig ... endmodule Choice : sig ... endattribute attached to a boolean variable specifying what it means when the boolean is true
module Attribute : sig ... endmodule AttributeSetDomain : sig ... endmodule AttributeMapDomain : sig ... endtype t={threads : ThreadsDomain.t;current thread: main, background, or unknown
locks : LocksDomain.t;boolean that is true if a lock must currently be held
accesses : AccessDomain.t;read and writes accesses performed without ownership permissions
ownership : OwnershipDomain.t;map of access paths to ownership predicates
attribute_map : AttributeMapDomain.t;map of access paths to attributes such as owned, functional, ...
}type summary={threads : ThreadsDomain.t;locks : LocksDomain.t;accesses : AccessDomain.t;return_ownership : OwnershipAbstractValue.t;return_attributes : AttributeSetDomain.t;}same as astate, but without
attribute_map(since these involve locals) and with the addition of the ownership/attributes associated with the return value as well as the set of formals which may escape
val empty_summary : summary
include InferModules.AbstractDomain.WithBottom with type t := t
include InferModules.AbstractDomain.S
include InferModules.AbstractDomain.NoJoin
include InferStdlib.PrettyPrintable.PrintableType
val pp : InferStdlib.PrettyPrintable.F.formatter -> t -> unit
val bottom : tThe bottom value of the domain.
val is_bottom : t -> boolReturn true if this is the bottom value
val pp_summary : F.formatter -> summary -> unitval add_unannotated_call_access : InferIR.Typ.Procname.t -> InferBase.Location.t -> InferIR.Procdesc.t -> t -> t