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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Attribute (infer.InferModules.Attribute)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><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; <a href="../index.html">InferModules</a> &#x00BB; Attribute</nav><h1>Module <code>InferModules.Attribute</code></h1></header><aside><p>Attribute manipulation in Propositions (i.e., Symbolic Heaps)</p></aside><dl><dt class="spec value" id="val-is_pred"><a href="#val-is_pred" class="anchor"></a><code><span class="keyword">val</span> is_pred : <a href="../../../InferIR/InferIR/Sil/index.html#type-atom">InferIR.Sil.atom</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Check whether an atom is used to mark an attribute</p></dd></dl><dl><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val</span> add : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>&#45;&gt;</span> <span>?&#8288;footprint:bool</span> <span>&#45;&gt;</span> <span>?&#8288;polarity:bool</span> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/PredSymb/index.html#type-t">InferIR.PredSymb.t</a> <span>&#45;&gt;</span> <span><a href="../../../InferIR/InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> list</span> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span></code></dt><dd><p>Add an attribute associated to the argument expressions</p></dd></dl><dl><dt class="spec value" id="val-add_or_replace"><a href="#val-add_or_replace" class="anchor"></a><code><span class="keyword">val</span> add_or_replace : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Sil/index.html#type-atom">InferIR.Sil.atom</a> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span></code></dt><dd><p>Replace an attribute associated to the expression</p></dd></dl><dl><dt class="spec value" id="val-add_or_replace_check_changed"><a href="#val-add_or_replace_check_changed" class="anchor"></a><code><span class="keyword">val</span> add_or_replace_check_changed : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>&#45;&gt;</span> <span>(<a href="../../../InferIR/InferIR/PredSymb/index.html#type-t">InferIR.PredSymb.t</a> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/PredSymb/index.html#type-t">InferIR.PredSymb.t</a> <span>&#45;&gt;</span> unit)</span> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Sil/index.html#type-atom">InferIR.Sil.atom</a> <span>&#45;&gt;</span> <span><a href="../Prop/index.html#type-normal">Prop.normal</a> <a href="../Prop/index.html#type-t">Prop.t</a></span></code></dt><dd><p>Replace an attribute associated to the expression, and call the given function with new and old attributes if they changed.</p></dd></dl><dl><dt class="spec value" id="val-get_all"><a href="#val-get_all" class="anchor"></a><code><span class="keyword">val</span> get_all : <span><span class="type-var">'a</span> <a href="../Prop/index.html#type-t">Prop.t</a></span> <span>&#45;&gt;</span> <span><a href="../../../InferIR/InferIR/Sil/index.html#type-atom">InferIR.Sil.atom</a> list</span></code></dt