Module Pulselib.PulseBaseAddressAttributes
val empty : tval filter : (PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> bool) -> t -> tval for_all : (PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> bool) -> t -> boolval filter_with_discarded_addrs : (PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> bool) -> t -> t * PulseBasicInterface.AbstractValue.t listval find_opt : PulseBasicInterface.AbstractValue.t -> t -> PulseBasicInterface.Attributes.t optionval add_one : PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attribute.t -> t -> tval add : PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> t -> tval allocate : IR.Procname.t -> (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.ValueHistory.t) -> IBase.Location.t -> t -> tval fold : (PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> 'aval check_valid : PulseBasicInterface.AbstractValue.t -> t -> (unit, PulseBasicInterface.Invalidation.t * PulseBasicInterface.Trace.t) IStdlib.IStd.resultval check_initialized : PulseBasicInterface.AbstractValue.t -> t -> (unit, unit) IStdlib.IStd.resultval invalidate : (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.ValueHistory.t) -> PulseBasicInterface.Invalidation.t -> IBase.Location.t -> t -> tval get_closure_proc_name : PulseBasicInterface.AbstractValue.t -> t -> IR.Procname.t optionval get_invalid : PulseBasicInterface.AbstractValue.t -> t -> (PulseBasicInterface.Invalidation.t * PulseBasicInterface.Trace.t) optionval get_must_be_valid : PulseBasicInterface.AbstractValue.t -> t -> (PulseBasicInterface.Trace.t * PulseBasicInterface.Invalidation.must_be_valid_reason option) optionval get_must_be_valid_or_allocated_isl : PulseBasicInterface.AbstractValue.t -> t -> PulseBasicInterface.Trace.t option * PulseBasicInterface.Invalidation.must_be_valid_reason optionval get_must_be_initialized : PulseBasicInterface.AbstractValue.t -> t -> PulseBasicInterface.Trace.t optionval add_dynamic_type : IR.Typ.t -> PulseBasicInterface.AbstractValue.t -> t -> tval get_dynamic_type : t -> PulseBasicInterface.AbstractValue.t -> IR.Typ.t optionval std_vector_reserve : PulseBasicInterface.AbstractValue.t -> t -> tval is_std_vector_reserved : PulseBasicInterface.AbstractValue.t -> t -> boolval mark_as_end_of_collection : PulseBasicInterface.AbstractValue.t -> t -> tval is_end_of_collection : PulseBasicInterface.AbstractValue.t -> t -> boolval pp : F.formatter -> t -> unitval remove_allocation_attr : PulseBasicInterface.AbstractValue.t -> t -> tval remove_must_be_valid_attr : PulseBasicInterface.AbstractValue.t -> t -> tval remove_isl_abduced_attr : PulseBasicInterface.AbstractValue.t -> t -> tval initialize : PulseBasicInterface.AbstractValue.t -> t -> tval canonicalize : get_var_repr:(PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.AbstractValue.t) -> t -> tmerge the attributes of all the variables that are equal according to
get_var_reprand remove non-canonical variables in favor of their rerpresentative
val subst_var : (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.AbstractValue.t) -> t -> t