<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Nullsafe__InferredNullability (infer.Nullsafe__InferredNullability)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><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>» Nullsafe__InferredNullability</nav><h1>Module <code>Nullsafe__InferredNullability</code></h1></header><aside><p>Module to represent nullability of expressions inferred during flow-sensitive symbolic execution. NOTE: This is complementaty to <spanclass="xref-unresolved"title="unresolved reference to "InferredNullability.t""><code>InferredNullability</code>.t</span>. <code>InferredNullability</code> contains info about _formal_ nullability (what does the code say about nullability of a given type, according to explicit annotations and implicit agreements (e.g. models)). In contrast, InferredNullability represents what Nullsafe thinks about such and such expression according to its type inference rules.</p></aside><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare"><ahref="#val-compare"class="anchor"></a><code><spanclass="keyword">val</span> compare : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt></dl></div></div></div><dl><dtclass="spec value"id="val-get_nullability"><ahref="#val-get_nullability"class="anchor"></a><code><spanclass="keyword">val</span> get_nullability : <ahref="index.html#type-t">t</a><span>-></span><ahref="../Nullsafe/Nullability/index.html#type-t">Nullsafe.Nullability.t</a></code></dt><dtclass="spec value"id="val-create"><ahref="#val-create"class="anchor"></a><code><spanclass="keyword">val</span> create : <ahref="../Nullsafe/TypeOrigin/index.html#type-t">Nullsafe.TypeOrigin.t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-is_nonnullish"><ahref="#val-is_nonnullish"class="anchor"></a><code><spanclass="keyword">val</span> is_nonnullish : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>Check whether corresponding <code>Nullability</code> is <code>Nullability.is_nonnullish</code></p></dd></dl><dl><dtclass="spec value"id="val-get_simple_origin"><ahref="#val-get_simple_origin"class="anchor"></a><code><spanclass="keyword">val</span> get_simple_origin : <ahref="index.html#type-t">t</a><span>-></span><ahref="../Nullsafe/TypeOrigin/index.html#type-t">Nullsafe.TypeOrigin.t</a></code></dt><dd><p>The simple explanation of how was nullability inferred.</p></dd></dl><dl><dtclass="spec value"id="val-get_provisional_annotations"><ahref="#val-get_provisional_annotations"class="anchor"></a><code><spanclass="keyword">val</span> get_provisional_annotations : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../Nullsafe/ProvisionalAnnotation/index.html#type-t">Nullsafe.ProvisionalAnnotation.t</a> list</span></code></dt><dtclass="spec value"id="val-join"><ahref="#val-join"class="anchor"></a><code><spanclass="keyword">val</span> join : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>This is what happens with nullability when we join two flows in CFG, e.g.</p><pre><codeclass="ml">if(something) {
// what is nullability of `a` at this point?</code></pre></dd></dl><dl><dtclass="spec value"id="val-origin_is_fun_defined"><ahref="#val-origin_is_fun_defined"class="anchor"></a><code><spanclass="keyword">val</span> origin_is_fun_defined : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl></div></body></html>