Module QuandarySummary.Java
module TraceDomain : sig ... end
module AccessMap : sig ... end
module BaseMap = Absint.AccessPath.BaseMap
type node
= TraceDomain.t * tree
and tree
= Absint__AccessTree.Make(Quandary.JavaTrace)(Absint.AccessTree.DefaultConfig).tree
=
|
Subtree of node AccessMap.t
|
Star
type t
= node BaseMap.t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool
val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
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 -> Absint.AccessPath.access -> TraceDomain.t -> node
val make_normal_leaf : TraceDomain.t -> node
val make_starred_leaf : TraceDomain.t -> node
val get_node : Absint.AccessPath.Abs.t -> t -> node option
val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
val node_join : node -> node -> node
val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
val trace_fold : ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> t -> 'a -> 'a
val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
val depth : t -> int
val pp_node : Stdlib.Format.formatter -> node -> unit