module Internal:sig
..end
Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.
typetag =
CamlinternalOO.tag
typelabel =
CamlinternalOO.label
typetable =
CamlinternalOO.table
Internal representation of the vtable, i.e. the table of virtual methods.
typemeth =
CamlinternalOO.meth
typet =
CamlinternalOO.t
typeobj =
CamlinternalOO.obj
Internal representation of an object.
typeclosure =
CamlinternalOO.closure
Internal representation of a method.
val public_method_label : string -> tag
val new_method : table -> label
val new_variable : table -> string -> int
val new_methods_variables : table ->
string array -> string array -> label array
val get_variable : table -> string -> int
val get_variables : table -> string array -> int array
val get_method_label : table -> string -> label
val get_method_labels : table -> string array -> label array
val get_method : table -> label -> meth
val set_method : table -> label -> meth -> unit
val set_methods : table -> label array -> unit
val narrow : table -> string array -> string array -> string array -> unit
val widen : table -> unit
val add_initializer : table -> (obj -> unit) -> unit
val dummy_table : table
val create_table : string array -> table
val init_class : table -> unit
val inherits : table ->
string array ->
string array ->
string array ->
t *
(table -> obj -> Stdlib.Obj.t) *
t * obj -> bool -> Stdlib.Obj.t array
val make_class : string array ->
(table -> Stdlib.Obj.t -> t) ->
t *
(table -> Stdlib.Obj.t -> t) *
(Stdlib.Obj.t -> t) * Stdlib.Obj.t
typeinit_table =
CamlinternalOO.init_table
val make_class_store : string array ->
(table -> t) ->
init_table -> unit
val dummy_class : string * int * int ->
t *
(table -> Stdlib.Obj.t -> t) *
(Stdlib.Obj.t -> t) * Stdlib.Obj.t
val copy : (< .. > as 'a) -> 'a
val create_object : table -> obj
val create_object_opt : obj -> table -> obj
val run_initializers : obj -> table -> unit
val run_initializers_opt : obj ->
obj -> table -> obj
val create_object_and_run_initializers : obj -> table -> obj
val send : obj -> tag -> t
val sendcache : obj ->
tag -> t -> int -> t
val sendself : obj -> label -> t
val get_public_method : obj -> tag -> closure
typetables =
CamlinternalOO.tables
val lookup_tables : tables ->
closure array -> tables
typeimpl =
CamlinternalOO.impl
=
| |
GetConst |
| |
GetVar |
| |
GetEnv |
| |
GetMeth |
| |
SetVar |
| |
AppConst |
| |
AppVar |
| |
AppEnv |
| |
AppMeth |
| |
AppConstConst |
| |
AppConstVar |
| |
AppConstEnv |
| |
AppConstMeth |
| |
AppVarConst |
| |
AppEnvConst |
| |
AppMethConst |
| |
MethAppConst |
| |
MethAppVar |
| |
MethAppEnv |
| |
MethAppMeth |
| |
SendConst |
| |
SendVar |
| |
SendEnv |
| |
SendMeth |
| |
Closure of |
typeparams =
CamlinternalOO.params
= {
|
mutable compact_table : |
|
mutable copy_parent : |
|
mutable clean_when_copying : |
|
mutable retry_count : |
|
mutable bucket_small_size : |
currently disabled
val params : params
typestats =
CamlinternalOO.stats
= {
|
classes : |
|
methods : |
|
inst_vars : |
val stats : unit -> stats