<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>LithoDomain (infer.Checkers.LithoDomain)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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">Checkers</a> &#x00BB; LithoDomain</nav><h1>Module <code>Checkers.LithoDomain</code></h1></header><dl><dt class="spec value" id="val-is_component_or_section_builder"><a href="#val-is_component_or_section_builder" class="anchor"></a><code><span class="keyword">val</span> is_component_or_section_builder : <a href="../../IR/Typ/Name/index.html#type-t">IR.Typ.Name.t</a> <span>&#45;&gt;</span> <a href="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a> <span>&#45;&gt;</span> bool</code></dt></dl><dl><dt class="spec module" id="module-LocalAccessPath"><a href="#module-LocalAccessPath" class="anchor"></a><code><span class="keyword">module</span> <a href="LocalAccessPath/index.html">LocalAccessPath</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Access path + its parent procedure</p></dd></dl><dl><dt class="spec value" id="val-suffixes"><a href="#val-suffixes" class="anchor"></a><code><span class="keyword">val</span> suffixes : <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.String.Set.t</code></dt></dl><dl><dt class="spec module" id="module-MethodCallPrefix"><a href="#module-MethodCallPrefix" class="anchor"></a><code><span class="keyword">module</span> <a href="MethodCallPrefix/index.html">MethodCallPrefix</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Called procedure &amp; location</p></dd></dl><div class="spec module" id="module-Mem"><a href="#module-Mem" class="anchor"></a><code><span class="keyword">module</span> <a href="Mem/index.html">Mem</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../Absint/AbstractDomain/index.html#module-type-S">Absint.AbstractDomain.S</a></code></span></summary><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../Absint/AbstractDomain/index.html#module-type-NoJoin">Absint.AbstractDomain.NoJoin</a></code></span></summary><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../../IStdlib/PrettyPrintable/index.html#module-type-PrintableType">IStdlib.PrettyPrintable.PrintableType</a></code></span></summary><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <a href="../../IStdlib/PrettyPrintable/index.html#module-F">IStdlib.PrettyPrintable.F</a>.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt></dl></details></div></div></div><dl><dt class="spec value" id="val-leq"><a href="#val-leq" class="anchor"></a><code><span class="keyword">val</span> leq : <span>lhs:<a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span>rhs:<a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> bool</code></dt><dd><p>the implication relation: <code>lhs &lt;= rhs</code> means <code>lhs |- rhs</code></p></dd></dl></details></div></div></div><dl><dt class="spec value" id="val-join"><a href="#val-join" class="anchor"></a><code><span class="keyword">val</span> join : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-widen"><a href="#val-widen" class="anchor"></a><code><span class="keyword">val</span> widen : <span>prev:<a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span>next:<a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span>num_iters:int</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt></dl></details></div></div></div><dl><dt class="spec value" id="val-subst"><a href="#val-subst" class="anchor"></a><code><span class="keyword">val</span> subst : <span>callsite:<a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a></span> <span>&#45;&gt;</span> <span>formals:<span><span>(<a href="../../IR/Pvar/index.html#type-t">IR.Pvar.t</a> * <a href="../../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span></span> <span>&#45;&gt;</span> <span>actuals:<span><a href="../../Absint/HilExp/index.html#type-t">Absint.HilExp.t</a> list</span></span> <span>&#45;&gt;</span> <span>ret_id_typ:<a href="../../Absint/AccessPath/index.html#type-base">Absint.AccessPath.base</a></span> <span>&#45;&gt;</span> <span>caller_pname:<a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a></span> <span>&#45;&gt;</span> <span>callee_pname:<a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a></span> <span>&#45;&gt;</span> <span>caller:<a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span>callee:<a href="Mem/index.html#type-t">Mem.t</a></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt></dl><dl><dt class="spec type" id="type-summary"><a href="#type-summary" class="anchor"></a><code><span class="keyword">type</span> summary</code><code> = <a href="Mem/index.html#type-t">Mem.t</a></code></dt><dd><p>type for saving in summary payload</p></dd></dl><dl><dt class="spec value" id="val-init"><a href="#val-init" class="anchor"></a><code><span class="keyword">val</span> init : <a href="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a> <span>&#45;&gt;</span> <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span><span>(<a href="../../IR/Pvar/index.html#type-t">IR.Pvar.t</a> * <a href="../../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span> <span>&#45;&gt;</span> <a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-assign"><a href="#val-assign" class="anchor"></a><code><span class="keyword">val</span> assign : <span>lhs:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <span>rhs:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-assume_null"><a href="#val-assume_null" class="anchor"></a><code><span class="keyword">val</span> assume_null : <a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Semantics of null assume statement, i.e., <code>assume(x==null)</code></p></dd></dl><dl><dt class="spec value" id="val-call_create"><a href="#val-call_create" class="anchor"></a><code><span class="keyword">val</span> call_create : <a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a> <span>&#45;&gt;</span> <a href="../../IR/Typ/index.html#type-name">IR.Typ.name</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Semantics of builder creation method</p></dd></dl><dl><dt class="spec value" id="val-call_builder"><a href="#val-call_builder" class="anchor"></a><code><span class="keyword">val</span> call_builder : <span>ret:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <span>receiver:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <a href="MethodCallPrefix/index.html#type-t">MethodCallPrefix.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Semantics of builder's methods, e.g. <code>prop</code></p></dd></dl><dl><dt class="spec value" id="val-call_build_method"><a href="#val-call_build_method" class="anchor"></a><code><span class="keyword">val</span> call_build_method : <span>ret:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <span>receiver:<a href="LocalAccessPath/index.html#type-t">LocalAccessPath.t</a></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Semantics of builder's final build method</p></dd></dl><dl><dt class="spec value" id="val-call_return"><a href="#val-call_return" class="anchor"></a><code><span class="keyword">val</span> call_return : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Semantics of return method</p></dd></dl><dl><dt class="spec value" id="val-pp_summary"><a href="#val-pp_summary" class="anchor"></a><code><span class="keyword">val</span> pp_summary : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-summary">summary</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-get_summary"><a href="#val-get_summary" class="anchor"></a><code><span class="keyword">val</span> get_summary : <span>is_void_func:bool</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-summary">summary</a></code></dt><dt class="spec value" id="val-check_required_props"><a href="#val-check_required_props" class="anchor"></a><code><span class="keyword">val</span> check_required_props : <span>check_on_string_set:<span>(<a href="../../IR/Typ/index.html#type-name">IR.Typ.name</a> <span>&#45;&gt;</span> <a href="../../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <span><a href="MethodCallPrefix/index.html#type-t">MethodCallPrefix.t</a> list</span> <span>&#45;&gt;</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.String.Set.t <span>&#45;&gt;</span> unit)</span></span> <span>&#45;&gt;</span> <a href="index.html#type-summary">summary</a> <span>&#45;&gt;</span> <a href="index.html#type-summary">summary</a></code></dt></dl></div></body></html>