612 lines
6.5 KiB
HTML
612 lines
6.5 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of CamlinternalOO</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>CamlinternalOO</H1>
|
|
Section: OCaml library (3o)<BR>Updated: 2020-01-30<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
CamlinternalOO - Run-time support for objects and classes.
|
|
<A NAME="lbAC"> </A>
|
|
<H2>Module</H2>
|
|
|
|
Module CamlinternalOO
|
|
<A NAME="lbAD"> </A>
|
|
<H2>Documentation</H2>
|
|
|
|
<P>
|
|
Module
|
|
<B>CamlinternalOO</B>
|
|
|
|
<BR> :
|
|
<B>sig end</B>
|
|
|
|
<P>
|
|
<P>
|
|
Run-time support for objects and classes.
|
|
All functions in this module are for system use only, not for the
|
|
casual user.
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Classes</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type tag </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type label </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type table </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type meth </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type t </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type obj </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type closure </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val public_method_label </I>
|
|
|
|
:
|
|
<B>string -> tag</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val new_method </I>
|
|
|
|
:
|
|
<B>table -> label</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val new_variable </I>
|
|
|
|
:
|
|
<B>table -> string -> int</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val new_methods_variables </I>
|
|
|
|
:
|
|
<B>table -></B>
|
|
|
|
<B>string array -> string array -> label array</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_variable </I>
|
|
|
|
:
|
|
<B>table -> string -> int</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_variables </I>
|
|
|
|
:
|
|
<B>table -> string array -> int array</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_method_label </I>
|
|
|
|
:
|
|
<B>table -> string -> label</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_method_labels </I>
|
|
|
|
:
|
|
<B>table -> string array -> label array</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_method </I>
|
|
|
|
:
|
|
<B>table -> label -> meth</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val set_method </I>
|
|
|
|
:
|
|
<B>table -> label -> meth -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val set_methods </I>
|
|
|
|
:
|
|
<B>table -> label array -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val narrow </I>
|
|
|
|
:
|
|
<B>table -> string array -> string array -> string array -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val widen </I>
|
|
|
|
:
|
|
<B>table -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val add_initializer </I>
|
|
|
|
:
|
|
<B>table -> (obj -> unit) -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val dummy_table </I>
|
|
|
|
:
|
|
<B>table</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val create_table </I>
|
|
|
|
:
|
|
<B>string array -> table</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val init_class </I>
|
|
|
|
:
|
|
<B>table -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val inherits </I>
|
|
|
|
:
|
|
<B>table -></B>
|
|
|
|
<B>string array -></B>
|
|
|
|
<B>string array -></B>
|
|
|
|
<B>string array -></B>
|
|
|
|
<B>t *</B>
|
|
|
|
<B>(table -> obj -> Obj.t) *</B>
|
|
|
|
<B>t * obj -> bool -> Obj.t array</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val make_class </I>
|
|
|
|
:
|
|
<B>string array -></B>
|
|
|
|
<B>(table -> Obj.t -> t) -></B>
|
|
|
|
<B>t *</B>
|
|
|
|
<B>(table -> Obj.t -> t) *</B>
|
|
|
|
<B>(Obj.t -> t) * Obj.t</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type init_table </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val make_class_store </I>
|
|
|
|
:
|
|
<B>string array -></B>
|
|
|
|
<B>(table -> t) -></B>
|
|
|
|
<B>init_table -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val dummy_class </I>
|
|
|
|
:
|
|
<B>string * int * int -></B>
|
|
|
|
<B>t *</B>
|
|
|
|
<B>(table -> Obj.t -> t) *</B>
|
|
|
|
<B>(Obj.t -> t) * Obj.t</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Objects</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<P>
|
|
<I>val copy </I>
|
|
|
|
:
|
|
<B>(< .. > as 'a) -> 'a</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val create_object </I>
|
|
|
|
:
|
|
<B>table -> obj</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val create_object_opt </I>
|
|
|
|
:
|
|
<B>obj -> table -> obj</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val run_initializers </I>
|
|
|
|
:
|
|
<B>obj -> table -> unit</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val run_initializers_opt </I>
|
|
|
|
:
|
|
<B>obj -></B>
|
|
|
|
<B>obj -> table -> obj</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val create_object_and_run_initializers </I>
|
|
|
|
:
|
|
<B>obj -> table -> obj</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val send </I>
|
|
|
|
:
|
|
<B>obj -> tag -> t</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val sendcache </I>
|
|
|
|
:
|
|
<B>obj -></B>
|
|
|
|
<B>tag -> t -> int -> t</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val sendself </I>
|
|
|
|
:
|
|
<B>obj -> label -> t</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val get_public_method </I>
|
|
|
|
:
|
|
<B>obj -> tag -> closure</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Table cache</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type tables </I>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val lookup_tables </I>
|
|
|
|
:
|
|
<B>tables -></B>
|
|
|
|
<B>closure array -> tables</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Builtins to reduce code size</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type impl </I>
|
|
|
|
=
|
|
<BR> | GetConst
|
|
<BR> | GetVar
|
|
<BR> | GetEnv
|
|
<BR> | GetMeth
|
|
<BR> | SetVar
|
|
<BR> | AppConst
|
|
<BR> | AppVar
|
|
<BR> | AppEnv
|
|
<BR> | AppMeth
|
|
<BR> | AppConstConst
|
|
<BR> | AppConstVar
|
|
<BR> | AppConstEnv
|
|
<BR> | AppConstMeth
|
|
<BR> | AppVarConst
|
|
<BR> | AppEnvConst
|
|
<BR> | AppMethConst
|
|
<BR> | MethAppConst
|
|
<BR> | MethAppVar
|
|
<BR> | MethAppEnv
|
|
<BR> | MethAppMeth
|
|
<BR> | SendConst
|
|
<BR> | SendVar
|
|
<BR> | SendEnv
|
|
<BR> | SendMeth
|
|
<BR> | Closure
|
|
<B>of </B>
|
|
|
|
<B>closure</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAI"> </A>
|
|
<H3>Parameters</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type params </I>
|
|
|
|
= {
|
|
<P>
|
|
<B>mutable </B>
|
|
|
|
compact_table :
|
|
<B>bool</B>
|
|
|
|
;
|
|
<P>
|
|
<B>mutable </B>
|
|
|
|
copy_parent :
|
|
<B>bool</B>
|
|
|
|
;
|
|
<P>
|
|
<B>mutable </B>
|
|
|
|
clean_when_copying :
|
|
<B>bool</B>
|
|
|
|
;
|
|
<P>
|
|
<B>mutable </B>
|
|
|
|
retry_count :
|
|
<B>int</B>
|
|
|
|
;
|
|
<P>
|
|
<B>mutable </B>
|
|
|
|
bucket_small_size :
|
|
<B>int</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val params </I>
|
|
|
|
:
|
|
<B>params</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAJ"> </A>
|
|
<H3>Statistics</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type stats </I>
|
|
|
|
= {
|
|
<BR> classes :
|
|
<B>int</B>
|
|
|
|
;
|
|
<BR> methods :
|
|
<B>int</B>
|
|
|
|
;
|
|
<BR> inst_vars :
|
|
<B>int</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>val stats </I>
|
|
|
|
:
|
|
<B>unit -> stats</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="1"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="2"><A HREF="#lbAC">Module</A><DD>
|
|
<DT id="3"><A HREF="#lbAD">Documentation</A><DD>
|
|
<DL>
|
|
<DT id="4"><A HREF="#lbAE">Classes</A><DD>
|
|
<DT id="5"><A HREF="#lbAF">Objects</A><DD>
|
|
<DT id="6"><A HREF="#lbAG">Table cache</A><DD>
|
|
<DT id="7"><A HREF="#lbAH">Builtins to reduce code size</A><DD>
|
|
<DT id="8"><A HREF="#lbAI">Parameters</A><DD>
|
|
<DT id="9"><A HREF="#lbAJ">Statistics</A><DD>
|
|
</DL>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:37 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|