mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-17 08:06:43 -05:00
5 lines
No EOL
25 KiB
HTML
5 lines
No EOL
25 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Class (ocaml.Odoc_info.Class)</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> » <a href="../index.html">Odoc_info</a> » Class</nav><header class="odoc-preamble"><h1>Module <code><span>Odoc_info.Class</span></code></h1><p>Representation and manipulation of classes and class types.</p></header><nav class="odoc-toc"><ul><li><a href="#types">Types</a></li><li><a href="#functions">Functions</a></li></ul></nav><div class="odoc-content"><h2 id="types"><a href="#types" class="anchor"></a>Types</h2><div class="odoc-spec"><div class="spec type anchored" id="type-class_element"><a href="#type-class_element" class="anchor"></a><code><span><span class="keyword">type</span> class_element</span><span> = <a href="../../Odoc_class/index.html#type-class_element">Odoc_class.class_element</a></span><span> = </span></code><ol><li id="type-class_element.Class_attribute" class="def variant constructor anchored"><a href="#type-class_element.Class_attribute" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_attribute</span> <span class="keyword">of</span> <a href="../Value/index.html#type-t_attribute">Value.t_attribute</a></span></code></li><li id="type-class_element.Class_method" class="def variant constructor anchored"><a href="#type-class_element.Class_method" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_method</span> <span class="keyword">of</span> <a href="../Value/index.html#type-t_method">Value.t_method</a></span></code></li><li id="type-class_element.Class_comment" class="def variant constructor anchored"><a href="#type-class_element.Class_comment" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_comment</span> <span class="keyword">of</span> <a href="../index.html#type-text">text</a></span></code></li></ol></div><div class="spec-doc"><p>To keep the order of elements in a class.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-cct"><a href="#type-cct" class="anchor"></a><code><span><span class="keyword">type</span> cct</span><span> = <a href="../../Odoc_class/index.html#type-cct">Odoc_class.cct</a></span><span> = </span></code><ol><li id="type-cct.Cl" class="def variant constructor anchored"><a href="#type-cct.Cl" class="anchor"></a><code><span>| </span><span><span class="constructor">Cl</span> <span class="keyword">of</span> <a href="#type-t_class">t_class</a></span></code></li><li id="type-cct.Cltype" class="def variant constructor anchored"><a href="#type-cct.Cltype" class="anchor"></a><code><span>| </span><span><span class="constructor">Cltype</span> <span class="keyword">of</span> <a href="#type-t_class_type">t_class_type</a> * <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Class type and type parameters.</p><span class="comment-delim">*)</span></div></li></ol></div><div class="spec-doc"><p>Used when we can reference a t_class or a t_class_type.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-inherited_class"><a href="#type-inherited_class" class="anchor"></a><code><span><span class="keyword">and</span> inherited_class</span><span> = <a href="../../Odoc_class/index.html#type-inherited_class">Odoc_class.inherited_class</a></span><span> = </span><span>{</span></code><ol><li id="type-inherited_class.ic_name" class="def record field anchored"><a href="#type-inherited_class.ic_name" class="anchor"></a><code><span>ic_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Complete name of the inherited class.</p><span class="comment-delim">*)</span></div></li><li id="type-inherited_class.ic_class" class="def record field anchored"><a href="#type-inherited_class.ic_class" class="anchor"></a><code><span><span class="keyword">mutable</span> ic_class : <span><a href="#type-cct">cct</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The associated t_class or t_class_type.</p><span class="comment-delim">*)</span></div></li><li id="type-inherited_class.ic_text" class="def record field anchored"><a href="#type-inherited_class.ic_text" class="anchor"></a><code><span>ic_text : <span><a href="../index.html#type-text">text</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The inheritance description, if any.</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_apply"><a href="#type-class_apply" class="anchor"></a><code><span><span class="keyword">and</span> class_apply</span><span> = <a href="../../Odoc_class/index.html#type-class_apply">Odoc_class.class_apply</a></span><span> = </span><span>{</span></code><ol><li id="type-class_apply.capp_name" class="def record field anchored"><a href="#type-class_apply.capp_name" class="anchor"></a><code><span>capp_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The complete name of the applied class.</p><span class="comment-delim">*)</span></div></li><li id="type-class_apply.capp_class" class="def record field anchored"><a href="#type-class_apply.capp_class" class="anchor"></a><code><span><span class="keyword">mutable</span> capp_class : <span><a href="#type-t_class">t_class</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The associated t_class if we found it.</p><span class="comment-delim">*)</span></div></li><li id="type-class_apply.capp_params" class="def record field anchored"><a href="#type-class_apply.capp_params" class="anchor"></a><code><span>capp_params : <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The type of expressions the class is applied to.</p><span class="comment-delim">*)</span></div></li><li id="type-class_apply.capp_params_code" class="def record field anchored"><a href="#type-class_apply.capp_params_code" class="anchor"></a><code><span>capp_params_code : <span>string list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The code of these expressions.</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_constr"><a href="#type-class_constr" class="anchor"></a><code><span><span class="keyword">and</span> class_constr</span><span> = <a href="../../Odoc_class/index.html#type-class_constr">Odoc_class.class_constr</a></span><span> = </span><span>{</span></code><ol><li id="type-class_constr.cco_name" class="def record field anchored"><a href="#type-class_constr.cco_name" class="anchor"></a><code><span>cco_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The complete name of the applied class.</p><span class="comment-delim">*)</span></div></li><li id="type-class_constr.cco_class" class="def record field anchored"><a href="#type-class_constr.cco_class" class="anchor"></a><code><span><span class="keyword">mutable</span> cco_class : <span><a href="#type-cct">cct</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The associated class or class type if we found it.</p><span class="comment-delim">*)</span></div></li><li id="type-class_constr.cco_type_parameters" class="def record field anchored"><a href="#type-class_constr.cco_type_parameters" class="anchor"></a><code><span>cco_type_parameters : <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The type parameters of the class, if needed.</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_kind"><a href="#type-class_kind" class="anchor"></a><code><span><span class="keyword">and</span> class_kind</span><span> = <a href="../../Odoc_class/index.html#type-class_kind">Odoc_class.class_kind</a></span><span> = </span></code><ol><li id="type-class_kind.Class_structure" class="def variant constructor anchored"><a href="#type-class_kind.Class_structure" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_structure</span> <span class="keyword">of</span> <span><a href="#type-inherited_class">inherited_class</a> list</span> * <span><a href="#type-class_element">class_element</a> list</span></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>An explicit class structure, used in implementation and interface.</p><span class="comment-delim">*)</span></div></li><li id="type-class_kind.Class_apply" class="def variant constructor anchored"><a href="#type-class_kind.Class_apply" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_apply</span> <span class="keyword">of</span> <a href="#type-class_apply">class_apply</a></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Application/alias of a class, used in implementation only.</p><span class="comment-delim">*)</span></div></li><li id="type-class_kind.Class_constr" class="def variant constructor anchored"><a href="#type-class_kind.Class_constr" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_constr</span> <span class="keyword">of</span> <a href="#type-class_constr">class_constr</a></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>A class used to give the type of the defined class, instead of a structure, used in interface only. For example, it will be used with the name <code>M1.M2....bar</code> when the class foo is defined like this : <code>class foo : int -> bar</code></p><span class="comment-delim">*)</span></div></li><li id="type-class_kind.Class_constraint" class="def variant constructor anchored"><a href="#type-class_kind.Class_constraint" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_constraint</span> <span class="keyword">of</span> <a href="#type-class_kind">class_kind</a> * <a href="#type-class_type_kind">class_type_kind</a></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>A class definition with a constraint.</p><span class="comment-delim">*)</span></div></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t_class"><a href="#type-t_class" class="anchor"></a><code><span><span class="keyword">and</span> t_class</span><span> = <a href="../../Odoc_class/index.html#type-t_class">Odoc_class.t_class</a></span><span> = </span><span>{</span></code><ol><li id="type-t_class.cl_name" class="def record field anchored"><a href="#type-t_class.cl_name" class="anchor"></a><code><span>cl_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Complete name of the class.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_info" class="def record field anchored"><a href="#type-t_class.cl_info" class="anchor"></a><code><span><span class="keyword">mutable</span> cl_info : <span><a href="../index.html#type-info">info</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Information found in the optional associated comment.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_type" class="def record field anchored"><a href="#type-t_class.cl_type" class="anchor"></a><code><span>cl_type : <a href="../../Types/index.html#type-class_type">Types.class_type</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Type of the class.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_type_parameters" class="def record field anchored"><a href="#type-t_class.cl_type_parameters" class="anchor"></a><code><span>cl_type_parameters : <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Type parameters.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_virtual" class="def record field anchored"><a href="#type-t_class.cl_virtual" class="anchor"></a><code><span>cl_virtual : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p><code>true</code> when the class is virtual.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_kind" class="def record field anchored"><a href="#type-t_class.cl_kind" class="anchor"></a><code><span><span class="keyword">mutable</span> cl_kind : <a href="#type-class_kind">class_kind</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The way the class is defined.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_parameters" class="def record field anchored"><a href="#type-t_class.cl_parameters" class="anchor"></a><code><span><span class="keyword">mutable</span> cl_parameters : <span><a href="../Parameter/index.html#type-parameter">Parameter.parameter</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The parameters of the class.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class.cl_loc" class="def record field anchored"><a href="#type-t_class.cl_loc" class="anchor"></a><code><span><span class="keyword">mutable</span> cl_loc : <a href="../index.html#type-location">location</a>;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Representation of a class.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_type_alias"><a href="#type-class_type_alias" class="anchor"></a><code><span><span class="keyword">and</span> class_type_alias</span><span> = <a href="../../Odoc_class/index.html#type-class_type_alias">Odoc_class.class_type_alias</a></span><span> = </span><span>{</span></code><ol><li id="type-class_type_alias.cta_name" class="def record field anchored"><a href="#type-class_type_alias.cta_name" class="anchor"></a><code><span>cta_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Complete name of the target class type.</p><span class="comment-delim">*)</span></div></li><li id="type-class_type_alias.cta_class" class="def record field anchored"><a href="#type-class_type_alias.cta_class" class="anchor"></a><code><span><span class="keyword">mutable</span> cta_class : <span><a href="#type-cct">cct</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The target t_class or t_class_type, if we found it.</p><span class="comment-delim">*)</span></div></li><li id="type-class_type_alias.cta_type_parameters" class="def record field anchored"><a href="#type-class_type_alias.cta_type_parameters" class="anchor"></a><code><span>cta_type_parameters : <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The type parameters. FIXME : use strings?</p><span class="comment-delim">*)</span></div></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_type_kind"><a href="#type-class_type_kind" class="anchor"></a><code><span><span class="keyword">and</span> class_type_kind</span><span> = <a href="../../Odoc_class/index.html#type-class_type_kind">Odoc_class.class_type_kind</a></span><span> = </span></code><ol><li id="type-class_type_kind.Class_signature" class="def variant constructor anchored"><a href="#type-class_type_kind.Class_signature" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_signature</span> <span class="keyword">of</span> <span><a href="#type-inherited_class">inherited_class</a> list</span> * <span><a href="#type-class_element">class_element</a> list</span></span></code></li><li id="type-class_type_kind.Class_type" class="def variant constructor anchored"><a href="#type-class_type_kind.Class_type" class="anchor"></a><code><span>| </span><span><span class="constructor">Class_type</span> <span class="keyword">of</span> <a href="#type-class_type_alias">class_type_alias</a></span></code><div class="def-doc"><span class="comment-delim">(*</span><p>A class type eventually applied to type args.</p><span class="comment-delim">*)</span></div></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t_class_type"><a href="#type-t_class_type" class="anchor"></a><code><span><span class="keyword">and</span> t_class_type</span><span> = <a href="../../Odoc_class/index.html#type-t_class_type">Odoc_class.t_class_type</a></span><span> = </span><span>{</span></code><ol><li id="type-t_class_type.clt_name" class="def record field anchored"><a href="#type-t_class_type.clt_name" class="anchor"></a><code><span>clt_name : <a href="../Name/index.html#type-t">Name.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Complete name of the type.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class_type.clt_info" class="def record field anchored"><a href="#type-t_class_type.clt_info" class="anchor"></a><code><span><span class="keyword">mutable</span> clt_info : <span><a href="../index.html#type-info">info</a> option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Information found in the optional associated comment.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class_type.clt_type" class="def record field anchored"><a href="#type-t_class_type.clt_type" class="anchor"></a><code><span>clt_type : <a href="../../Types/index.html#type-class_type">Types.class_type</a>;</span></code></li><li id="type-t_class_type.clt_type_parameters" class="def record field anchored"><a href="#type-t_class_type.clt_type_parameters" class="anchor"></a><code><span>clt_type_parameters : <span><a href="../../Types/index.html#type-type_expr">Types.type_expr</a> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Type parameters.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class_type.clt_virtual" class="def record field anchored"><a href="#type-t_class_type.clt_virtual" class="anchor"></a><code><span>clt_virtual : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p><code>true</code> if the class type is virtual</p><span class="comment-delim">*)</span></div></li><li id="type-t_class_type.clt_kind" class="def record field anchored"><a href="#type-t_class_type.clt_kind" class="anchor"></a><code><span><span class="keyword">mutable</span> clt_kind : <a href="#type-class_type_kind">class_type_kind</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>The way the class type is defined.</p><span class="comment-delim">*)</span></div></li><li id="type-t_class_type.clt_loc" class="def record field anchored"><a href="#type-t_class_type.clt_loc" class="anchor"></a><code><span><span class="keyword">mutable</span> clt_loc : <a href="../index.html#type-location">location</a>;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Representation of a class type.</p></div></div><h2 id="functions"><a href="#functions" class="anchor"></a>Functions</h2><div class="odoc-spec"><div class="spec value anchored" id="val-class_elements"><a href="#val-class_elements" class="anchor"></a><code><span><span class="keyword">val</span> class_elements : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class">t_class</a> <span class="arrow">-></span></span> <span><a href="#type-class_element">class_element</a> list</span></span></code></div><div class="spec-doc"><p>Access to the elements of a class.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_attributes"><a href="#val-class_attributes" class="anchor"></a><code><span><span class="keyword">val</span> class_attributes : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class">t_class</a> <span class="arrow">-></span></span> <span><a href="../Value/index.html#type-t_attribute">Value.t_attribute</a> list</span></span></code></div><div class="spec-doc"><p>Access to the list of class attributes.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_parameter_text_by_name"><a href="#val-class_parameter_text_by_name" class="anchor"></a><code><span><span class="keyword">val</span> class_parameter_text_by_name : <span><a href="#type-t_class">t_class</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><a href="../index.html#type-text">text</a> option</span></span></code></div><div class="spec-doc"><p>Access to the description associated to the given class parameter name.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_methods"><a href="#val-class_methods" class="anchor"></a><code><span><span class="keyword">val</span> class_methods : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class">t_class</a> <span class="arrow">-></span></span> <span><a href="../Value/index.html#type-t_method">Value.t_method</a> list</span></span></code></div><div class="spec-doc"><p>Access to the methods of a class.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_comments"><a href="#val-class_comments" class="anchor"></a><code><span><span class="keyword">val</span> class_comments : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class">t_class</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-text">text</a> list</span></span></code></div><div class="spec-doc"><p>Access to the comments of a class.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_type_elements"><a href="#val-class_type_elements" class="anchor"></a><code><span><span class="keyword">val</span> class_type_elements : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class_type">t_class_type</a> <span class="arrow">-></span></span> <span><a href="#type-class_element">class_element</a> list</span></span></code></div><div class="spec-doc"><p>Access to the elements of a class type.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_type_attributes"><a href="#val-class_type_attributes" class="anchor"></a><code><span><span class="keyword">val</span> class_type_attributes :
|
||
<span>?trans:bool <span class="arrow">-></span></span>
|
||
<span><a href="#type-t_class_type">t_class_type</a> <span class="arrow">-></span></span>
|
||
<span><a href="../Value/index.html#type-t_attribute">Value.t_attribute</a> list</span></span></code></div><div class="spec-doc"><p>Access to the list of class type attributes.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_type_parameter_text_by_name"><a href="#val-class_type_parameter_text_by_name" class="anchor"></a><code><span><span class="keyword">val</span> class_type_parameter_text_by_name : <span><a href="#type-t_class_type">t_class_type</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><a href="../index.html#type-text">text</a> option</span></span></code></div><div class="spec-doc"><p>Access to the description associated to the given class type parameter name.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_type_methods"><a href="#val-class_type_methods" class="anchor"></a><code><span><span class="keyword">val</span> class_type_methods : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class_type">t_class_type</a> <span class="arrow">-></span></span> <span><a href="../Value/index.html#type-t_method">Value.t_method</a> list</span></span></code></div><div class="spec-doc"><p>Access to the methods of a class type.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-class_type_comments"><a href="#val-class_type_comments" class="anchor"></a><code><span><span class="keyword">val</span> class_type_comments : <span>?trans:bool <span class="arrow">-></span></span> <span><a href="#type-t_class_type">t_class_type</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-text">text</a> list</span></span></code></div><div class="spec-doc"><p>Access to the comments of a class type.</p></div></div></div></body></html> |