Module CanonValue.Attributes

include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
val pp : Pulselib.PulseBaseAddressAttributes.F.formatter -> t -> unit
val empty : t
val filter : (t -> Pulselib.PulseBasicInterface.Attributes.t -> bool) -> t -> t
val filter_with_discarded_addrs : (t -> bool) -> t -> t * Pulselib.PulseBasicInterface.AbstractValue.t list
val find_opt : t -> t -> Pulselib.PulseBasicInterface.Attributes.t option
val always_reachable : t -> t -> t
val java_resource_release : t -> t -> t
val await_awaitable : t -> t -> t
val remove_hack_builder : t -> t -> t
val set_hack_builder : t -> Pulselib.PulseBasicInterface.Attribute.Builder.t -> t -> t
val get_hack_builder : t -> t -> Pulselib.PulseBasicInterface.Attribute.Builder.t option
val csharp_resource_release : t -> t -> t
val in_reported_retain_cycle : t -> t -> t
val fold : (t -> Pulselib.PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> 'a
val get_closure_proc_name : t -> t -> IR.Procname.t option
val get_copied_into : t -> t -> Pulselib.PulseBasicInterface.Attribute.CopiedInto.t option
val remove_copied_return : t -> t -> t
val get_source_origin_of_copy : t -> t -> Pulselib.PulseBasicInterface.AbstractValue.t option
val is_copied_from_const_ref : t -> t -> bool
val get_returned_from_unknown : t -> t -> Pulselib.PulseBasicInterface.AbstractValue.t list option
val add_dict_contain_const_keys : t -> t -> t
val remove_dict_contain_const_keys : t -> t -> t
val is_dict_contain_const_keys : t -> t -> bool
val get_dict_read_const_keys : t -> t -> Pulselib.PulseBasicInterface.Attribute.ConstKeys.t option
val add_static_type : IR.Typ.Name.t -> t -> t -> t
val get_static_type : t -> t -> IR.Typ.Name.t option
val std_vector_reserve : t -> t -> t
val is_java_resource_released : t -> t -> bool
val is_csharp_resource_released : t -> t -> bool
val is_in_reported_retain_cycle : t -> t -> bool
val is_std_moved : t -> t -> bool
val is_std_vector_reserved : t -> t -> bool
val get_last_lookup : t -> t -> Pulselib.PulseBasicInterface.AbstractValue.t option
val mark_as_end_of_collection : t -> t -> t
val is_end_of_collection : t -> t -> bool
val add_unreachable_at : t -> IBase.Location.t -> t -> t
val add_copied_return : t -> source:t -> is_const_ref:bool -> Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t -> IBase.Location.t -> t -> t
val get_config_usage : t -> t -> Pulselib.PulseBasicInterface.Attribute.ConfigUsage.t option
val get_used_as_branch_cond : t -> t -> (IR.Procname.t * IBase.Location.t * Pulselib.PulseBasicInterface.Trace.t) option
val remove_allocation_attr : t -> t -> t
val remove_taint_attrs : t -> t -> t
val remove_all_must_not_be_tainted : ?kinds:Pulselib.PulseBasicInterface.TaintConfig.Kind.Set.t -> t -> t
val finalize_all_hack_builders : t -> t
val remove_must_be_valid_attr : t -> t -> t
val initialize : t -> t -> t
val get_address_of_stack_variable : t -> t -> (IR.Var.t * IBase.Location.t * Pulselib.PulseBasicInterface.ValueHistory.t) option
val has_unknown_effect : t -> t -> bool
val is_hack_constinit_called : t -> t -> bool