<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>SpecializeProcdesc (infer.IR.SpecializeProcdesc)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><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">IR</a>» SpecializeProcdesc</nav><h1>Module <code>IR.SpecializeProcdesc</code></h1></header><dl><dtclass="spec exception"id="exception-UnmatchedParameters"><ahref="#exception-UnmatchedParameters"class="anchor"></a><code><spanclass="keyword">exception</span></code><code><spanclass="exception">UnmatchedParameters</span></code></dt></dl><dl><dtclass="spec value"id="val-with_formals_types"><ahref="#val-with_formals_types"class="anchor"></a><code><spanclass="keyword">val</span> with_formals_types : <ahref="../Procdesc/index.html#type-t">Procdesc.t</a><span>-></span><ahref="../Procname/index.html#type-t">Procname.t</a><span>-></span><span><span>(<ahref="../Exp/index.html#type-t">Exp.t</a> * <ahref="../Typ/index.html#type-t">Typ.t</a>)</span> list</span><span>-></span><ahref="../Procdesc/index.html#type-t">Procdesc.t</a></code></dt><dd><p>Creates a copy of a procedure description and a list of type substitutions of the form (name, typ) where name is a parameter. The resulting procdesc is isomorphic but all the type of the parameters are replaced in the instructions according to the list. The virtual calls are also replaced to match the parameter types</p></dd></dl></div></body></html>