You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
4.5 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>MethodMatcher (infer.InferModules.MethodMatcher)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">InferModules</a> &#x00BB; MethodMatcher</nav><h1>Module <code>InferModules.MethodMatcher</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../../../InferIR/InferIR/HilExp/index.html#type-t">InferIR.HilExp.t</a> list</span> <span>&#45;&gt;</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><dt class="spec type" id="type-record"><a href="#type-record" class="anchor"></a><code><span class="keyword">type</span> record</code><code> = </code><code>{</code><table class="record"><tr id="type-record.search_superclasses" class="anchored"><td class="def field"><a href="#type-record.search_superclasses" class="anchor"></a><code>search_superclasses : bool;</code></td></tr><tr id="type-record.method_prefix" class="anchored"><td class="def field"><a href="#type-record.method_prefix" class="anchor"></a><code>method_prefix : bool;</code></td></tr><tr id="type-record.actuals_pred" class="anchored"><td class="def field"><a href="#type-record.actuals_pred" class="anchor"></a><code>actuals_pred : <span><a href="../../../InferIR/InferIR/HilExp/index.html#type-t">InferIR.HilExp.t</a> list</span> <span>&#45;&gt;</span> bool;</code></td></tr><tr id="type-record.classname" class="anchored"><td class="def field"><a href="#type-record.classname" class="anchor"></a><code>classname : string;</code></td></tr><tr id="type-record.methods" class="anchored"><td class="def field"><a href="#type-record.methods" class="anchor"></a><code>methods : <span>string list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-default"><a href="#val-default" class="anchor"></a><code><span class="keyword">val</span> default : <a href="index.html#type-record">record</a></code></dt><dd><p>record encapsulating the default arguments of <code>call_matches</code>. <code>classname=&quot;&quot;</code> and <code>methods=[]</code>. Useful for <code>with</code> expressions</p></dd></dl><dl><dt class="spec value" id="val-of_record"><a href="#val-of_record" class="anchor"></a><code><span class="keyword">val</span> of_record : <a href="index.html#type-record">record</a> <span>&#45;&gt;</span> <a href="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><dt class="spec value" id="val-of_json"><a href="#val-of_json" class="anchor"></a><code><span class="keyword">val</span> of_json : Yojson.Basic.t <span>&#45;&gt;</span> <a href="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>&quot;classname&quot;</code> field with a <code>string</code> value, and a <code>&quot;methods&quot;</code> field with a list of strings. The record may also have boolean fields <code>&quot;search_superclasses&quot;</code> and <code>&quot;method_prefix&quot;</code>. If absent, the defaults are used. The resulting matcher matches if one of the matchers in the list does.</p></dd></dl><dl><dt class="spec value" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span class="keyword">va