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
32 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferIR__Localise (InferIR.InferIR__Localise)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> &mdash; <span class="package">package <a href="../index.html">InferIR</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferIR__Localise</span></h1></header><p>Support for localisation</p><div class="spec module" id="module-Tags"><a href="#module-Tags" class="anchor"></a><div class="def module"><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><div class="doc"></div></div><div class="spec type" id="type-error_desc"><a href="#type-error_desc" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>error_desc</code><code></code><code><span class="keyword"> = </span></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 : string list;</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 : string option;</code></td></tr></table><code>}</code><code></code></div><div class="doc"><p>description field of error messages</p></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-compare_error_desc"><a href="#val-compare_error_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_error_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-no_desc"><a href="#val-no_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>no_desc : <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"><p>empty error description</p></div></div><div class="spec val" id="val-verbatim_desc"><a href="#val-verbatim_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>verbatim_desc : string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"><p>verbatim desc from a string, not to be used for user-visible descs</p></div></div><div class="spec val" id="val-custom_desc"><a href="#val-custom_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>custom_desc : string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>string) list <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"><p>verbatim desc with custom tags</p></div></div><div class="spec module" id="module-BucketLevel"><a href="#module-BucketLevel" class="anchor"></a><div class="def module"><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><div class="doc"></div></div><div class="spec val" id="val-error_desc_extract_tag_value"><a href="#val-error_desc_extract_tag_value" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_extract_tag_value : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string</code></div><div class="doc"><p>returns the value of a tag or the empty string</p></div></div><div class="spec val" id="val-error_desc_get_bucket"><a href="#val-error_desc_get_bucket" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_get_bucket : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> string option</code></div><div class="doc"><p>get the bucket value of an error_desc, if any</p></div></div><div class="spec val" id="val-error_desc_set_bucket"><a href="#val-error_desc_set_bucket" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_set_bucket : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"><p>set the bucket value of an error_desc</p></div></div><div class="spec val" id="val-error_desc_is_reportable_bucket"><a href="#val-error_desc_is_reportable_bucket" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_is_reportable_bucket : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>check if the report is in a high confidence bucket</p></div></div><div class="spec val" id="val-error_desc_hash"><a href="#val-error_desc_hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_hash : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p>hash function for error_desc</p></div></div><div class="spec val" id="val-error_desc_equal"><a href="#val-error_desc_equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_equal : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>equality for error_desc</p></div></div><div class="spec val" id="val-pp_error_desc"><a href="#val-pp_error_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_error_desc : Format.formatter <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"><p>pretty print an error description</p></div></div><div class="spec val" id="val-error_desc_get_dotty"><a href="#val-error_desc_get_dotty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>error_desc_get_dotty : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> string option</code></div><div class="doc"></div></div><p>Description functions for error messages</p><div class="spec type" id="type-deref_str"><a href="#type-deref_str" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>deref_str</code><code></code><code></code></div><div class="doc"><p>dereference strings used to explain a dereference action in an error message</p></div></div><div class="spec val" id="val-deref_str_null"><a href="#val-deref_str_null" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_null : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for null dereference</p></div></div><div class="spec val" id="val-deref_str_nullable"><a href="#val-deref_str_nullable" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_nullable : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for null dereference due to Nullable annotation</p></div></div><div class="spec val" id="val-deref_str_weak_variable_in_block"><a href="#val-deref_str_weak_variable_in_block" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_weak_variable_in_block : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for null dereference due to weak captured variable in block</p></div></div><div class="spec val" id="val-deref_str_undef"><a href="#val-deref_str_undef" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_undef : (<a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a>) <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for an undefined value coming from the given procedure</p></div></div><div class="spec val" id="val-deref_str_freed"><a href="#val-deref_str_freed" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_freed : <a href="../InferIR/PredSymb/index.html#type-res_action">InferIR.PredSymb.res_action</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for a freed pointer dereference</p></div></div><div class="spec val" id="val-deref_str_dangling"><a href="#val-deref_str_dangling" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_dangling : <a href="../InferIR/PredSymb/index.html#type-dangling_kind">InferIR.PredSymb.dangling_kind</a> option <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for a dangling pointer dereference</p></div></div><div class="spec val" id="val-deref_str_array_bound"><a href="#val-deref_str_array_bound" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_array_bound : <a href="../InferIR/IntLit/index.html#type-t">InferIR.IntLit.t</a> option <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/IntLit/index.html#type-t">InferIR.IntLit.t</a> option <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for an array out of bound access</p></div></div><div class="spec val" id="val-deref_str_nil_argument_in_variadic_method"><a href="#val-deref_str_nil_argument_in_variadic_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_nil_argument_in_variadic_method : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for nonterminal nil arguments in c/objc variadic methods</p></div></div><div class="spec val" id="val-deref_str_pointer_size_mismatch"><a href="#val-deref_str_pointer_size_mismatch" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>deref_str_pointer_size_mismatch : <a href="../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a></code></div><div class="doc"><p>dereference strings for a pointer size mismatch</p></div></div><div class="spec type" id="type-access"><a href="#type-access" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>access</code><code></code><code><span class="keyword"> = </span></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><span class="keyword">| </span></code><code><span class="constructor">Last_assigned</span><span class="keyword"> of </span>int<span class="keyword"> * </span>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><span class="keyword">| </span></code><code><span class="constructor">Last_accessed</span><span class="keyword"> of </span>int<span class="keyword"> * </span>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><span class="keyword">| </span></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><span class="keyword">| </span></code><code><span class="constructor">Returned_from_call</span><span class="keyword"> of </span>int</code></td></tr></table><code></code></div><div class="doc"><p>type of access</p></div></div><div class="spec val" id="val-nullable_annotation_name"><a href="#val-nullable_annotation_name" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>nullable_annotation_name : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> string</code></div><div class="doc"><p>Name of the nullable annotation</p></div></div><div class="spec val" id="val-dereference_string"><a href="#val-dereference_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dereference_string : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-deref_str">deref_str</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-access">access</a> option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-parameter_field_not_null_checked_desc"><a href="#val-parameter_field_not_null_checked_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>parameter_field_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-is_parameter_not_null_checked_desc"><a href="#val-is_parameter_not_null_checked_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_parameter_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_field_not_null_checked_desc"><a href="#val-is_field_not_null_checked_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_field_not_null_checked_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-desc_allocation_mismatch"><a href="#val-desc_allocation_mismatch" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_allocation_mismatch : (<a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a><span class="keyword"> * </span><a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a>) <span class="keyword">&#8209;&gt;</span> (<a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a><span class="keyword"> * </span><a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a>) <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_class_cast_exception"><a href="#val-desc_class_cast_exception" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_class_cast_exception : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_condition_always_true_false"><a href="#val-desc_condition_always_true_false" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_condition_always_true_false : <a href="../InferIR/IntLit/index.html#type-t">InferIR.IntLit.t</a> <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_unreachable_code_after"><a href="#val-desc_unreachable_code_after" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_unreachable_code_after : <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_deallocate_stack_variable"><a href="#val-desc_deallocate_stack_variable" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_deallocate_stack_variable : string <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_deallocate_static_memory"><a href="#val-desc_deallocate_static_memory" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_deallocate_static_memory : string <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_divide_by_zero"><a href="#val-desc_divide_by_zero" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_divide_by_zero : string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_double_lock"><a href="#val-desc_double_lock" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_double_lock : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-is_double_lock_desc"><a href="#val-is_double_lock_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_double_lock_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-desc_empty_vector_access"><a href="#val-desc_empty_vector_access" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_empty_vector_access : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-is_empty_vector_access_desc"><a href="#val-is_empty_vector_access_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_empty_vector_access_desc : <a href="index.html#type-error_desc">error_desc</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-desc_frontend_warning"><a href="#val-desc_frontend_warning" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_frontend_warning : string <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_leak"><a href="#val-desc_leak" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_leak : <a href="../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> option <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/PredSymb/index.html#type-resource">InferIR.PredSymb.resource</a> option <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/PredSymb/index.html#type-res_action">InferIR.PredSymb.res_action</a> option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_buffer_overrun"><a href="#val-desc_buffer_overrun" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_buffer_overrun : string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_null_test_after_dereference"><a href="#val-desc_null_test_after_dereference" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_null_test_after_dereference : string <span class="keyword">&#8209;&gt;</span> int <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-java_unchecked_exn_desc"><a href="#val-java_unchecked_exn_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>java_unchecked_exn_desc : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Name/index.html#type-t">InferIR.Typ.Name.t</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_fragment_retains_view"><a href="#val-desc_fragment_retains_view" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_fragment_retains_view : <a href="../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Fieldname/index.html#type-t">InferIR.Typ.Fieldname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_custom_error"><a href="#val-desc_custom_error" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_custom_error : <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"><p>Create human-readable error description for assertion failures</p></div></div><div class="spec type" id="type-pnm_kind"><a href="#type-pnm_kind" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>pnm_kind</code><code></code><code><span class="keyword"> = </span></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><span class="keyword">| </span></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><span class="keyword">| </span></code><code><span class="constructor">Pnm_dangling</span></code></td></tr></table><code></code></div><div class="doc"><p>kind of precondition not met</p></div></div><div class="spec val" id="val-desc_precondition_not_met"><a href="#val-desc_precondition_not_met" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_precondition_not_met : <a href="index.html#type-pnm_kind">pnm_kind</a> option <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_retain_cycle"><a href="#val-desc_retain_cycle" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_retain_cycle : string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_registered_observer_being_deallocated"><a href="#val-desc_registered_observer_being_deallocated" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_registered_observer_being_deallocated : <a href="../InferIR/Pvar/index.html#type-t">InferIR.Pvar.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_stack_variable_address_escape"><a href="#val-desc_stack_variable_address_escape" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_stack_variable_address_escape : <a href="../InferIR/Pvar/index.html#type-t">InferIR.Pvar.t</a> <span class="keyword">&#8209;&gt;</span> string option <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_skip_function"><a href="#val-desc_skip_function" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_skip_function : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_inherently_dangerous_function"><a href="#val-desc_inherently_dangerous_function" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_inherently_dangerous_function : <a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_unary_minus_applied_to_unsigned_expression"><a href="#val-desc_unary_minus_applied_to_unsigned_expression" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_unary_minus_applied_to_unsigned_expression : string option <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_unsafe_guarded_by_access"><a href="#val-desc_unsafe_guarded_by_access" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_unsafe_guarded_by_access : <a href="../InferIR/Typ/Fieldname/index.html#type-t">InferIR.Typ.Fieldname.t</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-desc_uninitialized_dangling_pointer_deref"><a href="#val-desc_uninitialized_dangling_pointer_deref" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>desc_uninitialized_dangling_pointer_deref : <a href="index.html#type-deref_str">deref_str</a> <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-error_desc">error_desc</a></code></div><div class="doc"></div></div><div class="spec val" id="val-access_desc"><a href="#val-access_desc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>access_desc : <a href="index.html#type-access">access</a> option <span class="keyword">&#8209;&gt;</span> string list</code></div><div class="doc"></div></div></body></html>