Module Biabduction.RetainCyclesType
type retain_cycle_node={rc_node_exp : IR.Exp.t;rc_node_typ : IR.Typ.t;}type retain_cycle_field={rc_field_name : IR.Fieldname.t;rc_field_inst : Predicates.inst;}type retain_cycle_edge_obj={rc_from : retain_cycle_node;rc_field : retain_cycle_field;}type retain_cycle_edge=|Object of retain_cycle_edge_obj|Block of IR.Procname.t * IR.Pvar.ttype t={rc_head : retain_cycle_edge;rc_elements : retain_cycle_edge list;}A retain cycle is a non-empty list of paths. It also contains a pointer to the head of the list to model the cycle structure. The next element from the end of the list is the head.
module Set : IStdlib.IStd.Caml.Set.S with type Set.elt = tSet for retain cycles.
val d_retain_cycle : t -> unitval create_cycle : retain_cycle_edge list -> t optionCreates a cycle if the list is non-empty