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

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

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>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pulselib__PulseBaseAddressAttributes (infer.Pulselib__PulseBaseAddressAttributes)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; Pulselib__PulseBaseAddressAttributes</nav><h1>Module <code>Pulselib__PulseBaseAddressAttributes</code></h1></header><div class="spec module" id="module-F"><a href="#module-F" class="anchor"></a><code><span class="keyword">module</span> F = Stdlib.Format</code></div><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><div><div class="spec include"><div class="doc"><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-yojson_of_t"><a href="#val-yojson_of_t" class="anchor"></a><code><span class="keyword">val</span> yojson_of_t : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> Ppx_yojson_conv_lib.Yojson.Safe.t</code></dt></dl></div></div></div><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span class="keyword">val</span> filter : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> <span>&#45;&gt;</span> bool)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-for_all"><a href="#val-for_all" class="anchor"></a><code><span class="keyword">val</span> for_all : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> <span>&#45;&gt;</span> bool)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-filter_with_discarded_addrs"><a href="#val-filter_with_discarded_addrs" class="anchor"></a><code><span class="keyword">val</span> filter_with_discarded_addrs : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> <span>&#45;&gt;</span> bool)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> * <span><a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> list</span></code></dt><dt class="spec value" id="val-find_opt"><a href="#val-find_opt" class="anchor"></a><code><span class="keyword">val</span> find_opt : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> option</span></code></dt><dt class="spec value" id="val-add_one"><a href="#val-add_one" class="anchor"></a><code><span class="keyword">val</span> add_one : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseAttribute/index.html#type-t">Pulselib.PulseBasicInterface.Attribute.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val</span> add : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-allocate"><a href="#val-allocate" class="anchor"></a><code><span class="keyword">val</span> allocate : <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> * <a href="../Pulselib/PulseValueHistory/index.html#type-t">Pulselib.PulseBasicInterface.ValueHistory.t</a>)</span> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val</span> fold : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseBasicInterface/Attributes/index.html#type-t">Pulselib.PulseBasicInterface.Attributes.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span>)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-check_valid"><a href="#val-check_valid" class="anchor"></a><code><span class="keyword">val</span> check_valid : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span>(unit, <a href="../Pulselib/PulseInvalidation/index.html#type-t">Pulselib.PulseBasicInterface.Invalidation.t</a> * <a href="../Pulselib/PulseTrace/index.html#type-t">Pulselib.PulseBasicInterface.Trace.t</a>)</span> <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.result</span></code></dt><dt class="spec value" id="val-check_initialized"><a href="#val-check_initialized" class="anchor"></a><code><span class="keyword">val</span> check_initialized : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span>(unit, unit)</span> <a href="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.result</span></code></dt><dt class="spec value" id="val-invalidate"><a href="#val-invalidate" class="anchor"></a><code><span class="keyword">val</span> invalidate : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> * <a href="../Pulselib/PulseValueHistory/index.html#type-t">Pulselib.PulseBasicInterface.ValueHistory.t</a>)</span> <span>&#45;&gt;</span> <a href="../Pulselib/PulseInvalidation/index.html#type-t">Pulselib.PulseBasicInterface.Invalidation.t</a> <span>&#45;&gt;</span> <a href="../IBase/Location/index.html#type-t">IBase.Location.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-get_closure_proc_name"><a href="#val-get_closure_proc_name" class="anchor"></a><code><span class="keyword">val</span> get_closure_proc_name : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> option</span></code></dt><dt class="spec value" id="val-get_invalid"><a href="#val-get_invalid" class="anchor"></a><code><span class="keyword">val</span> get_invalid : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span>(<a href="../Pulselib/PulseInvalidation/index.html#type-t">Pulselib.PulseBasicInterface.Invalidation.t</a> * <a href="../Pulselib/PulseTrace/index.html#type-t">Pulselib.PulseBasicInterface.Trace.t</a>)</span> option</span></code></dt><dt class="spec value" id="val-get_must_be_valid"><a href="#val-get_must_be_valid" class="anchor"></a><code><span class="keyword">val</span> get_must_be_valid : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span>(<a href="../Pulselib/PulseTrace/index.html#type-t">Pulselib.PulseBasicInterface.Trace.t</a> * <span><a href="../Pulselib/PulseInvalidation/index.html#type-must_be_valid_reason">Pulselib.PulseBasicInterface.Invalidation.must_be_valid_reason</a> option</span>)</span> option</span></code></dt><dt class="spec value" id="val-get_must_be_valid_or_allocated_isl"><a href="#val-get_must_be_valid_or_allocated_isl" class="anchor"></a><code><span class="keyword">val</span> get_must_be_valid_or_allocated_isl : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../Pulselib/PulseTrace/index.html#type-t">Pulselib.PulseBasicInterface.Trace.t</a> option</span> * <span><a href="../Pulselib/PulseInvalidation/index.html#type-must_be_valid_reason">Pulselib.PulseBasicInterface.Invalidation.must_be_valid_reason</a> option</span></code></dt><dt class="spec value" id="val-get_must_be_initialized"><a href="#val-get_must_be_initialized" class="anchor"></a><code><span class="keyword">val</span> get_must_be_initialized : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../Pulselib/PulseTrace/index.html#type-t">Pulselib.PulseBasicInterface.Trace.t</a> option</span></code></dt><dt class="spec value" id="val-add_dynamic_type"><a href="#val-add_dynamic_type" class="anchor"></a><code><span class="keyword">val</span> add_dynamic_type : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-get_dynamic_type"><a href="#val-get_dynamic_type" class="anchor"></a><code><span class="keyword">val</span> get_dynamic_type : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <span><a href="../IR/Typ/index.html#type-t">IR.Typ.t</a> option</span></code></dt><dt class="spec value" id="val-std_vector_reserve"><a href="#val-std_vector_reserve" class="anchor"></a><code><span class="keyword">val</span> std_vector_reserve : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-is_std_vector_reserved"><a href="#val-is_std_vector_reserved" class="anchor"></a><code><span class="keyword">val</span> is_std_vector_reserved : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-mark_as_end_of_collection"><a href="#val-mark_as_end_of_collection" class="anchor"></a><code><span class="keyword">val</span> mark_as_end_of_collection : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-is_end_of_collection"><a href="#val-is_end_of_collection" class="anchor"></a><code><span class="keyword">val</span> is_end_of_collection : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <a href="index.html#module-F">F</a>.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-remove_allocation_attr"><a href="#val-remove_allocation_attr" class="anchor"></a><code><span class="keyword">val</span> remove_allocation_attr : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-remove_must_be_valid_attr"><a href="#val-remove_must_be_valid_attr" class="anchor"></a><code><span class="keyword">val</span> remove_must_be_valid_attr : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-remove_isl_abduced_attr"><a href="#val-remove_isl_abduced_attr" class="anchor"></a><code><span class="keyword">val</span> remove_isl_abduced_attr : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-initialize"><a href="#val-initialize" class="anchor"></a><code><span class="keyword">val</span> initialize : <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-canonicalize"><a href="#val-canonicalize" class="anchor"></a><code><span class="keyword">val</span> canonicalize : <span>get_var_repr:<span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> <span>&#45;&gt;</span> <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a>)</span></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>merge the attributes of all the variables that are equal according to <code>get_var_repr</code> and remove non-canonical variables in favor of their rerpresentative</p></dd></dl><dl><dt class="spec value" id="val-subst_var"><a href="#val-subst_var" class="anchor"></a><code><span class="keyword">val</span> subst_var : <span>(<a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a> * <a href="../Pulselib/PulseAbstractValue/index.html#type-t">Pulselib.PulseBasicInterface.AbstractValue.t</a>)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt></dl></div></body></html>