Sources.Footprint
Set of access paths representing the sources that may flow in from the caller
module TraceDomain : sig ... end
module AccessMap : sig ... end
module BaseMap = AccessPath.BaseMap
type node = TraceDomain.t * tree
val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val bottom : t
val is_bottom : t -> bool
val empty_node : node
val make_node : TraceDomain.t -> node AccessMap.t -> node
val make_access_node :
TraceDomain.t ->
AccessPath.access ->
TraceDomain.t ->
node
val make_normal_leaf : TraceDomain.t -> node
val make_starred_leaf : TraceDomain.t -> node
val get_node : AccessPath.Abs.t -> t -> node option
val get_trace : AccessPath.Abs.t -> t -> TraceDomain.t option
val add_node : AccessPath.Abs.t -> node -> t -> t
val add_trace : AccessPath.Abs.t -> TraceDomain.t -> t -> t
val fold : ('a -> AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
val trace_fold :
('a -> AccessPath.Abs.t -> TraceDomain.t -> 'a) ->
t ->
'a ->
'a
val exists : (AccessPath.Abs.t -> node -> bool) -> t -> bool
val iter : (AccessPath.Abs.t -> node -> unit) -> t -> unit
val depth : t -> int
val pp_node : Stdlib.Format.formatter -> node -> unit
val mem : AccessPath.Abs.t -> t -> bool