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>IR__Localise (infer.IR__Localise)</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>» IR__Localise</nav><h1>Module <code>IR__Localise</code></h1></header><aside><p>Support for localisation</p></aside><divclass="spec module"id="module-Tags"><ahref="#module-Tags"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Tags/index.html">Tags</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec type"id="type-error_desc"><ahref="#type-error_desc"class="anchor"></a><code><spanclass="keyword">type</span> error_desc</code><code> = </code><code>{</code><tableclass="record"><trid="type-error_desc.descriptions"class="anchored"><tdclass="def field"><ahref="#type-error_desc.descriptions"class="anchor"></a><code>descriptions : <span>string list</span>;</code></td></tr><trid="type-error_desc.tags"class="anchored"><tdclass="def field"><ahref="#type-error_desc.tags"class="anchor"></a><code>tags : <ahref="Tags/index.html#type-t">Tags.t</a>;</code></td></tr><trid="type-error_desc.dotty"class="anchored"><tdclass="def field"><ahref="#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><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare_error_desc"><ahref="#val-compare_error_desc"class="anchor"></a><code><spanclass="keyword">val</span> compare_error_desc : <ahref="index.html#type-error_desc">error_desc</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a><span>-></span> int</code></dt></dl></div></div></div><dl><dtclass="spec value"id="val-no_desc"><ahref="#val-no_desc"class="anchor"></a><code><spanclass="keyword">val</span> no_desc : <ahref="index.html#type-error_desc">error_desc</a></code></dt><dd><p>empty error description</p></dd></dl><dl><dtclass="spec value"id="val-verbatim_desc"><ahref="#val-verbatim_desc"class="anchor"></a><code><spanclass="keyword">val</span> verbatim_desc : string <span>-></span><ahref="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><divclass="spec module"id="module-BucketLevel"><ahref="#module-BucketLevel"class="anchor"></a><code><spanclass="keyword">module</span><ahref="BucketLevel/index.html">BucketLevel</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec value"id="val-error_desc_get_bucket"><ahref="#val-error_desc_get_bucket"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_get_bucket : <ahref="index.html#type-error_desc">error_desc</a><span>-></span><span>string option</span></code></dt><dd><p>get the bucket value of an error_desc, if any</p></dd></dl><dl><dtclass="spec value"id="val-error_desc_set_bucket"><ahref="#val-error_desc_set_bucket"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_set_bucket : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> string <span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dd><p>set the bucket value of an error_desc</p></dd></dl><dl><dtclass="spec value"id="val-error_desc_is_reportable_bucket"><ahref="#val-error_desc_is_reportable_bucket"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_is_reportable_bucket : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> bool</code></dt><dd><p>check if the report is in a high confidence bucket</p></dd></dl><dl><dtclass="spec value"id="val-error_desc_hash"><ahref="#val-error_desc_hash"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_hash : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> int</code></dt><dd><p>hash function for error_desc</p></dd></dl><dl><dtclass="spec value"id="val-error_desc_equal"><ahref="#val-error_desc_equal"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_equal : <ahref="index.html#type-error_desc">error_desc</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a><span>-></span> bool</code></dt><dd><p>equality for error_desc</p></dd></dl><dl><dtclass="spec value"id="val-pp_error_desc"><ahref="#val-pp_error_desc"class="anchor"></a><code><spanclass="keyword">val</span> pp_error_desc : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-error_desc">error_desc</a><span>-></span> unit</code></dt><dd><p>pretty print an error description</p></dd></dl><dl><dtclass="spec value"id="val-error_desc_get_dotty"><ahref="#val-error_desc_get_dotty"class="anchor"></a><code><spanclass="keyword">val</span> error_desc_get_dotty : <ahref="index.html#type-error_desc">error_desc</a><span>-></span><span>string option</span></code></dt></dl><aside><p>Description functions for error messages</p></aside><dl><dtclass="spec type"id="type-deref_str"><ahref="#type-deref_str"class="anchor"></a><code><spanclass="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><dtclass="spec value"id="val-deref_str_null"><ahref="#val-deref_str_null"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_null : <span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span><span>-></span><ahref="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for null dereference</p></dd></dl><dl><dtclass="spec value"id="val-deref_str_nullable"><ahref="#val-deref_str_nullable"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_nullable : <span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span><span>-></span> string <span>-></span><ahref="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><dtclass="spec value"id="val-deref_str_undef"><ahref="#val-deref_str_undef"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_undef : <span>(<ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a>)</span><span>-></span><ahref="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><dtclass="spec value"id="val-deref_str_freed"><ahref="#val-deref_str_freed"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_freed : <ahref="../IR/PredSymb/index.html#type-res_action">IR.PredSymb.res_action</a><span>-></span><ahref="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for a freed pointer dereference</p></dd></dl><dl><dtclass="spec value"id="val-deref_str_dangling"><ahref="#val-deref_str_dangling"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_dangling : <span><ahref="../IR/PredSymb/index.html#type-dangling_kind">IR.PredSymb.dangling_kind</a> option</span><span>-></span><ahref="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for a dangling pointer dereference</p></dd></dl><dl><dtclass="spec value"id="val-deref_str_array_bound"><ahref="#val-deref_str_array_bound"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_array_bound : <span><ahref="../IR/IntLit/index.html#type-t">IR.IntLit.t</a> option</span><span>-></span><span><ahref="../IR/IntLit/index.html#type-t">IR.IntLit.t</a> option</span><span>-></span><ahref="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><dtclass="spec value"id="val-deref_str_nil_argument_in_variadic_method"><ahref="#val-deref_str_nil_argument_in_variadic_method"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_nil_argument_in_variadic_method : <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span> int <span>-></span> int <span>-></span><ahref="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><dtclass="spec value"id="val-deref_str_pointer_size_mismatch"><ahref="#val-deref_str_pointer_size_mismatch"class="anchor"></a><code><spanclass="keyword">val</span> deref_str_pointer_size_mismatch : <ahref="../IR/Typ/index.html#type-t">IR.Typ.t</a><span>-></span><ahref="../IR/Typ/index.html#type-t">IR.Typ.t</a><span>-></span><ahref="index.html#type-deref_str">deref_str</a></code></dt><dd><p>dereference strings for a pointer size mismatch</p></dd></dl><dl><dtclass="spec type"id="type-access"><ahref="#type-access"class="anchor"></a><code><spanclass="keyword">type</span> access</code><code> = </code><tableclass="variant"><trid="type-access.Last_assigned"class="anchored"><tdclass="def constructor"><ahref="#type-access.Last_assigned"class="anchor"></a><code>| </code><code><spanclass="constructor">Last_assigned</span><spanclass="keyword">of</span> int * bool</code></td><tdclass="doc"><p>line, null_case_flag</p></td></tr><trid="type-access.Last_accessed"class="anchored"><tdclass="def constructor"><ahref="#type-access.Last_accessed"class="anchor"></a><code>| </code><code><spanclass="constructor">Last_accessed</span><spanclass="keyword">of</span> int * bool</code></td><tdclass="doc"><p>line, is_nullable flag</p></td></tr><trid="type-access.Initialized_automatically"class="anchored"><tdclass="def constructor"><ahref="#type-access.Initialized_automatically"class="anchor"></a><code>| </code><code><spanclass="constructor">Initialized_automatically</span></code></td></tr><trid="type-access.Returned_from_call"class="anchored"><tdclass="def constructor"><ahref="#type-access.Returned_from_call"class="anchor"></a><code>| </code><code><spanclass="constructor">Returned_from_call</span><spanclass="keyword">of</span> int</code></td></tr></table></dt><dd><p>type of access</p></dd></dl><dl><dtclass="spec value"id="val-dereference_string"><ahref="#val-dereference_string"class="anchor"></a><code><spanclass="keyword">val</span> dereference_string : <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="index.html#type-deref_str">deref_str</a><span>-></span> string <span>-></span><span><ahref="index.html#type-access">access</a> option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-parameter_field_not_null_checked_desc"><ahref="#val-parameter_field_not_null_checked_desc"class="anchor"></a><code><spanclass="keyword">val</span> parameter_field_not_null_checked_desc : <ahref="index.html#type-error_desc">error_desc</a><span>-></span><ahref="../IR/Exp/index.html#type-t">IR.Exp.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-is_parameter_not_null_checked_desc"><ahref="#val-is_parameter_not_null_checked_desc"class="anchor"></a><code><spanclass="keyword">val</span> is_parameter_not_null_checked_desc : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_field_not_null_checked_desc"><ahref="#val-is_field_not_null_checked_desc"class="anchor"></a><code><spanclass="keyword">val</span> is_field_not_null_checked_desc : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-desc_allocation_mismatch"><ahref="#val-desc_allocation_mismatch"class="anchor"></a><code><spanclass="keyword">val</span> desc_allocation_mismatch : <span>(<ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a>)</span><span>-></span><span>(<ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> * <ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a>)</span><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_class_cast_exception"><ahref="#val-desc_class_cast_exception"class="anchor"></a><code><spanclass="keyword">val</span> desc_class_cast_exception : <span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span><span>-></span> string <span>-></span> string <span>-></span><span>string option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_condition_always_true_false"><ahref="#val-desc_condition_always_true_false"class="anchor"></a><code><spanclass="keyword">val</span> desc_condition_always_true_false : <ahref="../IR/IntLit/index.html#type-t">IR.IntLit.t</a><span>-></span><span>string option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_deallocate_stack_variable"><ahref="#val-desc_deallocate_stack_variable"class="anchor"></a><code><spanclass="keyword">val</span> desc_deallocate_stack_variable : string <span>-></span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_deallocate_static_memory"><ahref="#val-desc_deallocate_static_memory"class="anchor"></a><code><spanclass="keyword">val</span> desc_deallocate_static_memory : string <span>-></span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_divide_by_zero"><ahref="#val-desc_divide_by_zero"class="anchor"></a><code><spanclass="keyword">val</span> desc_divide_by_zero : string <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_empty_vector_access"><ahref="#val-desc_empty_vector_access"class="anchor"></a><code><spanclass="keyword">val</span> desc_empty_vector_access : <span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span><span>-></span> string <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-is_empty_vector_access_desc"><ahref="#val-is_empty_vector_access_desc"class="anchor"></a><code><spanclass="keyword">val</span> is_empty_vector_access_desc : <ahref="index.html#type-error_desc">error_desc</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-desc_frontend_warning"><ahref="#val-desc_frontend_warning"class="anchor"></a><code><spanclass="keyword">val</span> desc_frontend_warning : string <span>-></span><span>string option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_leak"><ahref="#val-desc_leak"class="anchor"></a><code><spanclass="keyword">val</span> desc_leak : <span><ahref="../IR/Exp/index.html#type-t">IR.Exp.t</a> option</span><span>-></span><span>string option</span><span>-></span><span><ahref="../IR/PredSymb/index.html#type-resource">IR.PredSymb.resource</a> option</span><span>-></span><span><ahref="../IR/PredSymb/index.html#type-res_action">IR.PredSymb.res_action</a> option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><span>string option</span><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_null_test_after_dereference"><ahref="#val-desc_null_test_after_dereference"class="anchor"></a><code><spanclass="keyword">val</span> desc_null_test_after_dereference : string <span>-></span> int <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_custom_error"><ahref="#val-desc_custom_error"class="anchor"></a><code><spanclass="keyword">val</span> desc_custom_error : <ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dd><p>Create human-readable error description for assertion failures</p></dd></dl><dl><dtclass="spec type"id="type-pnm_kind"><ahref="#type-pnm_kind"class="anchor"></a><code><spanclass="keyword">type</span> pnm_kind</code><code> = </code><tableclass="variant"><trid="type-pnm_kind.Pnm_bounds"class="anchored"><tdclass="def constructor"><ahref="#type-pnm_kind.Pnm_bounds"class="anchor"></a><code>| </code><code><spanclass="constructor">Pnm_bounds</span></code></td></tr><trid="type-pnm_kind.Pnm_dangling"class="anchored"><tdclass="def constructor"><ahref="#type-pnm_kind.Pnm_dangling"class="anchor"></a><code>| </code><code><spanclass="constructor">Pnm_dangling</span></code></td></tr></table></dt><dd><p>kind of precondition not met</p></dd></dl><dl><dtclass="spec value"id="val-desc_precondition_not_met"><ahref="#val-desc_precondition_not_met"class="anchor"></a><code><spanclass="keyword">val</span> desc_precondition_not_met : <span><ahref="index.html#type-pnm_kind">pnm_kind</a> option</span><span>-></span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_retain_cycle"><ahref="#val-desc_retain_cycle"class="anchor"></a><code><spanclass="keyword">val</span> desc_retain_cycle : string <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><span>string option</span><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_registered_observer_being_deallocated"><ahref="#val-desc_registered_observer_being_deallocated"class="anchor"></a><code><spanclass="keyword">val</span> desc_registered_observer_being_deallocated : <ahref="../IR/Pvar/index.html#type-t">IR.Pvar.t</a><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_stack_variable_address_escape"><ahref="#val-desc_stack_variable_address_escape"class="anchor"></a><code><spanclass="keyword">val</span> desc_stack_variable_address_escape : <ahref="../IR/Pvar/index.html#type-t">IR.Pvar.t</a><span>-></span><span>string option</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_skip_function"><ahref="#val-desc_skip_function"class="anchor"></a><code><spanclass="keyword">val</span> desc_skip_function : <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_inherently_dangerous_function"><ahref="#val-desc_inherently_dangerous_function"class="anchor"></a><code><spanclass="keyword">val</span> desc_inherently_dangerous_function : <ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_unary_minus_applied_to_unsigned_expression"><ahref="#val-desc_unary_minus_applied_to_unsigned_expression"class="anchor"></a><code><spanclass="keyword">val</span> desc_unary_minus_applied_to_unsigned_expression : <span>string option</span><span>-></span> string <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-desc_uninitialized_dangling_pointer_deref"><ahref="#val-desc_uninitialized_dangling_pointer_deref"class="anchor"></a><code><spanclass="keyword">val</span> desc_uninitialized_dangling_pointer_deref : <ahref="index.html#type-deref_str">deref_str</a><span>-></span> string <span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="index.html#type-error_desc">error_desc</a></code></dt><dtclass="spec value"id="val-access_desc"><ahref="#val-access_desc"class="anchor"></a><code><spanclass="keyword">val</span> access_desc : <span><ahref="index.html#type-access">access</a> option</span><span>-></span><span>string list</span></code></dt></dl></div></body></html>