<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>MethodMatcher (infer.Absint.MethodMatcher)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">Absint</a>» MethodMatcher</nav><h1>Module <code>Absint.MethodMatcher</code></h1></header><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = <ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span><ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><span><ahref="../HilExp/index.html#type-t">HilExp.t</a> list</span><span>-></span> bool</code></dt><dd><p>pattern matcher for Java/C++ methods NB matching is modulo template arguments in C++ classes and functions</p></dd></dl><dl><dtclass="spec type"id="type-record"><ahref="#type-record"class="anchor"></a><code><spanclass="keyword">type</span> record</code><code> = </code><code>{</code><tableclass="record"><trid="type-record.search_superclasses"class="anchored"><tdclass="def field"><ahref="#type-record.search_superclasses"class="anchor"></a><code>search_superclasses : bool;</code></td></tr><trid="type-record.method_prefix"class="anchored"><tdclass="def field"><ahref="#type-record.method_prefix"class="anchor"></a><code>method_prefix : bool;</code></td></tr><trid="type-record.actuals_pred"class="anchored"><tdclass="def field"><ahref="#type-record.actuals_pred"class="anchor"></a><code>actuals_pred : <span><ahref="../HilExp/index.html#type-t">HilExp.t</a> list</span><span>-></span> bool;</code></td></tr><trid="type-record.classname"class="anchored"><tdclass="def field"><ahref="#type-record.classname"class="anchor"></a><code>classname : string;</code></td></tr><trid="type-record.methods"class="anchored"><tdclass="def field"><ahref="#type-record.methods"class="anchor"></a><code>methods : <span>string list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dtclass="spec value"id="val-default"><ahref="#val-default"class="anchor"></a><code><spanclass="keyword">val</span> default : <ahref="index.html#type-record">record</a></code></dt><dd><p>record encapsulating the default arguments of <code>call_matches</code>. <code>classname=""</code> and <code>methods=[]</code>. Useful for <code>with</code> expressions</p></dd></dl><dl><dtclass="spec value"id="val-of_record"><ahref="#val-of_record"class="anchor"></a><code><spanclass="keyword">val</span> of_record : <ahref="index.html#type-record">record</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>make a matcher out of a record; optional values use defaults</p></dd></dl><dl><dtclass="spec value"id="val-of_json"><ahref="#val-of_json"class="anchor"></a><code><spanclass="keyword">val</span> of_json : Yojson.Basic.t <span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>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 <code>"classname"</code> field with a <code>string</code> value, and a <code>"methods"</code> field with a list of strings. The record may also have boolean fields <code>"search_superclasses"</code> and <code>"method_prefix"</code>. If absent, the defaults are used. The resulting matcher matches if one of the matchers in the list does.</p></dd></dl><dl><dtclass="spec value"id="val-of_list"><ahref="#val-of_list"class="anchor"></a><code><spanclass="keyword">val</span> of_list : <span><ahref="index.html#type-t">t</a> list</span><span>-></span><ahref="index.html#type-t">t</a></code>