<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>BO__BufferOverrunField (infer.BO__BufferOverrunField)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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> » BO__BufferOverrunField</nav><h1>Module <code>BO__BufferOverrunField</code></h1><nav class="toc"><ul><li><a href="#inferbo-specific-constant-field-names">Inferbo-specific constant field names</a></li><li><a href="#field-domain-constructor">Field domain constructor</a></li></ul></nav></header><section><header><h3 id="inferbo-specific-constant-field-names"><a href="#inferbo-specific-constant-field-names" class="anchor"></a>Inferbo-specific constant field names</h3></header><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span>pp_lhs:<span>(Stdlib.Format.formatter <span>-></span> <span class="type-var">'a</span> <span>-></span> unit)</span></span> <span>-></span> <span>sep:string</span> <span>-></span> Stdlib.Format.formatter <span>-></span> <span class="type-var">'a</span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> unit</code></dt><dd><p>A parameterized pretty printer for field appended values</p></dd></dl><dl><dt class="spec value" id="val-get_type"><a href="#val-get_type" class="anchor"></a><code><span class="keyword">val</span> get_type : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span><a href="../IR/Typ/index.html#type-t">IR.Typ.t</a> option</span></code></dt><dd><p>Get type of field that is constructed in this module. This does not work in Java at the moment.</p></dd></dl><dl><dt class="spec value" id="val-c_strlen"><a href="#val-c_strlen" class="anchor"></a><code><span class="keyword">val</span> c_strlen : unit <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Field for C string's length</p></dd></dl><dl><dt class="spec value" id="val-cpp_vector_elem"><a href="#val-cpp_vector_elem" class="anchor"></a><code><span class="keyword">val</span> cpp_vector_elem : <span>vec_typ:<a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></span> <span>-></span> <span>elt_typ:<a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Field for C++ vector's elements</p></dd></dl><dl><dt class="spec value" id="val-java_collection_internal_array"><a href="#val-java_collection_internal_array" class="anchor"></a><code><span class="keyword">val</span> java_collection_internal_array : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Field for Java collection's elements</p></dd></dl><dl><dt class="spec value" id="val-java_linked_list_index"><a href="#val-java_linked_list_index" class="anchor"></a><code><span class="keyword">val</span> java_linked_list_index : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Virtual field for index of Java's linked list</p></dd></dl><dl><dt class="spec value" id="val-java_linked_list_length"><a href="#val-java_linked_list_length" class="anchor"></a><code><span class="keyword">val</span> java_linked_list_length : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Virtual field for length of Java's linked list</p></dd></dl><dl><dt class="spec value" id="val-java_linked_list_next"><a href="#val-java_linked_list_next" class="anchor"></a><code><span class="keyword">val</span> java_linked_list_next : <a href="../IR/Typ/index.html#type-t">IR.Typ.t</a> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Virtual field for next of Java's linked list</p></dd></dl><dl><dt class="spec value" id="val-java_list_files_length"><a href="#val-java_list_files_length" class="anchor"></a><code><span class="keyword">val</span> java_list_files_length : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Virtual field for length of Java's files list in a directory</p></dd></dl><dl><dt class="spec value" id="val-is_cpp_vector_elem"><a href="#val-is_cpp_vector_elem" class="anchor"></a><code><span class="keyword">val</span> is_cpp_vector_elem : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> bool</code></dt><dd><p>Check if the field is for C++ vector's elements</p></dd></dl><dl><dt class="spec value" id="val-is_java_collection_internal_array"><a href="#val-is_java_collection_internal_array" class="anchor"></a><code><span class="keyword">val</span> is_java_collection_internal_array : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> bool</code></dt><dd><p>Check if the field is for Java collection's elements</p></dd></dl><dl><dt class="spec value" id="val-objc_collection_internal_array"><a href="#val-objc_collection_internal_array" class="anchor"></a><code><span class="keyword">val</span> objc_collection_internal_array : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Field for ObjC's collection's elements</p></dd></dl><dl><dt class="spec value" id="val-objc_iterator_offset"><a href="#val-objc_iterator_offset" class="anchor"></a><code><span class="keyword">val</span> objc_iterator_offset : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a></code></dt><dd><p>Field for ObjC's nscollection's iterator offset</p></dd></dl></section><section><header><h3 id="field-domain-constructor"><a href="#field-domain-constructor" class="anchor"></a>Field domain constructor</h3></header><dl><dt class="spec type" id="type-field_typ"><a href="#type-field_typ" class="anchor"></a><code><span class="keyword">type</span> field_typ</code><code> = <span><a href="../IR/Typ/index.html#type-t">IR.Typ.t</a> option</span></code></dt><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> <span>'prim t</span></code><code> = </code><table class="variant"><tr id="type-t.Prim" class="anchored"><td class="def constructor"><a href="#type-t.Prim" class="anchor"></a><code>| </code><code><span class="constructor">Prim</span> <span class="keyword">of</span> <span class="type-var">'prim</span></code></td></tr><tr id="type-t.Field" class="anchored"><td class="def constructor"><a href="#type-t.Field" class="anchor"></a><code>| </code><code><span class="constructor">Field</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-t.prefix" class="anchored"><td class="def field"><a href="#type-t.prefix" class="anchor"></a><code>prefix : <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>;</code></td></tr><tr id="type-t.fn" class="anchored"><td class="def field"><a href="#type-t.fn" class="anchor"></a><code>fn : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a>;</code></td></tr><tr id="type-t.typ" class="anchored"><td class="def field"><a href="#type-t.typ" class="anchor"></a><code>typ : <a href="index.html#type-field_typ">field_typ</a>;</code></td></tr></table><code>}</code></td></tr><tr id="type-t.StarField" class="anchored"><td class="def constructor"><a href="#type-t.StarField" class="anchor"></a><code>| </code><code><span class="constructor">StarField</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-t.prefix" class="anchored"><td class="def field"><a href="#type-t.prefix" class="anchor"></a><code>prefix : <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>;</code></td></tr><tr id="type-t.last_field" class="anchored"><td class="def field"><a href="#type-t.last_field" class="anchor"></a><code>last_field : <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a>;</code></td></tr></table><code>}</code></td><td class="doc"><p>Represents a path starting with <code>prefix</code> and ending with the field <code>last_field</code>, the middle can be anything. Invariants:</p><ul><li>There is at most one StarField</li><li>StarField excluded, there are no duplicate fieldnames</li><li>StarField can only be followed by Deref elements</li></ul></td></tr></table></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 : <span>(<span class="type-var">'prim</span> <span>-></span> <span class="type-var">'prim</span> <span>-></span> int)</span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> int</code></dt></dl></div></div></div><dl><dt class="spec value" id="val-mk_append_field"><a href="#val-mk_append_field" class="anchor"></a><code><span class="keyword">val</span> mk_append_field : <span>prim_append_field:<span>(<span>?⁠typ:<a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span>(<span>depth:int</span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span> <span>-></span> int <span>-></span> <span class="type-var">'prim</span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span></span> <span>-></span> <span>prim_append_star_field:<span>(<span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span>(<span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span> <span>-></span> <span class="type-var">'prim</span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span></span> <span>-></span> <span>?⁠typ:<a href="../IR/Typ/index.html#type-t">IR.Typ.t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-mk_append_star_field"><a href="#val-mk_append_star_field" class="anchor"></a><code><span class="keyword">val</span> mk_append_star_field : <span>prim_append_star_field:<span>(<span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span>(<span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span> <span>-></span> <span class="type-var">'prim</span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span>)</span></span> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="../IR/Fieldname/index.html#type-t">IR.Fieldname.t</a> <span>-></span> <span><span class="type-var">'prim</span> <a href="index.html#type-t">t</a></span></code></dt></dl></section></div></body></html>