Module Biabduction__Attribute
val is_pred : Biabduction.Predicates.atom -> boolCheck whether an atom is used to mark an attribute
val add : IR.Tenv.t -> ?footprint:bool -> ?polarity:bool -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> IR.Exp.t list -> Biabduction.Prop.normal Biabduction.Prop.tAdd an attribute associated to the argument expressions
val add_or_replace : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression
val add_or_replace_check_changed : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tReplace an attribute associated to the expression, and call the given function with new and old attributes if they changed.
val get_all : 'a Biabduction.Prop.t -> Biabduction.Predicates.atom listGet all the attributes of the prop
val get_for_exp : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom listGet the attributes associated to the expression, if any
val get_objc_null : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the objc null attribute associated to the expression, if any
val get_observer : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the observer attribute associated to the expression, if any
val get_resource : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the resource attribute associated to the expression, if any
val get_undef : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the undef attribute associated to the expression, if any
val get_wontleak : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Predicates.atom optionGet the wontleak attribute associated to the expression, if any
val has_dangling_uninit : IR.Tenv.t -> 'a Biabduction.Prop.t -> IR.Exp.t -> boolTest for existence of an Adangling DAuninit attribute associated to the exp
val remove : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Predicates.atom -> Biabduction.Prop.normal Biabduction.Prop.tRemove an attribute
val remove_for_attr : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.PredSymb.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given attr
val remove_resource : IR.Tenv.t -> IR.PredSymb.res_act_kind -> IR.PredSymb.resource -> Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.Prop.tRemove all attributes for the given resource and kind
val map_resource : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> (IR.Exp.t -> IR.PredSymb.res_action -> IR.PredSymb.res_action) -> Biabduction.Prop.normal Biabduction.Prop.tApply f to every resource attribute in the prop
val replace_objc_null : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.treplace_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 -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> Biabduction.Prop.normal Biabduction.Prop.tFor 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 -> Biabduction.Prop.normal Biabduction.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 -> Biabduction.Prop.normal Biabduction.Prop.tmark Exp.Var's or Exp.Lvar's as undefined
type arith_problem=|Div0 of IR.Exp.t|UminusUnsigned of IR.Exp.t * IR.Typ.ttype for arithmetic problems
val find_arithmetic_problem : IR.Tenv.t -> IR.PredSymb.path_pos -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Exp.t -> arith_problem option * Biabduction.Prop.normal Biabduction.Prop.tLook for an arithmetic problem in
exp
val deallocate_stack_vars : IR.Tenv.t -> Biabduction.Prop.normal Biabduction.Prop.t -> IR.Pvar.t list -> IR.Pvar.t list * Biabduction.Prop.normal Biabduction.Prop.tDeallocate the stack variables in
pvars, and replace them by normal variables. Return the list of stack variables whose address was still present after deallocation.
val find_equal_formal_path : IR.Tenv.t -> IR.Exp.t -> 'a Biabduction.Prop.t -> IR.Exp.t option