You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
18 KiB

This file contains ambiguous Unicode characters!

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>
<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.2"/><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>