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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferIR__Exceptions (InferIR.InferIR__Exceptions)</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__Exceptions</span></h1></header><p>Functions for logging and printing exceptions</p><div class="spec type" id="type-visibility"><a href="#type-visibility" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>visibility</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-visibility.Exn_user" class="anchored"><td class="def constructor"><a href="#type-visibility.Exn_user" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Exn_user</span></code></td><td class="doc"><p>(** always add to error log *)</p></td></tr><tr id="type-visibility.Exn_developer" class="anchored"><td class="def constructor"><a href="#type-visibility.Exn_developer" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Exn_developer</span></code></td><td class="doc"><p>(** only add to error log in developer mode *)</p></td></tr><tr id="type-visibility.Exn_system" class="anchored"><td class="def constructor"><a href="#type-visibility.Exn_system" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Exn_system</span></code></td><td class="doc"><p>(** never add to error log *)</p></td></tr></table><code></code></div><div class="doc"><p>visibility of the exception</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_visibility"><a href="#val-compare_visibility" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_visibility : <a href="index.html#type-visibility">visibility</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-visibility">visibility</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal_visibility"><a href="#val-equal_visibility" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal_visibility : <a href="index.html#type-visibility">visibility</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-visibility">visibility</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-string_of_visibility"><a href="#val-string_of_visibility" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>string_of_visibility : <a href="index.html#type-visibility">visibility</a> <span class="keyword">&#8209;&gt;</span> string</code></div><div class="doc"></div></div><div class="spec type" id="type-severity"><a href="#type-severity" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>severity</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-severity.High" class="anchored"><td class="def constructor"><a href="#type-severity.High" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">High</span></code></td><td class="doc"><p>(** high severity bug *)</p></td></tr><tr id="type-severity.Medium" class="anchored"><td class="def constructor"><a href="#type-severity.Medium" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Medium</span></code></td><td class="doc"><p>(** medium severity bug *)</p></td></tr><tr id="type-severity.Low" class="anchored"><td class="def constructor"><a href="#type-severity.Low" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Low</span></code></td><td class="doc"><p>(** low severity bug *)</p></td></tr></table><code></code></div><div class="doc"><p>severity of bugs</p></div></div><div class="spec type" id="type-err_kind"><a href="#type-err_kind" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>err_kind</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-err_kind.Kwarning" class="anchored"><td class="def constructor"><a href="#type-err_kind.Kwarning" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Kwarning</span></code></td></tr><tr id="type-err_kind.Kerror" class="anchored"><td class="def constructor"><a href="#type-err_kind.Kerror" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Kerror</span></code></td></tr><tr id="type-err_kind.Kinfo" class="anchored"><td class="def constructor"><a href="#type-err_kind.Kinfo" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Kinfo</span></code></td></tr><tr id="type-err_kind.Kadvice" class="anchored"><td class="def constructor"><a href="#type-err_kind.Kadvice" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Kadvice</span></code></td></tr><tr id="type-err_kind.Klike" class="anchored"><td class="def constructor"><a href="#type-err_kind.Klike" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Klike</span></code></td></tr></table><code></code></div><div class="doc"><p>kind of error/warning</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_err_kind"><a href="#val-compare_err_kind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_err_kind : <a href="index.html#type-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal_err_kind"><a href="#val-equal_err_kind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal_err_kind : <a href="index.html#type-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec type" id="type-err_class"><a href="#type-err_class" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>err_class</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-err_class.Checker" class="anchored"><td class="def constructor"><a href="#type-err_class.Checker" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Checker</span></code></td></tr><tr id="type-err_class.Prover" class="anchored"><td class="def constructor"><a href="#type-err_class.Prover" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Prover</span></code></td></tr><tr id="type-err_class.Nocat" class="anchored"><td class="def constructor"><a href="#type-err_class.Nocat" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Nocat</span></code></td></tr><tr id="type-err_class.Linters" class="anchored"><td class="def constructor"><a href="#type-err_class.Linters" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Linters</span></code></td></tr></table><code></code></div><div class="doc"><p>class of error</p></div></div><div class="spec val" id="val-equal_err_class"><a href="#val-equal_err_class" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal_err_class : <a href="index.html#type-err_class">err_class</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-err_class">err_class</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec exception" id="exception-Abduction_case_not_implemented"><a href="#exception-Abduction_case_not_implemented" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Abduction_case_not_implemented</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Analysis_stops"><a href="#exception-Analysis_stops" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Analysis_stops</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a> option</code></div><div class="doc"></div></div><div class="spec exception" id="exception-Array_of_pointsto"><a href="#exception-Array_of_pointsto" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Array_of_pointsto</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Array_out_of_bounds_l1"><a href="#exception-Array_out_of_bounds_l1" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Array_out_of_bounds_l1</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Array_out_of_bounds_l2"><a href="#exception-Array_out_of_bounds_l2" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Array_out_of_bounds_l2</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Array_out_of_bounds_l3"><a href="#exception-Array_out_of_bounds_l3" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Array_out_of_bounds_l3</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Bad_footprint"><a href="#exception-Bad_footprint" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Bad_footprint</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Cannot_star"><a href="#exception-Cannot_star" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Cannot_star</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Class_cast_exception"><a href="#exception-Class_cast_exception" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Class_cast_exception</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Codequery"><a href="#exception-Codequery" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Codequery</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Comparing_floats_for_equality"><a href="#exception-Comparing_floats_for_equality" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Comparing_floats_for_equality</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Condition_always_true_false"><a href="#exception-Condition_always_true_false" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Condition_always_true_false</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span>bool<span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Custom_error"><a href="#exception-Custom_error" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Custom_error</span><span class="keyword"> of </span>string<span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Dummy_exception"><a href="#exception-Dummy_exception" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Dummy_exception</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Dangling_pointer_dereference"><a href="#exception-Dangling_pointer_dereference" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Dangling_pointer_dereference</span><span class="keyword"> of </span><a href="../InferIR/PredSymb/index.html#type-dangling_kind">InferIR.PredSymb.dangling_kind</a> option<span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Deallocate_stack_variable"><a href="#exception-Deallocate_stack_variable" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Deallocate_stack_variable</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Deallocate_static_memory"><a href="#exception-Deallocate_static_memory" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Deallocate_static_memory</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Deallocation_mismatch"><a href="#exception-Deallocation_mismatch" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Deallocation_mismatch</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Double_lock"><a href="#exception-Double_lock" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Double_lock</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Divide_by_zero"><a href="#exception-Divide_by_zero" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Divide_by_zero</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Field_not_null_checked"><a href="#exception-Field_not_null_checked" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Field_not_null_checked</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Empty_vector_access"><a href="#exception-Empty_vector_access" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Empty_vector_access</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Eradicate"><a href="#exception-Eradicate" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Eradicate</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/IssueType/index.html#type-t">InferBase.IssueType.t</a><span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Checkers"><a href="#exception-Checkers" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Checkers</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/IssueType/index.html#type-t">InferBase.IssueType.t</a><span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Frontend_warning"><a href="#exception-Frontend_warning" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Frontend_warning</span><span class="keyword"> of </span>string<span class="keyword"> * </span>string option<span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Inherently_dangerous_function"><a href="#exception-Inherently_dangerous_function" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Inherently_dangerous_function</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Internal_error"><a href="#exception-Internal_error" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Internal_error</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Java_runtime_exception"><a href="#exception-Java_runtime_exception" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Java_runtime_exception</span><span class="keyword"> of </span><a href="../InferIR/Typ/Name/index.html#type-t">InferIR.Typ.Name.t</a><span class="keyword"> * </span>string<span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Leak"><a href="#exception-Leak" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Leak</span><span class="keyword"> of </span>bool<span class="keyword"> * </span><a href="../InferIR/Sil/index.html#type-hpred">InferIR.Sil.hpred</a><span class="keyword"> * </span><a href="index.html#type-visibility">visibility</a><span class="keyword"> * </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span>bool<span class="keyword"> * </span><a href="../InferIR/PredSymb/index.html#type-resource">InferIR.PredSymb.resource</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Missing_fld"><a href="#exception-Missing_fld" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Missing_fld</span><span class="keyword"> of </span><a href="../InferIR/Typ/Fieldname/index.html#type-t">InferIR.Typ.Fieldname.t</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Premature_nil_termination"><a href="#exception-Premature_nil_termination" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Premature_nil_termination</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Null_dereference"><a href="#exception-Null_dereference" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Null_dereference</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Null_test_after_dereference"><a href="#exception-Null_test_after_dereference" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Null_test_after_dereference</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Parameter_not_null_checked"><a href="#exception-Parameter_not_null_checked" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Parameter_not_null_checked</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Pointer_size_mismatch"><a href="#exception-Pointer_size_mismatch" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Pointer_size_mismatch</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Precondition_not_found"><a href="#exception-Precondition_not_found" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Precondition_not_found</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Precondition_not_met"><a href="#exception-Precondition_not_met" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Precondition_not_met</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Retain_cycle"><a href="#exception-Retain_cycle" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Retain_cycle</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Registered_observer_being_deallocated"><a href="#exception-Registered_observer_being_deallocated" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Registered_observer_being_deallocated</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Return_expression_required"><a href="#exception-Return_expression_required" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Return_expression_required</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Return_statement_missing"><a href="#exception-Return_statement_missing" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Return_statement_missing</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Return_value_ignored"><a href="#exception-Return_value_ignored" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Return_value_ignored</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Skip_function"><a href="#exception-Skip_function" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Skip_function</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Skip_pointer_dereference"><a href="#exception-Skip_pointer_dereference" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Skip_pointer_dereference</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Stack_variable_address_escape"><a href="#exception-Stack_variable_address_escape" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Stack_variable_address_escape</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Symexec_memory_error"><a href="#exception-Symexec_memory_error" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Symexec_memory_error</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Unary_minus_applied_to_unsigned_expression"><a href="#exception-Unary_minus_applied_to_unsigned_expression" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Unary_minus_applied_to_unsigned_expression</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Unknown_proc"><a href="#exception-Unknown_proc" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Unknown_proc</span></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Unreachable_code_after"><a href="#exception-Unreachable_code_after" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Unreachable_code_after</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Unsafe_guarded_by_access"><a href="#exception-Unsafe_guarded_by_access" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Unsafe_guarded_by_access</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Use_after_free"><a href="#exception-Use_after_free" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Use_after_free</span><span class="keyword"> of </span><a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a><span class="keyword"> * </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec exception" id="exception-Wrong_argument_number"><a href="#exception-Wrong_argument_number" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Wrong_argument_number</span><span class="keyword"> of </span><a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a></code></div><div class="doc"></div></div><div class="spec val" id="val-err_class_string"><a href="#val-err_class_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>err_class_string : <a href="index.html#type-err_class">err_class</a> <span class="keyword">&#8209;&gt;</span> string</code></div><div class="doc"><p>string describing an error class</p></div></div><div class="spec val" id="val-err_kind_string"><a href="#val-err_kind_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>err_kind_string : <a href="index.html#type-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> string</code></div><div class="doc"><p>string describing an error kind</p></div></div><div class="spec val" id="val-handle_exception"><a href="#val-handle_exception" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>handle_exception : exn <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>Return true if the exception is not serious and should be handled in timeout mode</p></div></div><div class="spec val" id="val-print_exception_html"><a href="#val-print_exception_html" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>print_exception_html : string <span class="keyword">&#8209;&gt;</span> exn <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"><p>print a description of the exception to the html output</p></div></div><div class="spec val" id="val-pp_err"><a href="#val-pp_err" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_err : node_key:<a href="../../InferStdlib/InferStdlib/index.html#module-IStd">InferStdlib.IStd</a>.Caml.Digest.t <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-err_kind">err_kind</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/IssueType/index.html#type-t">InferBase.IssueType.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a> option <span class="keyword">&#8209;&gt;</span> Format.formatter <span class="keyword">&#8209;&gt;</span> unit <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"><p>pretty print an error</p></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-t.name" class="anchored"><td class="def field"><a href="#type-t.name" class="anchor"></a><code>name : <a href="../../InferBase/InferBase/IssueType/index.html#type-t">InferBase.IssueType.t</a>;</code></td></tr><tr id="type-t.description" class="anchored"><td class="def field"><a href="#type-t.description" class="anchor"></a><code>description : <a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a>;</code></td></tr><tr id="type-t.ocaml_pos" class="anchored"><td class="def field"><a href="#type-t.ocaml_pos" class="anchor"></a><code>ocaml_pos : <a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">InferBase.Logging.ocaml_pos</a> option;</code></td><td class="doc"><p>(** location in the infer source code *)</p></td></tr><tr id="type-t.visibility" class="anchored"><td class="def field"><a href="#type-t.visibility" class="anchor"></a><code>visibility : <a href="index.html#type-visibility">visibility</a>;</code></td></tr><tr id="type-t.severity" class="anchored"><td class="def field"><a href="#type-t.severity" class="anchor"></a><code>severity : <a href="index.html#type-severity">severity</a>;</code></td></tr><tr id="type-t.kind" class="anchored"><td class="def field"><a href="#type-t.kind" class="anchor"></a><code>kind : <a href="index.html#type-err_kind">err_kind</a> option;</code></td></tr><tr id="type-t.category" class="anchored"><td class="def field"><a href="#type-t.category" class="anchor"></a><code>category : <a href="index.html#type-err_class">err_class</a>;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-recognize_exception"><a href="#val-recognize_exception" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>recognize_exception : exn <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div></body></html>