Module LibraryDesc.Accesses

Pointer arguments access specification.

type t = Cil.Cil.exp list -> (Access.t * Cil.Cil.exp list) list
val find : t -> ?kind:AccessKind.t -> ?deep:bool -> ?atomic:bool -> Cil.Cil.exp list -> Cil.Cil.exp list

Find all accesses which match the given parameters (kind, deep, atomic). If a parameter is not given, any value is considered matching. May return duplicates if one arg is accessed multiple times (e.g. arg is both read and written to, and no ~kind: filter was specified).

val iter : t -> (Access.t -> Cil.Cil.exp -> unit) -> Cil.Cil.exp list -> unit
val fold : t -> (Access.t -> Cil.Cil.exp -> 'a -> 'a) -> Cil.Cil.exp list -> 'a -> 'a