Module InferModules.MethodMatcher
type t
= InferIR.Tenv.t -> InferIR.Typ.Procname.t -> InferIR.HilExp.t list -> bool
pattern matcher for Java/C++ methods NB matching is modulo template arguments in C++ classes and functions
type record
=
{
search_superclasses : bool;
method_prefix : bool;
actuals_pred : InferIR.HilExp.t list -> bool;
classname : string;
methods : string list;
}
val default : record
record encapsulating the default arguments of
call_matches
.classname=""
andmethods=[]
. Useful forwith
expressions
val of_json : Yojson.Basic.t -> t
Parse a JSon object into a matcher. The Json object must be a list of records, each corresponding to a single matcher. Each record must have a
"classname"
field with astring
value, and a"methods"
field with a list of strings. The record may also have boolean fields"search_superclasses"
and"method_prefix"
. If absent, the defaults are used. The resulting matcher matches if one of the matchers in the list does.