Module PulseAbductiveDomain.AddressAttributes
attribute operations like BaseAddressAttributes but that also take care of propagating facts to the precondition
val abduce_and_add : PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> t -> tadd the attributes to both the current state and, if meaningful, the pre
val add_one : PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attribute.t -> t -> tadd the attribute only to the post
val add_attrs : PulseBasicInterface.AbstractValue.t -> PulseBasicInterface.Attributes.t -> t -> tval check_valid : PulseBasicInterface.Trace.t -> PulseBasicInterface.AbstractValue.t -> t -> (t, PulseBasicInterface.Invalidation.t * PulseBasicInterface.Trace.t) IStdlib.IStd.resultval check_initialized : PulseBasicInterface.Trace.t -> PulseBasicInterface.AbstractValue.t -> t -> (t, unit) IStdlib.IStd.resultval invalidate : (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.ValueHistory.t) -> PulseBasicInterface.Invalidation.t -> IBase.Location.t -> t -> tval replace_must_be_valid_reason : PulseBasicInterface.Invalidation.must_be_valid_reason -> PulseBasicInterface.AbstractValue.t -> t -> tval allocate : IR.Procname.t -> (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.ValueHistory.t) -> IBase.Location.t -> t -> tval add_dynamic_type : IR.Typ.t -> PulseBasicInterface.AbstractValue.t -> t -> tval remove_allocation_attr : PulseBasicInterface.AbstractValue.t -> t -> tval get_closure_proc_name : PulseBasicInterface.AbstractValue.t -> t -> IR.Procname.t optionval is_end_of_collection : PulseBasicInterface.AbstractValue.t -> t -> boolval mark_as_end_of_collection : PulseBasicInterface.AbstractValue.t -> t -> tval is_std_vector_reserved : PulseBasicInterface.AbstractValue.t -> t -> boolval std_vector_reserve : PulseBasicInterface.AbstractValue.t -> t -> tval find_opt : PulseBasicInterface.AbstractValue.t -> t -> PulseBasicInterface.Attributes.t optionval check_valid_isl : PulseBasicInterface.Trace.t -> PulseBasicInterface.AbstractValue.t -> ?null_noop:bool -> t -> (t, [> `ISLError of t | `InvalidAccess of PulseBasicInterface.Invalidation.t * PulseBasicInterface.Trace.t * t ]) IStdlib.IStd.result list