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>PulseTrace (infer.Pulselib.PulseTrace)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><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>»<ahref="../index.html">Pulselib</a>» PulseTrace</nav><h1>Module <code>Pulselib.PulseTrace</code></h1></header><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><divclass="spec module"id="module-CallEvent"><ahref="#module-CallEvent"class="anchor"></a><code><spanclass="keyword">module</span> CallEvent = <ahref="../index.html#module-PulseCallEvent">PulseCallEvent</a></code></div><divclass="spec module"id="module-Invalidation"><ahref="#module-Invalidation"class="anchor"></a><code><spanclass="keyword">module</span> Invalidation = <ahref="../index.html#module-PulseInvalidation">PulseInvalidation</a></code></div><divclass="spec module"id="module-ValueHistory"><ahref="#module-ValueHistory"class="anchor"></a><code><spanclass="keyword">module</span> ValueHistory = <ahref="../index.html#module-PulseValueHistory">PulseValueHistory</a></code></div><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = </code><tableclass="variant"><trid="type-t.Immediate"class="anchored"><tdclass="def constructor"><ahref="#type-t.Immediate"class="anchor"></a><code>| </code><code><spanclass="constructor">Immediate</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-t.location"class="anchored"><tdclass="def field"><ahref="#type-t.location"class="anchor"></a><code>location : <ahref="../../IBase/Location/index.html#type-t">IBase.Location.t</a>;</code></td></tr><trid="type-t.history"class="anchored"><tdclass="def field"><ahref="#type-t.history"class="anchor"></a><code>history : <ahref="../PulseValueHistory/index.html#type-t">ValueHistory.t</a>;</code></td></tr></table><code>}</code></td></tr><trid="type-t.ViaCall"class="anchored"><tdclass="def constructor"><ahref="#type-t.ViaCall"class="anchor"></a><code>| </code><code><spanclass="constructor">ViaCall</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-t.f"class="anchored"><tdclass="def field"><ahref="#type-t.f"class="anchor"></a><code>f : <ahref="../PulseCallEvent/index.html#type-t">CallEvent.t</a>;</code></td></tr><trid="type-t.location"class="anchored"><tdclass="def field"><ahref="#type-t.location"class="anchor"></a><code>location : <ahref="../../IBase/Location/index.html#type-t">IBase.Location.t</a>;</code></td><tdclass="doc"><p>location of the call event</p></td></tr><trid="type-t.history"class="anchored"><tdclass="def field"><ahref="#type-t.history"class="anchor"></a><code>history : <ahref="../PulseValueHistory/index.html#type-t">ValueHistory.t</a>;</code></td><tdclass="doc"><p>the call involves a value with this prior history</p></td></tr><trid="type-t.in_call"class="anchored"><tdclass="def field"><ahref="#type-t.in_call"class="anchor"></a><code>in_call : <ahref="index.html#type-t">t</a>;</code></td><tdclass="doc"><p>last step of the trace is in a call to <code>f</code> made at <code>location</code></p></td></tr></table><code>}</code></td></tr></table></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare"><ahref="#val-compare"class="anchor"></a><code><spanclass="keyword">val</span> compare : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt><dtclass="spec value"id="val-equal"><ahref="#val-equal"class="anchor"></a><code><spanclass="keyword">val</span> equal : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt></dl></div></div></div><dl><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : <span>pp_immediate:<span>(<ahref="index.html#module-F">F</a>.formatter <span>-></span> unit)</span></span><span>-></span><ahref="index.html#module-F">F</a>.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt><dtclass="spec value"id="val-get_outer_location"><ahref="#val-get_outer_location"class="anchor"></a><code><spanclass="keyword">val</span> get_outer_location : <ahref="index.html#type-t">t</a><span>-></span><ahref="../../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dd><p>skip histories and go straight to the where the action is: either the action itself or the call that leads to the action</p></dd></dl><dl><dtclass="spec value"id="val-get_start_location"><ahref="#val-get_start_location"class="anchor"></a><code><spanclass="keyword">val</span> get_start_location : <ahref="index.html#type-t">t</a><span>-></span><ahref="../../IBase/Location/index.html#type-t">IBase.Location.t</a></code></dt><dd><p>initial step in the history if not empty, or else same as <ahref="index.html#val-get_outer_location"><code>get_outer_location</code></a></p></dd></dl><dl><dtclass="spec value"id="val-add_to_errlog"><ahref="#val-add_to_errlog"class="anchor"></a><code><spanclass="keyword">val</span> add_to_errlog : <span>?⁠include_value_history:bool</span><span>-></span><span>nesting:int</span><span>-></span><span>pp_immediate:<span>(<ahref="index.html#module-F">F</a>.formatter <span>-></span> unit)</span></span><span>-></span><ahref="index.html#type-t">t</a><span>-></span><span><ahref="../../Absint/Errlog/index.html#type-loc_trace_elem">Absint.Errlog.loc_trace_elem</a> list</span><span>-></span><span><ahref="../../Absint/Errlog/index.html#type-loc_trace_elem">Absint.Errlog.loc_trace_elem</a> list</span></code></dt><dtclass="spec value"id="val-find_map"><ahref="#val-find_map"class="anchor"></a><code><spanclass="keyword">val</span> find_map : <ahref="index.html#type-t">t</a><span>-></span><span>f:<span>(<ahref="../PulseValueHistory/index.html#type-event">ValueHistory.event</a><span>-></span><span><spanclass="type-var">'a</span> option</span>)</span></span><span>-></span><span><spanclass="type-var">'a</span> option</span></code></dt><dd><p><code>find_map</code> applied to history events</p></dd></dl><dl><dtclass="spec value"id="val-get_invalidation"><ahref="#val-get_invalidation"class="anchor"></a><code><spanclass="keyword">val</span> get_invalidation : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../PulseInvalidation/index.html#type-t">Invalidation.t</a> option</span></code></dt><dd><p>return the first invalidation event of the trace, if any</p></dd></dl><dl><dtclass="spec value"id="val-has_invalidation"><ahref="#val-has_invalidation"class="anchor"></a><code><spanclass="keyword">val</span> has_invalidation : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>whether the trace contains an invalidation event</p></dd></dl><dl><dtclass="spec value"id="val-trace_up_to_key_event"><ahref="#val-trace_up_to_key_event"class="anchor"></a><code><spanclass="keyword">val</span> trace_up_to_key_event : <span>is_key_event:<span>(<ahref="../PulseValueHistory/index.html#type-event">ValueHistory.event</a><span>-></span> bool)</span></span><span>-></span><ahref="../PulseValueHistory/index.html#type-t">ValueHistory.t</a><span>-></span><span><ahref="index.html#type-t">t</a> option</span></code></dt><dd><p>turns a history containing a "key event" into a trace leading to the most recent such event</p></dd></dl></div></body></html>