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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferModules__Builtin (infer.InferModules__Builtin)</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">infer</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferModules__Builtin</span></h1></header><p>Module for builtin functions with their symbolic execution handler</p><div class="spec type" id="type-args"><a href="#type-args" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>args</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-args.pdesc" class="anchored"><td class="def field"><a href="#type-args.pdesc" class="anchor"></a><code>pdesc : <a href="../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a>;</code></td></tr><tr id="type-args.instr" class="anchored"><td class="def field"><a href="#type-args.instr" class="anchor"></a><code>instr : <a href="../../InferIR/InferIR/Sil/index.html#type-instr">InferIR.Sil.instr</a>;</code></td></tr><tr id="type-args.tenv" class="anchored"><td class="def field"><a href="#type-args.tenv" class="anchor"></a><code>tenv : <a href="../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a>;</code></td></tr><tr id="type-args.prop_" class="anchored"><td class="def field"><a href="#type-args.prop_" class="anchor"></a><code>prop_ : <a href="../InferModules/Prop/index.html#type-normal">InferModules.Prop.normal</a> <a href="../InferModules/Prop/index.html#type-t">InferModules.Prop.t</a>;</code></td></tr><tr id="type-args.path" class="anchored"><td class="def field"><a href="#type-args.path" class="anchor"></a><code>path : <a href="../InferModules/Paths/Path/index.html#type-t">InferModules.Paths.Path.t</a>;</code></td></tr><tr id="type-args.ret_id_typ" class="anchored"><td class="def field"><a href="#type-args.ret_id_typ" class="anchor"></a><code>ret_id_typ : <a href="../../InferIR/InferIR/Ident/index.html#type-t">InferIR.Ident.t</a><span class="keyword"> * </span><a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>;</code></td></tr><tr id="type-args.args" class="anchored"><td class="def field"><a href="#type-args.args" class="anchor"></a><code>args : (<a href="../../InferIR/InferIR/Exp/index.html#type-t">InferIR.Exp.t</a><span class="keyword"> * </span><a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>) list;</code></td></tr><tr id="type-args.proc_name" class="anchored"><td class="def field"><a href="#type-args.proc_name" class="anchor"></a><code>proc_name : <a href="../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a>;</code></td></tr><tr id="type-args.loc" class="anchored"><td class="def field"><a href="#type-args.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-args.exe_env" class="anchored"><td class="def field"><a href="#type-args.exe_env" class="anchor"></a><code>exe_env : <a href="../InferModules/Exe_env/index.html#type-t">InferModules.Exe_env.t</a>;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-ret_typ"><a href="#type-ret_typ" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>ret_typ</code><code><span class="keyword"> = </span>(<a href="../InferModules/Prop/index.html#type-normal">InferModules.Prop.normal</a> <a href="../InferModules/Prop/index.html#type-t">InferModules.Prop.t</a><span class="keyword"> * </span><a href="../InferModules/Paths/Path/index.html#type-t">InferModules.Paths.Path.t</a>) list</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span><a href="index.html#type-args">args</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-ret_typ">ret_typ</a></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-registered"><a href="#type-registered" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>registered</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-register"><a href="#val-register" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>register : <a href="../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-registered">registered</a></code></div><div class="doc"><p>Register a builtin <code class="code">Typ.Procname.t</code> and symbolic execution handler</p></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> option</code></div><div class="doc"><p>Get the symbolic execution handler associated to the builtin function name</p></div></div><div class="spec val" id="val-print_and_exit"><a href="#val-print_and_exit" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>print_and_exit : unit <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p>Print the builtin functions and exit</p></div></div></body></html>