<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>JContext (infer.JavaFrontend.JContext)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><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">JavaFrontend</a>» JContext</nav><h1>Module <code>JavaFrontend.JContext</code></h1></header><dl><dtclass="spec type"id="type-jump_kind"><ahref="#type-jump_kind"class="anchor"></a><code><spanclass="keyword">type</span> jump_kind</code><code> = </code><tableclass="variant"><trid="type-jump_kind.Next"class="anchored"><tdclass="def constructor"><ahref="#type-jump_kind.Next"class="anchor"></a><code>| </code><code><spanclass="constructor">Next</span></code></td></tr><trid="type-jump_kind.Jump"class="anchored"><tdclass="def constructor"><ahref="#type-jump_kind.Jump"class="anchor"></a><code>| </code><code><spanclass="constructor">Jump</span><spanclass="keyword">of</span> int</code></td></tr><trid="type-jump_kind.Exit"class="anchored"><tdclass="def constructor"><ahref="#type-jump_kind.Exit"class="anchor"></a><code>| </code><code><spanclass="constructor">Exit</span></code></td></tr></table></dt><dd><p>data structure for representing whether an instruction is a goto, a return or a standard instruction.</p></dd></dl><dl><dtclass="spec module"id="module-NodeTbl"><ahref="#module-NodeTbl"class="anchor"></a><code><spanclass="keyword">module</span> NodeTbl : <ahref="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Caml.Hashtbl.S <spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="index.html#module-NodeTbl">NodeTbl</a>.key = <ahref="../../IR/Procdesc/Node/index.html#type-t">IR.Procdesc.Node.t</a></code></dt><dd><p>Hastable for storing nodes that correspond to if-instructions. These are used when adding the edges in the contrl flow graph.</p></dd></dl><dl><dtclass="spec type"id="type-icfg"><ahref="#type-icfg"class="anchor"></a><code><spanclass="keyword">type</span> icfg</code><code> = </code><code>{</code><tableclass="record"><trid="type-icfg.tenv"class="anchored"><tdclass="def field"><ahref="#type-icfg.tenv"class="anchor"></a><code>tenv : <ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a>;</code></td></tr><trid="type-icfg.cfg"class="anchored"><tdclass="def field"><ahref="#type-icfg.cfg"class="anchor"></a><code>cfg : <ahref="../../IR/Cfg/index.html#type-t">IR.Cfg.t</a>;</code></td></tr></table><code>}</code></dt><dd><p>data structure for saving the three structures tht contain the intermediate representation of a file: the type environment, the control graph and the control flow graph</p></dd></dl><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = <spanclass="keyword">private</span></code><code>{</code><tableclass="record"><trid="type-t.icfg"class="anchored"><tdclass="def field"><ahref="#type-t.icfg"class="anchor"></a><code>icfg : <ahref="index.html#type-icfg">icfg</a>;</code></td></tr><trid="type-t.procdesc"class="anchored"><tdclass="def field"><ahref="#type-t.procdesc"class="anchor"></a><code>procdesc : <ahref="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a>;</code></td></tr><trid="type-t.impl"class="anchored"><tdclass="def field"><ahref="#type-t.impl"class="anchor"></a><code>impl : Sawja_pack.JBir.t;</code></td></tr><trid="type-t.var_map"class="anchored"><tdclass="def field"><ahref="#type-t.var_map"class="anchor"></a><code><spanclass="keyword">mutable</span> var_map : <span><span>(<ahref="../../IR/Pvar/index.html#type-t">IR.Pvar.t</a> * <ahref="../../IR/Typ/index.html#type-t">IR.Typ.t</a> * <ahref="../../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> Sawja_pack.JBir.VarMap.t</span>;</code></td></tr><tr