<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Absint__Localise (infer.Absint__Localise)</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; Absint__Localise</nav><h1>Module <code>Absint__Localise</code></h1></header><aside><p>Support for localisation</p></aside><div class="spec module" id="module-Tags"><a href="#module-Tags" class="anchor"></a><code><span class="keyword">module</span> <a href="Tags/index.html">Tags</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec type" id="type-error_desc"><a href="#type-error_desc" class="anchor"></a><code><span class="keyword">type</span> error_desc</code><code> = </code><code>{</code><table class="record"><tr id="type-error_desc.descriptions" class="anchored"><td class="def field"><a href="#type-error_desc.descriptions" class="anchor"></a><code>descriptions : <span>string list</span>;</code></td></tr><tr id="type-error_desc.tags" class="anchored"><td class="def field"><a href="#type-error_desc.tags" class="anchor"></a><code>tags : <a href="Tags/index.html#type-t">Tags.t</a>;</code></td></tr><tr id="type-error_desc.dotty" class="anchored"><td class="def field"><a href="#type-error_desc.dotty" class="anchor"></a><code>dotty : <span>string option</span>;</code></td></tr></table><code>}</code></dt><dd><p>description field of error messages</p></dd></dl><div><div class="spec include"><div class="doc"><dl><dt class="spec value" id="val-compare_error_desc"><a href="#val-compare_error_desc" class="anchor"></a><code><span class="keyword">val</span> compare_error_desc : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> int</code></dt></dl></div></div></div><dl><dt class="spec value" id="val-no_desc"><a href="#val-no_desc" class="anchor"></a><code><span class="keyword">val</span> no_desc : <a href="index.html#type-error_desc">error_desc</a></code></dt><dd><p>empty error description</p></dd></dl><dl><dt class="spec value" id="val-verbatim_desc"><a href="#val-verbatim_desc" class="anchor"></a><code><span class="keyword">val</span> verbatim_desc : string <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dd><p>verbatim desc from a string, not to be used for user-visible descs</p></dd></dl><div class="spec module" id="module-BucketLevel"><a href="#module-BucketLevel" class="anchor"></a><code><span class="keyword">module</span> <a href="BucketLevel/index.html">BucketLevel</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec value" id="val-error_desc_get_bucket"><a href="#val-error_desc_get_bucket" class="anchor"></a><code><span class="keyword">val</span> error_desc_get_bucket : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> <span>string option</span></code></dt><dd><p>get the bucket value of an error_desc, if any</p></dd></dl><dl><dt class="spec value" id="val-error_desc_set_bucket"><a href="#val-error_desc_set_bucket" class="anchor"></a><code><span class="keyword">val</span> error_desc_set_bucket : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dd><p>set the bucket value of an error_desc</p></dd></dl><dl><dt class="spec value" id="val-error_desc_is_reportable_bucket"><a href="#val-error_desc_is_reportable_bucket" class="anchor"></a><code><span class="keyword">val</span> error_desc_is_reportable_bucket : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>check if the report is in a high confidence bucket</p></dd></dl><dl><dt class="spec value" id="val-error_desc_hash"><a href="#val-error_desc_hash" class="anchor"></a><code><span class="keyword">val</span> error_desc_hash : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> int</code></dt><dd><p>hash function for error_desc</p></dd></dl><dl><dt class="spec value" id="val-error_desc_equal"><a href="#val-error_desc_equal" class="anchor"></a><code><span class="keyword">val</span> error_desc_equal : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>equality for error_desc</p></dd></dl><dl><dt class="spec value" id="val-pp_error_desc"><a href="#val-pp_error_desc" class="anchor"></a><code><span class="keyword">val</span> pp_error_desc : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>pretty print an error description</p></dd></dl><dl><dt class="spec value" id="val-error_desc_get_dotty"><a href="#val-error_desc_get_dotty" class="anchor"></a><code><span class="keyword">val</span> error_desc_get_dotty : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> <span>string option</span></code></dt></dl><aside><p>Description functions for error messages</p></aside><dl><dt class="spec type" id="type-deref_str"><a href="#type-deref_str" class="anchor"></a><code><span class="keyword">type</span> deref_str</code></dt><dd><p>dereference strings used to explain a dereference action in an error message</p></dd></dl><dl><dt class="spec value" id="val-deref_str_null"><a href="#val-deref_str_null" class="anchor"></a><code><span class="keyword">val</span> deref_str_null : <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span> <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for null dereference</p></dd></dl><dl><dt class="spec value" id="val-deref_str_nullable"><a href="#val-deref_str_nullable" class="anchor"></a><code><span class="keyword">val</span> deref_str_nullable : <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for null dereference due to Nullable annotation</p></dd></dl><dl><dt class="spec value" id="val-deref_str_undef"><a href="#val-deref_str_undef" class="anchor"></a><code><span class="keyword">val</span> deref_str_undef : <span>(<a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a>)</span> <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for an undefined value coming from the given procedure</p></dd></dl><dl><dt class="spec value" id="val-deref_str_dangling"><a href="#val-deref_str_dangling" class="anchor"></a><code><span class="keyword">val</span> deref_str_dangling : <span><a href="../IR/PredSymb/index.html#type-dangling_kind">IR.PredSymb.dangling_kind</a> option</span> <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for a dangling pointer dereference</p></dd></dl><dl><dt class="spec value" id="val-deref_str_array_bound"><a href="#val-deref_str_array_bound" class="anchor"></a><code><span class="keyword">val</span> deref_str_array_bound : <span><a href="../IR/IntLit/index.html#type-t">IR.IntLit.t</a> option</span> <span>&#45;&gt;</span> <span><a href="../IR/IntLit/index.html#type-t">IR.IntLit.t</a> option</span> <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for an array out of bound access</p></dd></dl><dl><dt class="spec value" id="val-deref_str_nil_argument_in_variadic_method"><a href="#val-deref_str_nil_argument_in_variadic_method" class="anchor"></a><code><span class="keyword">val</span> deref_str_nil_argument_in_variadic_method : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for nonterminal nil arguments in c/objc variadic methods</p></dd></dl><dl><dt class="spec type" id="type-access"><a href="#type-access" class="anchor"></a><code><span class="keyword">type</span> access</code><code> = </code><table class="variant"><tr id="type-access.Last_assigned" class="anchored"><td class="def constructor"><a href="#type-access.Last_assigned" class="anchor"></a><code>| </code><code><span class="constructor">Last_assigned</span> <span class="keyword">of</span> int * bool</code></td><td class="doc"><p>line, null_case_flag</p></td></tr><tr id="type-access.Last_accessed" class="anchored"><td class="def constructor"><a href="#type-access.Last_accessed" class="anchor"></a><code>| </code><code><span class="constructor">Last_accessed</span> <span class="keyword">of</span> int * bool</code></td><td class="doc"><p>line, is_nullable flag</p></td></tr><tr id="type-access.Initialized_automatically" class="anchored"><td class="def constructor"><a href="#type-access.Initialized_automatically" class="anchor"></a><code>| </code><code><span class="constructor">Initialized_automatically</span></code></td></tr><tr id="type-access.Returned_from_call" class="anchored"><td class="def constructor"><a href="#type-access.Returned_from_call" class="anchor"></a><code>| </code><code><span class="constructor">Returned_from_call</span> <span class="keyword">of</span> int</code></td></tr></table></dt><dd><p>type of access</p></dd></dl><dl><dt class="spec value" id="val-dereference_string"><a href="#val-dereference_string" class="anchor"></a><code><span class="keyword">val</span> dereference_string : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <a href="index.html#type-deref_str">deref_str</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><a href="index.html#type-access">access</a> option</span> <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-parameter_field_not_null_checked_desc"><a href="#val-parameter_field_not_null_checked_desc" class="anchor"></a><code><span class="keyword">val</span> parameter_field_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> <a href="../IR/Exp/index.html#type-t">IR.Exp.t</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-is_parameter_not_null_checked_desc"><a href="#val-is_parameter_not_null_checked_desc" class="anchor"></a><code><span class="keyword">val</span> is_parameter_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-is_field_not_null_checked_desc"><a href="#val-is_field_not_null_checked_desc" class="anchor"></a><code><span class="keyword">val</span> is_field_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-desc_class_cast_exception"><a href="#val-desc_class_cast_exception" class="anchor"></a><code><span class="keyword">val</span> desc_class_cast_exception : <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span>string option</span> <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_condition_always_true_false"><a href="#val-desc_condition_always_true_false" class="anchor"></a><code><span class="keyword">val</span> desc_condition_always_true_false : <a href="../IR/IntLit/index.html#type-t">IR.IntLit.t</a> <span>&#45;&gt;</span> <span>string option</span> <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_divide_by_zero"><a href="#val-desc_divide_by_zero" class="anchor"></a><code><span class="keyword">val</span> desc_divide_by_zero : string <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_empty_vector_access"><a href="#val-desc_empty_vector_access" class="anchor"></a><code><span class="keyword">val</span> desc_empty_vector_access : <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span> <span>&#45;&gt;</span> string <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-is_empty_vector_access_desc"><a href="#val-is_empty_vector_access_desc" class="anchor"></a><code><span class="keyword">val</span> is_empty_vector_access_desc : <a href="index.html#type-error_desc">error_desc</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-desc_frontend_warning"><a href="#val-desc_frontend_warning" class="anchor"></a><code><span class="keyword">val</span> desc_frontend_warning : string <span>&#45;&gt;</span> <span>string option</span> <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_leak"><a href="#val-desc_leak" class="anchor"></a><code><span class="keyword">val</span> desc_leak : <span><a href="../IR/Exp/index.html#type-t">IR.Exp.t</a> option</span> <span>&#45;&gt;</span> <span>string option</span> <span>&#45;&gt;</span> <span><a href="../IR/PredSymb/index.html#type-resource">IR.PredSymb.resource</a> option</span> <span>&#45;&gt;</span> <span><a href="../IR/PredSymb/index.html#type-res_action">IR.PredSymb.res_action</a> option</span> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <span>string option</span> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_custom_error"><a href="#val-desc_custom_error" class="anchor"></a><code><span class="keyword">val</span> desc_custom_error : <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dd><p>Create human-readable error description for assertion failures</p></dd></dl><dl><dt class="spec type" id="type-pnm_kind"><a href="#type-pnm_kind" class="anchor"></a><code><span class="keyword">type</span> pnm_kind</code><code> = </code><table class="variant"><tr id="type-pnm_kind.Pnm_bounds" class="anchored"><td class="def constructor"><a href="#type-pnm_kind.Pnm_bounds" class="anchor"></a><code>| </code><code><span class="constructor">Pnm_bounds</span></code></td></tr><tr id="type-pnm_kind.Pnm_dangling" class="anchored"><td class="def constructor"><a href="#type-pnm_kind.Pnm_dangling" class="anchor"></a><code>| </code><code><span class="constructor">Pnm_dangling</span></code></td></tr></table></dt><dd><p>kind of precondition not met</p></dd></dl><dl><dt class="spec value" id="val-desc_precondition_not_met"><a href="#val-desc_precondition_not_met" class="anchor"></a><code><span class="keyword">val</span> desc_precondition_not_met : <span><a href="index.html#type-pnm_kind">pnm_kind</a> option</span> <span>&#45;&gt;</span> <a href="../IR/Procname/index.html#type-t">IR.Procname.t</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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_retain_cycle"><a href="#val-desc_retain_cycle" class="anchor"></a><code><span class="keyword">val</span> desc_retain_cycle : string <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <span>string option</span> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_registered_observer_being_deallocated"><a href="#val-desc_registered_observer_being_deallocated" class="anchor"></a><code><span class="keyword">val</span> desc_registered_observer_being_deallocated : <a href="../IR/Pvar/index.html#type-t">IR.Pvar.t</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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_skip_function"><a href="#val-desc_skip_function" class="anchor"></a><code><span class="keyword">val</span> desc_skip_function : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_inherently_dangerous_function"><a href="#val-desc_inherently_dangerous_function" class="anchor"></a><code><span class="keyword">val</span> desc_inherently_dangerous_function : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-desc_uninitialized_dangling_pointer_deref"><a href="#val-desc_uninitialized_dangling_pointer_deref" class="anchor"></a><code><span class="keyword">val</span> desc_uninitialized_dangling_pointer_deref : <a href="index.html#type-deref_str">deref_str</a> <span>&#45;&gt;</span> string <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-error_desc">error_desc</a></code></dt><dt class="spec value" id="val-access_desc"><a href="#val-access_desc" class="anchor"></a><code><span class="keyword">val</span> access_desc : <span><a href="index.html#type-access">access</a> option</span> <span>&#45;&gt;</span> <span>string list</span></code></dt></dl></div></body></html>