Module Biabduction.Attribute
- val is_pred : Predicates.atom -> bool
- Check whether an atom is used to mark an attribute 
- val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Prop.normal Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Prop.normal Prop.t
- Add an attribute associated to the argument expressions 
- val add_or_replace : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.t
- Replace an attribute associated to the expression 
- val add_or_replace_check_changed : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.t
- Replace an attribute associated to the expression, and call the given function with new and old attributes if they changed. 
- val get_all : 'a Prop.t -> Predicates.atom list
- Get all the attributes of the prop 
- val get_for_exp : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom list
- Get the attributes associated to the expression, if any 
- val get_objc_null : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom option
- Get the objc null attribute associated to the expression, if any 
- val get_observer : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom option
- Get the observer attribute associated to the expression, if any 
- val get_resource : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom option
- Get the resource attribute associated to the expression, if any 
- val get_undef : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom option
- Get the undef attribute associated to the expression, if any 
- val get_wontleak : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> Predicates.atom option
- Get the wontleak attribute associated to the expression, if any 
- val has_dangling_uninit : IR.Tenv.t -> 'a Prop.t -> IR.Exp.t -> bool
- Test for existence of an Adangling DAuninit attribute associated to the exp 
- val remove : IR.Tenv.t -> Prop.normal Prop.t -> Predicates.atom -> Prop.normal Prop.t
- Remove an attribute 
- val remove_for_attr : IR.Tenv.t -> Prop.normal Prop.t -> IR.PredSymb.t -> Prop.normal Prop.t
- Remove all attributes for the given attr 
- val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Prop.normal Prop.t -> Prop.normal Prop.t
- Remove all attributes for the given resource and kind 
- val map_resource : IR.Tenv.t -> Prop.normal Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Prop.normal Prop.t
- Apply f to every resource attribute in the prop 
- val replace_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> IR.Exp.t -> Prop.normal Prop.t
- replace_objc_null lhs rhs. If rhs has the objc_null attribute, replace the attribute and set the lhs = 0
- val nullify_exp_with_objc_null : IR.Tenv.t -> Prop.normal Prop.t -> IR.Exp.t -> Prop.normal Prop.t
- For each Var subexp of the argument with an Aobjc_null attribute, remove the attribute and conjoin an equality to zero. 
- val mark_vars_as_undefined : IR.Tenv.t -> Prop.normal Prop.t -> ret_exp:IR.Exp.t -> undefined_actuals_by_ref:IR.Exp.t list -> IR.Procname.t -> IR.Annot.Item.t -> IBase.Location.t -> IR.PredSymb.path_pos -> Prop.normal Prop.t
- mark Exp.Var's or Exp.Lvar's as undefined 
- type arith_problem- =- |- Div0 of IR.Exp.t- |- UminusUnsigned of IR.Exp.t * IR.Typ.t
- type for arithmetic problems 
- val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Prop.normal Prop.t -> IR.Exp.t -> arith_problem option * Prop.normal Prop.t
- Look for an arithmetic problem in - exp
- val deallocate_stack_vars : IR.Tenv.t -> Prop.normal Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Prop.normal Prop.t
- Deallocate the stack variables in - pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.