moonpool/dev/ocaml/CamlinternalOO/index.html
2023-08-28 17:11:38 +00:00

18 lines
No EOL
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CamlinternalOO (ocaml.CamlinternalOO)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">ocaml</a> &#x00BB; CamlinternalOO</nav><header class="odoc-preamble"><h1>Module <code><span>CamlinternalOO</span></code></h1><p>Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.</p></header><nav class="odoc-toc"><ul><li><a href="#classes">Classes</a></li><li><a href="#objects">Objects</a></li><li><a href="#table-cache">Table cache</a></li><li><a href="#builtins-to-reduce-code-size">Builtins to reduce code size</a></li><li><a href="#parameters">Parameters</a></li><li><a href="#statistics">Statistics</a></li></ul></nav><div class="odoc-content"><h2 id="classes"><a href="#classes" class="anchor"></a>Classes</h2><div class="odoc-spec"><div class="spec type anchored" id="type-tag"><a href="#type-tag" class="anchor"></a><code><span><span class="keyword">type</span> tag</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-label"><a href="#type-label" class="anchor"></a><code><span><span class="keyword">type</span> label</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-table"><a href="#type-table" class="anchor"></a><code><span><span class="keyword">type</span> table</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-meth"><a href="#type-meth" class="anchor"></a><code><span><span class="keyword">type</span> meth</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-obj"><a href="#type-obj" class="anchor"></a><code><span><span class="keyword">type</span> obj</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-closure"><a href="#type-closure" class="anchor"></a><code><span><span class="keyword">type</span> closure</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-public_method_label"><a href="#val-public_method_label" class="anchor"></a><code><span><span class="keyword">val</span> public_method_label : <span>string <span class="arrow">&#45;&gt;</span></span> <a href="#type-tag">tag</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_method"><a href="#val-new_method" class="anchor"></a><code><span><span class="keyword">val</span> new_method : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-label">label</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_variable"><a href="#val-new_variable" class="anchor"></a><code><span><span class="keyword">val</span> new_variable : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_methods_variables"><a href="#val-new_methods_variables" class="anchor"></a><code><span><span class="keyword">val</span> new_methods_variables :
<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="#type-label">label</a> array</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_variable"><a href="#val-get_variable" class="anchor"></a><code><span><span class="keyword">val</span> get_variable : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_variables"><a href="#val-get_variables" class="anchor"></a><code><span><span class="keyword">val</span> get_variables : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <span>int array</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_method_label"><a href="#val-get_method_label" class="anchor"></a><code><span><span class="keyword">val</span> get_method_label : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <a href="#type-label">label</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_method_labels"><a href="#val-get_method_labels" class="anchor"></a><code><span><span class="keyword">val</span> get_method_labels : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-label">label</a> array</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_method"><a href="#val-get_method" class="anchor"></a><code><span><span class="keyword">val</span> get_method : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-label">label</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-meth">meth</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_method"><a href="#val-set_method" class="anchor"></a><code><span><span class="keyword">val</span> set_method : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-label">label</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-meth">meth</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_methods"><a href="#val-set_methods" class="anchor"></a><code><span><span class="keyword">val</span> set_methods : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="#type-label">label</a> array</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-narrow"><a href="#val-narrow" class="anchor"></a><code><span><span class="keyword">val</span> narrow : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-widen"><a href="#val-widen" class="anchor"></a><code><span><span class="keyword">val</span> widen : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_initializer"><a href="#val-add_initializer" class="anchor"></a><code><span><span class="keyword">val</span> add_initializer : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dummy_table"><a href="#val-dummy_table" class="anchor"></a><code><span><span class="keyword">val</span> dummy_table : <a href="#type-table">table</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_table"><a href="#val-create_table" class="anchor"></a><code><span><span class="keyword">val</span> create_table : <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-table">table</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-init_class"><a href="#val-init_class" class="anchor"></a><code><span><span class="keyword">val</span> init_class : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-inherits"><a href="#val-inherits" class="anchor"></a><code><span><span class="keyword">val</span> inherits :
<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="#type-t">t</a> * <span>(<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a>)</span> * <a href="#type-t">t</a> * <a href="#type-obj">obj</a>)</span> <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> array</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_class"><a href="#val-make_class" class="anchor"></a><code><span><span class="keyword">val</span> make_class :
<span><span>string array</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a> * <span>(<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> * <span>(<span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> * <a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-init_table"><a href="#type-init_table" class="anchor"></a><code><span><span class="keyword">type</span> init_table</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_class_store"><a href="#val-make_class_store" class="anchor"></a><code><span><span class="keyword">val</span> make_class_store : <span><span>string array</span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-init_table">init_table</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dummy_class"><a href="#val-dummy_class" class="anchor"></a><code><span><span class="keyword">val</span> dummy_class :
<span><span>(string * int * int)</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a> * <span>(<span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> * <span>(<span><a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a>)</span> * <a href="../Stdlib/Obj/index.html#type-t">Stdlib.Obj.t</a></span></code></div></div><h2 id="objects"><a href="#objects" class="anchor"></a>Objects</h2><div class="odoc-spec"><div class="spec value anchored" id="val-copy"><a href="#val-copy" class="anchor"></a><code><span><span class="keyword">val</span> copy : <span><span>&lt; .. &gt;</span> <span class="keyword">as</span> 'a <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_object"><a href="#val-create_object" class="anchor"></a><code><span><span class="keyword">val</span> create_object : <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-obj">obj</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_object_opt"><a href="#val-create_object_opt" class="anchor"></a><code><span><span class="keyword">val</span> create_object_opt : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-obj">obj</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-run_initializers"><a href="#val-run_initializers" class="anchor"></a><code><span><span class="keyword">val</span> run_initializers : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-run_initializers_opt"><a href="#val-run_initializers_opt" class="anchor"></a><code><span><span class="keyword">val</span> run_initializers_opt : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-obj">obj</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_object_and_run_initializers"><a href="#val-create_object_and_run_initializers" class="anchor"></a><code><span><span class="keyword">val</span> create_object_and_run_initializers : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-table">table</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-obj">obj</a></span></code></div></div><div class="odoc-spec"><div class="spec value external anchored" id="val-send"><a href="#val-send" class="anchor"></a><code><span><span class="keyword">val</span> send : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-tag">tag</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value external anchored" id="val-sendcache"><a href="#val-sendcache" class="anchor"></a><code><span><span class="keyword">val</span> sendcache : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-tag">tag</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value external anchored" id="val-sendself"><a href="#val-sendself" class="anchor"></a><code><span><span class="keyword">val</span> sendself : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-label">label</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value external anchored" id="val-get_public_method"><a href="#val-get_public_method" class="anchor"></a><code><span><span class="keyword">val</span> get_public_method : <span><a href="#type-obj">obj</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-tag">tag</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-closure">closure</a></span></code></div></div><h2 id="table-cache"><a href="#table-cache" class="anchor"></a>Table cache</h2><div class="odoc-spec"><div class="spec type anchored" id="type-tables"><a href="#type-tables" class="anchor"></a><code><span><span class="keyword">type</span> tables</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lookup_tables"><a href="#val-lookup_tables" class="anchor"></a><code><span><span class="keyword">val</span> lookup_tables : <span><a href="#type-tables">tables</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="#type-closure">closure</a> array</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-tables">tables</a></span></code></div></div><h2 id="builtins-to-reduce-code-size"><a href="#builtins-to-reduce-code-size" class="anchor"></a>Builtins to reduce code size</h2><div class="odoc-spec"><div class="spec type anchored" id="type-impl"><a href="#type-impl" class="anchor"></a><code><span><span class="keyword">type</span> impl</span><span> = </span></code><ol><li id="type-impl.GetConst" class="def variant constructor anchored"><a href="#type-impl.GetConst" class="anchor"></a><code><span>| </span><span><span class="constructor">GetConst</span></span></code></li><li id="type-impl.GetVar" class="def variant constructor anchored"><a href="#type-impl.GetVar" class="anchor"></a><code><span>| </span><span><span class="constructor">GetVar</span></span></code></li><li id="type-impl.GetEnv" class="def variant constructor anchored"><a href="#type-impl.GetEnv" class="anchor"></a><code><span>| </span><span><span class="constructor">GetEnv</span></span></code></li><li id="type-impl.GetMeth" class="def variant constructor anchored"><a href="#type-impl.GetMeth" class="anchor"></a><code><span>| </span><span><span class="constructor">GetMeth</span></span></code></li><li id="type-impl.SetVar" class="def variant constructor anchored"><a href="#type-impl.SetVar" class="anchor"></a><code><span>| </span><span><span class="constructor">SetVar</span></span></code></li><li id="type-impl.AppConst" class="def variant constructor anchored"><a href="#type-impl.AppConst" class="anchor"></a><code><span>| </span><span><span class="constructor">AppConst</span></span></code></li><li id="type-impl.AppVar" class="def variant constructor anchored"><a href="#type-impl.AppVar" class="anchor"></a><code><span>| </span><span><span class="constructor">AppVar</span></span></code></li><li id="type-impl.AppEnv" class="def variant constructor anchored"><a href="#type-impl.AppEnv" class="anchor"></a><code><span>| </span><span><span class="constructor">AppEnv</span></span></code></li><li id="type-impl.AppMeth" class="def variant constructor anchored"><a href="#type-impl.AppMeth" class="anchor"></a><code><span>| </span><span><span class="constructor">AppMeth</span></span></code></li><li id="type-impl.AppConstConst" class="def variant constructor anchored"><a href="#type-impl.AppConstConst" class="anchor"></a><code><span>| </span><span><span class="constructor">AppConstConst</span></span></code></li><li id="type-impl.AppConstVar" class="def variant constructor anchored"><a href="#type-impl.AppConstVar" class="anchor"></a><code><span>| </span><span><span class="constructor">AppConstVar</span></span></code></li><li id="type-impl.AppConstEnv" class="def variant constructor anchored"><a href="#type-impl.AppConstEnv" class="anchor"></a><code><span>| </span><span><span class="constructor">AppConstEnv</span></span></code></li><li id="type-impl.AppConstMeth" class="def variant constructor anchored"><a href="#type-impl.AppConstMeth" class="anchor"></a><code><span>| </span><span><span class="constructor">AppConstMeth</span></span></code></li><li id="type-impl.AppVarConst" class="def variant constructor anchored"><a href="#type-impl.AppVarConst" class="anchor"></a><code><span>| </span><span><span class="constructor">AppVarConst</span></span></code></li><li id="type-impl.AppEnvConst" class="def variant constructor anchored"><a href="#type-impl.AppEnvConst" class="anchor"></a><code><span>| </span><span><span class="constructor">AppEnvConst</span></span></code></li><li id="type-impl.AppMethConst" class="def variant constructor anchored"><a href="#type-impl.AppMethConst" class="anchor"></a><code><span>| </span><span><span class="constructor">AppMethConst</span></span></code></li><li id="type-impl.MethAppConst" class="def variant constructor anchored"><a href="#type-impl.MethAppConst" class="anchor"></a><code><span>| </span><span><span class="constructor">MethAppConst</span></span></code></li><li id="type-impl.MethAppVar" class="def variant constructor anchored"><a href="#type-impl.MethAppVar" class="anchor"></a><code><span>| </span><span><span class="constructor">MethAppVar</span></span></code></li><li id="type-impl.MethAppEnv" class="def variant constructor anchored"><a href="#type-impl.MethAppEnv" class="anchor"></a><code><span>| </span><span><span class="constructor">MethAppEnv</span></span></code></li><li id="type-impl.MethAppMeth" class="def variant constructor anchored"><a href="#type-impl.MethAppMeth" class="anchor"></a><code><span>| </span><span><span class="constructor">MethAppMeth</span></span></code></li><li id="type-impl.SendConst" class="def variant constructor anchored"><a href="#type-impl.SendConst" class="anchor"></a><code><span>| </span><span><span class="constructor">SendConst</span></span></code></li><li id="type-impl.SendVar" class="def variant constructor anchored"><a href="#type-impl.SendVar" class="anchor"></a><code><span>| </span><span><span class="constructor">SendVar</span></span></code></li><li id="type-impl.SendEnv" class="def variant constructor anchored"><a href="#type-impl.SendEnv" class="anchor"></a><code><span>| </span><span><span class="constructor">SendEnv</span></span></code></li><li id="type-impl.SendMeth" class="def variant constructor anchored"><a href="#type-impl.SendMeth" class="anchor"></a><code><span>| </span><span><span class="constructor">SendMeth</span></span></code></li><li id="type-impl.Closure" class="def variant constructor anchored"><a href="#type-impl.Closure" class="anchor"></a><code><span>| </span><span><span class="constructor">Closure</span> <span class="keyword">of</span> <a href="#type-closure">closure</a></span></code></li></ol></div></div><h2 id="parameters"><a href="#parameters" class="anchor"></a>Parameters</h2><div class="odoc-spec"><div class="spec type anchored" id="type-params"><a href="#type-params" class="anchor"></a><code><span><span class="keyword">type</span> params</span><span> = </span><span>{</span></code><ol><li id="type-params.compact_table" class="def record field anchored"><a href="#type-params.compact_table" class="anchor"></a><code><span><span class="keyword">mutable</span> compact_table : bool;</span></code></li><li id="type-params.copy_parent" class="def record field anchored"><a href="#type-params.copy_parent" class="anchor"></a><code><span><span class="keyword">mutable</span> copy_parent : bool;</span></code></li><li id="type-params.clean_when_copying" class="def record field anchored"><a href="#type-params.clean_when_copying" class="anchor"></a><code><span><span class="keyword">mutable</span> clean_when_copying : bool;</span></code></li><li id="type-params.retry_count" class="def record field anchored"><a href="#type-params.retry_count" class="anchor"></a><code><span><span class="keyword">mutable</span> retry_count : int;</span></code></li><li id="type-params.bucket_small_size" class="def record field anchored"><a href="#type-params.bucket_small_size" class="anchor"></a><code><span><span class="keyword">mutable</span> bucket_small_size : int;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-params"><a href="#val-params" class="anchor"></a><code><span><span class="keyword">val</span> params : <a href="#type-params">params</a></span></code></div></div><h2 id="statistics"><a href="#statistics" class="anchor"></a>Statistics</h2><div class="odoc-spec"><div class="spec type anchored" id="type-stats"><a href="#type-stats" class="anchor"></a><code><span><span class="keyword">type</span> stats</span><span> = </span><span>{</span></code><ol><li id="type-stats.classes" class="def record field anchored"><a href="#type-stats.classes" class="anchor"></a><code><span>classes : int;</span></code></li><li id="type-stats.methods" class="def record field anchored"><a href="#type-stats.methods" class="anchor"></a><code><span>methods : int;</span></code></li><li id="type-stats.inst_vars" class="def record field anchored"><a href="#type-stats.inst_vars" class="anchor"></a><code><span>inst_vars : int;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-stats"><a href="#val-stats" class="anchor"></a><code><span><span class="keyword">val</span> stats : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-stats">stats</a></span></code></div></div></div></body></html>