Make.Kind
include TaintTraceElem.Kind
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
Return true if the caller
element kind matches the callee
element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal
, but something fuzzier may be required if t
is a type that contains identifiers from the caller/callee
val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
val get :
caller_pname:IR.Procname.t ->
IR.Procname.t ->
HilExp.t list ->
IR.Tenv.t ->
(t * int option) list
return Some (kind) if the procedure with the given actuals is a taint source, None otherwise
val get_tainted_formals :
IR.Procdesc.t ->
IR.Tenv.t ->
(IR.Mangled.t * IR.Typ.t * t option) list
return each formal of the function paired with either Some(kind) if the formal is a taint source, or None if the formal is not a taint source