<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>RacerDModels (infer.Concurrency.RacerDModels)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.0"/><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">Concurrency</a>» RacerDModels</nav><h1>Module <code>Concurrency.RacerDModels</code></h1></header><dl><dtclass="spec value"id="val-is_container_read"><ahref="#val-is_container_read"class="anchor"></a><code><spanclass="keyword">val</span> is_container_read : <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> bool</code></dt><dtclass="spec value"id="val-is_container_write"><ahref="#val-is_container_write"class="anchor"></a><code><spanclass="keyword">val</span> is_container_write : <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> bool</code></dt><dd><p>return Some (access) if this procedure accesses the contents of a container (e.g., Map.get)</p></dd></dl><dl><dtclass="spec value"id="val-has_return_annot"><ahref="#val-has_return_annot"class="anchor"></a><code><spanclass="keyword">val</span> has_return_annot : <span>(<ahref="../../IR/Annot/Item/index.html#type-t">IR.Annot.Item.t</a><span>-></span> bool)</span><span>-></span><ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_functional"><ahref="#val-is_functional"class="anchor"></a><code><spanclass="keyword">val</span> is_functional : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-acquires_ownership"><ahref="#val-acquires_ownership"class="anchor"></a><code><spanclass="keyword">val</span> acquires_ownership : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_box"><ahref="#val-is_box"class="anchor"></a><code><spanclass="keyword">val</span> is_box : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span> bool</code></dt><dd><p>return true if the given procname boxes a primitive type into a reference type</p></dd></dl><dl><dtclass="spec value"id="val-is_thread_confined_method"><ahref="#val-is_thread_confined_method"class="anchor"></a><code><spanclass="keyword">val</span> is_thread_confined_method : <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> bool</code></dt><dd><p>Methods in <code>@ThreadConfined</code> classes and methods annotated with <code>@ThreadConfined</code> are assumed to all run on the same thread. For the moment we won't warn on accesses resulting from use of such methods at all. In future we should account for races between these methods and methods from completely different classes that don't necessarily run on the same thread as the confined object.</p></dd></dl><dl><dtclass="spec value"id="val-should_analyze_proc"><ahref="#val-should_analyze_proc"class="anchor"></a><code><spanclass="keyword">val</span> should_analyze_proc : <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> bool</code></dt><dd><p>return true if we should compute a summary for the procedure. if this returns false, we won't analyze the procedure or report any warnings on it. note: in