This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Checker (infer.IBase.Checker)</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">IBase</a>» Checker</nav><h1>Module <code>IBase.Checker</code></h1></header><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = </code><tableclass="variant"><trid="type-t.AnnotationReachability"class="anchored"><tdclass="def constructor"><ahref="#type-t.AnnotationReachability"class="anchor"></a><code>| </code><code><spanclass="constructor">AnnotationReachability</span></code></td></tr><trid="type-t.Biabduction"class="anchored"><tdclass="def constructor"><ahref="#type-t.Biabduction"class="anchor"></a><code>| </code><code><spanclass="constructor">Biabduction</span></code></td></tr><trid="type-t.BufferOverrun"class="anchored"><tdclass="def constructor"><ahref="#type-t.BufferOverrun"class="anchor"></a><code>| </code><code><spanclass="constructor">BufferOverrun</span></code></td></tr><trid="type-t.ClassLoads"class="anchored"><tdclass="def constructor"><ahref="#type-t.ClassLoads"class="anchor"></a><code>| </code><code><spanclass="constructor">ClassLoads</span></code></td></tr><trid="type-t.Cost"class="anchored"><tdclass="def constructor"><ahref="#type-t.Cost"class="anchor"></a><code>| </code><code><spanclass="constructor">Cost</span></code></td></tr><trid="type-t.Eradicate"class="anchored"><tdclass="def constructor"><ahref="#type-t.Eradicate"class="anchor"></a><code>| </code><code><spanclass="constructor">Eradicate</span></code></td></tr><trid="type-t.FragmentRetainsView"class="anchored"><tdclass="def constructor"><ahref="#type-t.FragmentRetainsView"class="anchor"></a><code>| </code><code><spanclass="constructor">FragmentRetainsView</span></code></td></tr><trid="type-t.ImmutableCast"class="anchored"><tdclass="def constructor"><ahref="#type-t.ImmutableCast"class="anchor"></a><code>| </code><code><spanclass="constructor">ImmutableCast</span></code></td></tr><trid="type-t.Impurity"class="anchored"><tdclass="def constructor"><ahref="#type-t.Impurity"class="anchor"></a><code>| </code><code><spanclass="constructor">Impurity</span></code></td></tr><trid="type-t.InefficientKeysetIterator"class="anchored"><tdclass="def constructor"><ahref="#type-t.InefficientKeysetIterator"class="anchor"></a><code>| </code><code><spanclass="constructor">InefficientKeysetIterator</span></code></td></tr><trid="type-t.Linters"class="anchored"><tdclass="def constructor"><ahref="#type-t.Linters"class="anchor"></a><code>| </code><code><spanclass="constructor">Linters</span></code></td></tr><trid="type-t.LithoRequiredProps"class="anchored"><tdclass="def constructor"><ahref="#type-t.LithoRequiredProps"class="anchor"></a><code>| </code><code><spanclass="constructor">LithoRequiredProps</span></code></td></tr><trid="type-t.Liveness"class="anchored"><tdclass="def constructor"><ahref="#type-t.Liveness"class="anchor"></a><code>| </code><code><spanclass="constructor">Liveness</span></code></td></tr><trid="type-t.LoopHoisting"class="anchored"><tdclass="def constructor"><ahref="#type-t.LoopHoisting"class="anchor"></a><code>| </code><code><spanclass="constructor">LoopHoisting</span></code></td></tr><trid="type-t.NullsafeDeprecated"class="anchored"><tdclass="def constructor"><ahref="#type-t.NullsafeDeprecated"class="anchor"></a><code>| </code><code><spanclass="constructor">NullsafeDeprecated</span></code></td></tr><trid="type-t.PrintfArgs"class="anchored"><tdclass="def constructor"><ahref="#type-t.PrintfArgs"class="anchor"></a><code>| </code><code><spanclass="constructor">PrintfArgs</span></code></td></tr><trid="type-t.Pulse"class="anchored"><tdclass="def constructor"><ahref="#type-t.Pulse"class="anchor"></a><code>| </code><code><spanclass="constructor">Pulse</span></code></td></tr><trid="type-t.Purity"class="anchored"><tdclass="def constructor"><ahref="#type-t.Purity"class="anchor"></a><code>| </code><code><spanclass="constructor">Purity</span></code></td></tr><trid="type-t.Quandary"class="anchored"><tdclass="def constructor"><ahref="#type-t.Quandary"class="anchor"></a><code>| </code><code><spanclass="constructor">Quandary</span></code></td></tr><trid="type-t.RacerD"class="anchored"><tdclass="def constructor"><ahref="#type-t.RacerD"class="anchor"></a><code>| </code><code><spanclass="constructor">RacerD</span></code></td></tr><trid="type-t.ResourceLeak"class="anchored"><tdclass="def constructor"><ahref="#type-t.ResourceLeak"class="anchor"></a><code>| </code><code><spanclass="constructor">ResourceLeak</span></code></td></tr><trid="type-t.SIOF"class="anchored"><tdclass="def constructor"><ahref="#type-t.SIOF"class="anchor"></a><code>| </code><code><spanclass="constructor">SIOF</span></code></td></tr><trid="type-t.SelfInBlock"class="anchored"><tdclass="def constructor"><ahref="#type-t.SelfInBlock"class="anchor"></a><code>| </code><code><spanclass="constructor">SelfInBlock</span></code></td></tr><trid="type-t.Starvation"class="anchored"><tdclass="def constructor"><ahref="#type-t.Starvation"class="anchor"></a><code>| </code><code><spanclass="constructor">Starvation</span></code></td></tr><trid="type-t.Uninit"class="anchored"><tdclass="def constructor"><ahref="#type-t.Uninit"class="anchor"></a><code>| </code><code><spanclass="constructor">Uninit</span></code></td></tr></table></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-equal"><ahref="#val-equal"class="anchor"></a><code><spanclass="keyword">val</span> equal : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-all"><ahref="#val-all"class="anchor"></a><code><spanclass="keyword">val</span> all : <span><ahref="index.html#type-t">t</a> list</span></code></dt></dl></div></div></div><dl><dtclass="spec type"id="type-support"><ahref="#type-support"class="anchor"></a><code><spanclass="keyword">type</span> support</code><code> = </code><tableclass="variant"><trid="type-support.NoSupport"class="anchored"><tdclass="def constructor"><ahref="#type-support.NoSupport"class="anchor"></a><code>| </code><code><spanclass="constructor">NoSupport</span></code></td><tdclass="doc"><p>checker does not run at all for this language</p></td></tr><trid="type-support.Support"class="anchored"><tdclass="def constructor"><ahref="#type-support.Support"class="anchor"></a><code>| </code><code><spanclass="constructor">Support</span></code></td><tdclass="doc"><p>checker is expected to give reasonable results</p></td></tr><trid="type-support.ExperimentalSupport"class="anchored"><tdclass="def constructor"><ahref="#type-support.ExperimentalSupport"class="anchor"></a><code>| </code><code><spanclass="constructor">ExperimentalSupport</span></code></td><tdclass="doc"><p>checker runs but is not expected to give reasonable results</p></td></tr><trid="type-support.ToySupport"class="anchored"><tdclass="def constructor"><ahref="#type-support.ToySupport"class="anchor"></a><code>| </code><code><spanclass="constructor">ToySupport</span></code></td><tdclass="doc"><p>the checker is for teaching purposes only (like experimental but with no plans to improve it)</p></td></tr></table></dt><dd><p>per-language support for each checker</p></dd></dl><dl><dtclass="spec type"id="type-config"><ahref="#type-config"class="anchor"></a><code><spanclass="keyword">type</span> config</code><code> = </code><code>{</code><tableclass="record"><trid="type-config.support"class="anchored"><tdclass="def field"><ahref="#type-config.support"class="anchor"></a><code>support : <ahref="../Language/index.html#type-t">Language.t</a><span>-></span><ahref="index.html#type-support">support</a>;</code></td></tr><trid="type-config.short_documentation"class="anchored"><tdclass="def field"><ahref="#type-config.short_documentation"class="anchor"></a><code>short_documentation : string;</code></td></tr><trid="type-config.cli_flag"class="anchored"><tdclass="def field"><ahref="#type-config.cli_flag"class="anchor"></a><code>cli_flag : string;</code></td><tdclass="doc"><p>the flag to enable this option on the command line, without the leading "--" (like the <code>~long</code> argument of <code>CommandLineOption</code> functions)</p></td></tr><trid="type-config.show_in_help"class="anchored"><tdclass="def field"><ahref="#type-config.show_in_help"class="anchor"></a><code>show_in_help : bool;</code></td></tr><trid="type-config.enabled_by_default"class="anchored"><tdclass="def field"><ahref="#type-config.enabled_by_default"class="anchor"></a><code>enabled_by_default : bool;</code></td></tr><trid="type-config.cli_deprecated_flags"class="anchored"><tdclass="def field"><ahref="#type-config.cli_deprecated_flags"class="anchor"></a><code>cli_deprecated_flags : <span>string list</span>;</code></td><tdclass="doc"><p>more command-line flags, similar to <code>~deprecated</code> arguments</p></td></tr></table><code>}</code></dt></dl><dl><dtclass="spec value"id="val-config"><ahref="#val-config"class="anchor"></a><code><spanclass="keyword">val</span> config : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-config">config</a></code></dt></dl></div></body></html>