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

This file contains ambiguous Unicode 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>JTrans (infer.InferModules.JTrans)</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; JTrans</nav><h1>Module <code>InferModules.JTrans</code></h1></header><dl><dt class="spec type" id="type-translation"><a href="#type-translation" class="anchor"></a><code><span class="keyword">type</span> translation</code><code> = </code><table class="variant"><tr id="type-translation.Skip" class="anchored"><td class="def constructor"><a href="#type-translation.Skip" class="anchor"></a><code>| </code><code><span class="constructor">Skip</span></code></td></tr><tr id="type-translation.Instr" class="anchored"><td class="def constructor"><a href="#type-translation.Instr" class="anchor"></a><code>| </code><code><span class="constructor">Instr</span> <span class="keyword">of</span> <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a></code></td></tr><tr id="type-translation.Prune" class="anchored"><td class="def constructor"><a href="#type-translation.Prune" class="anchor"></a><code>| </code><code><span class="constructor">Prune</span> <span class="keyword">of</span> <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a></code></td></tr><tr id="type-translation.Loop" class="anchored"><td class="def constructor"><a href="#type-translation.Loop" class="anchor"></a><code>| </code><code><span class="constructor">Loop</span> <span class="keyword">of</span> <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a></code></td></tr></table></dt><dd><p>Data structure for storing the results of the translation of an instruction.</p></dd></dl><dl><dt class="spec value" id="val-is_java_native"><a href="#val-is_java_native" class="anchor"></a><code><span class="keyword">val</span> is_java_native : <span>Javalib_pack.JCode.jcode Javalib_pack.Javalib.concrete_method</span> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-create_callee_attributes"><a href="#val-create_callee_attributes" class="anchor"></a><code><span class="keyword">val</span> create_callee_attributes : <a href="../../../InferIR/InferIR/Tenv/index.html#type-t">InferIR.Tenv.t</a> <span>&#45;&gt;</span> <a href="../JClasspath/index.html#type-program">JClasspath.program</a> <span>&#45;&gt;</span> Javalib_pack.JBasics.class_name <span>&#45;&gt;</span> Javalib_pack.JBasics.method_signature <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../../../InferIR/InferIR/ProcAttributes/index.html#type-t">InferIR.ProcAttributes.t</a> option</span></code></dt><dt class="spec value" id="val-create_am_procdesc"><a href="#val-create_am_procdesc" class="anchor"></a><code><span class="keyword">val</span> create_am_procdesc : <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a> <span>&#45;&gt;</span> <a href="../JClasspath/index.html#type-program">JClasspath.program</a> <span>&#45;&gt;</span> <a href="../JContext/index.html#type-icfg">JContext.icfg</a> <span>&#45;&gt;</span> Javalib_pack.Javalib.abstract_method <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a></code></dt><dd><p>Create the procedure description for an abstract method</p></dd></dl><dl><dt class="spec value" id="val-create_native_procdesc"><a href="#val-create_native_procdesc" class="anchor"></a><code><span class="keyword">val</span> create_native_procdesc : <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a> <span>&#45;&gt;</span> <a href="../JClasspath/index.html#type-program">JClasspath.program</a> <span>&#45;&gt;</span> <a href="../JContext/index.html#type-icfg">JContext.icfg</a> <span>&#45;&gt;</span> <span>Javalib_pack.JCode.jcode Javalib_pack.Javalib.concrete_method</span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a></code></dt><dd><p>Create the procedure description for a concrete method</p></dd></dl><dl><dt class="spec value" id="val-create_empty_procdesc"><a href="#val-create_empty_procdesc" class="anchor"></a><code><span class="keyword">val</span> create_empty_procdesc : <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a> <span>&#45;&gt;</span> <a href="../JClasspath/index.html#type-program">JClasspath.program</a> <span>&#45;&gt;</span> <a href="../Printer/LineReader/index.html#type-t">Printer.LineReader.t</a> <span>&#45;&gt;</span> <a href="../JContext/index.html#type-icfg">JContext.icfg</a> <span>&#45;&gt;</span> <span>Javalib_pack.JCode.jcode Javalib_pack.Javalib.concrete_method</span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a></code></dt><dt class="spec value" id="val-create_cm_procdesc"><a href="#val-create_cm_procdesc" class="anchor"></a><code><span class="keyword">val</span> create_cm_procdesc : <a href="../../../InferBase/InferBase/SourceFile/index.html#type-t">InferBase.SourceFile.t</a> <span>&#45;&gt;</span> <a href="../JClasspath/index.html#type-program">JClasspath.program</a> <span>&#45;&gt;</span> <a href="../Printer/LineReader/index.html#type-t">Printer.LineReader.t</a> <span>&#45;&gt;</span> <a href="../JContext/index.html#type-icfg">JContext.icfg</a> <span>&#45;&gt;</span> <span>Javalib_pack.JCode.jcode Javalib_pack.Javalib.concrete_method</span> <span>&#45;&gt;</span> <a href="../../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>&#45;&gt;</span> <span><span>(<a href="../../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * <a href="../../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> * Sawja_pack.JBir.t)</span> option</span></code></dt><dd><p><code>create_procdesc source_file program linereader icfg cm proc_name</code> creates a procedure description for the concrete method cm and adds it to cfg</p></dd></dl><dl><dt class="spec value" id="val-instruction"><a href="#val-instruction" class="anchor"></a><code><span class="keyword">val</span> instruction : <a href="../JContext/index.html#type-t">JContext.t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> Sawja_pack.JBir.instr <span>&#45;&gt;</span> <a href="index.html#type-translation">translation</a></code></dt><dd><p>translates an instruction into a statement node or prune nodes in the cfg</p></dd></dl><dl><dt class="spec exception" id="exception-Frontend_error"><a href="#exception-Frontend_error" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">Frontend_error</span> <span class="keyword">of</span> string</code></dt></dl></div></body></html>