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.

5 lines
18 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferIR__Errlog (InferIR.InferIR__Errlog)</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__Errlog</span></h1></header><p>Module for error logs.</p><div class="spec type" id="type-node_tag"><a href="#type-node_tag" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>node_tag</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-node_tag.Condition" class="anchored"><td class="def constructor"><a href="#type-node_tag.Condition" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Condition</span><span class="keyword"> of </span>bool</code></td></tr><tr id="type-node_tag.Exception" class="anchored"><td class="def constructor"><a href="#type-node_tag.Exception" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Exception</span><span class="keyword"> of </span><a href="../InferIR/Typ/index.html#type-name">InferIR.Typ.name</a></code></td></tr><tr id="type-node_tag.Procedure_start" class="anchored"><td class="def constructor"><a href="#type-node_tag.Procedure_start" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Procedure_start</span><span class="keyword"> of </span><a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a></code></td></tr><tr id="type-node_tag.Procedure_end" class="anchored"><td class="def constructor"><a href="#type-node_tag.Procedure_end" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Procedure_end</span><span class="keyword"> of </span><a href="../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a></code></td></tr></table><code></code></div><div class="doc"></div></div><div class="spec type" id="type-loc_trace_elem"><a href="#type-loc_trace_elem" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>loc_trace_elem</code><code></code><code><span class="keyword"> = </span><span class="keyword">private </span></code><code>{</code><table class="record"><tr id="type-loc_trace_elem.lt_level" class="anchored"><td class="def field"><a href="#type-loc_trace_elem.lt_level" class="anchor"></a><code>lt_level : int;</code></td><td class="doc"><p>(** nesting level of procedure calls *)</p></td></tr><tr id="type-loc_trace_elem.lt_loc" class="anchored"><td class="def field"><a href="#type-loc_trace_elem.lt_loc" class="anchor"></a><code>lt_loc : <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a>;</code></td><td class="doc"><p>(** source location at the current step in the trace *)</p></td></tr><tr id="type-loc_trace_elem.lt_description" class="anchored"><td class="def field"><a href="#type-loc_trace_elem.lt_description" class="anchor"></a><code>lt_description : string;</code></td><td class="doc"><p>(** description of the current step in the trace *)</p></td></tr><tr id="type-loc_trace_elem.lt_node_tags" class="anchored"><td class="def field"><a href="#type-loc_trace_elem.lt_node_tags" class="anchor"></a><code>lt_node_tags : <a href="index.html#type-node_tag">node_tag</a> list;</code></td><td class="doc"><p>(** tags describing the node at the current location *)</p></td></tr></table><code>}</code><code></code></div><div class="doc"><p>Element of a loc trace</p></div></div><div class="spec val" id="val-make_trace_element"><a href="#val-make_trace_element" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>make_trace_element : int <span class="keyword">&#8209;&gt;</span> <a href="../../InferBase/InferBase/Location
then bind them to the closest step at level 0.
This extra information adds value to the report itself, and may avoid
digging into the trace to understand the cause of the report.</p></div></div><div class="spec type" id="type-node_id_key"><a href="#type-node_id_key" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>node_id_key</code><code></code><code><span class="keyword"> = </span><span class="keyword">private </span></code><code>{</code><table class="record"><tr id="type-node_id_key.node_id" class="anchored"><td class="def field"><a href="#type-node_id_key.node_id" class="anchor"></a><code>node_id : int;</code></td></tr><tr id="type-node_id_key.node_key" class="anchored"><td class="def field"><a href="#type-node_id_key.node_key" class="anchor"></a><code>node_key : <a href="../../InferStdlib/InferStdlib/index.html#module-IStd">InferStdlib.IStd</a>.Caml.Digest.t;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-err_key"><a href="#type-err_key" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>err_key</code><code></code><code><span class="keyword"> = </span><span class="keyword">private </span></code><code>{</code><table class="record"><tr id="type-err_key.err_kind" class="anchored"><td class="def field"><a href="#type-err_key.err_kind" class="anchor"></a><code>err_kind : <a href="../InferIR/Exceptions/index.html#type-err_kind">InferIR.Exceptions.err_kind</a>;</code></td></tr><tr id="type-err_key.in_footprint" class="anchored"><td class="def field"><a href="#type-err_key.in_footprint" class="anchor"></a><code>in_footprint : bool;</code></td></tr><tr id="type-err_key.err_name" class="anchored"><td class="def field"><a href="#type-err_key.err_name" class="anchor"></a><code>err_name : <a href="../../InferBase/InferBase/IssueType/index.html#type-t">InferBase.IssueType.t</a>;</code></td></tr><tr id="type-err_key.err_desc" class="anchored"><td class="def field"><a href="#type-err_key.err_desc" class="anchor"></a><code>err_desc : <a href="../InferIR/Localise/index.html#type-error_desc">InferIR.Localise.error_desc</a>;</code></td></tr><tr id="type-err_key.severity" class="anchored"><td class="def field"><a href="#type-err_key.severity" class="anchor"></a><code>severity : string;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></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_key"><a href="#val-compare_err_key" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_err_key : <a href="index.html#type-err_key">err_key</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-err_key">err_key</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec type" id="type-err_data"><a href="#type-err_data" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>err_data</code><code></code><code><span class="keyword"> = </span><span class="keyword">private </span></code><code>{</code><table class="record"><tr id="type-err_data.node_id_key" class="anchored"><td class="def field"><a href="#type-err_data.node_id_key" class="anchor"></a><code>node_id_key : <a href="index.html#type-node_id_key">node_id_key</a>;</code></td></tr><tr id="type-err_data.session" class="anchored"><td class="def field"><a href="#type-err_data.session" class="anchor"></a><code>session : int;</code></td></tr><tr id="type-err_data.loc" class="anchored"><td class="def field"><a href="#type-err_data.loc" class="anchor"></a><code>loc : <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a>;</code></td></tr><tr id="type-err_data.loc_in_ml_source" class="anchored"><td class="def field"><a href="#type-err_data.loc_in_ml_source" class="anchor"></a><code>loc_in_ml_source : <a href="../../InferBase/InferBase/Logging/index.html#type-ocaml_pos">In