dwww Home | Manual pages | Find package

CamlinternalOO(3o)               OCaml library              CamlinternalOO(3o)

NAME
       CamlinternalOO - Run-time support for objects and classes.

Module
       Module   CamlinternalOO

Documentation
       Module CamlinternalOO
        : sig end

       Run-time support for objects and classes.  All functions in this module
       are for system use only, not for the casual user.

   Classes
       type tag

       type label

       type table

       type meth

       type t

       type obj

       type closure

       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 -> Obj.t) * t * obj -> bool -> Obj.t array

       val make_class : string array -> (table -> Obj.t -> t) -> t * (table ->
       Obj.t -> t) * (Obj.t -> t) * Obj.t

       type init_table

       val make_class_store : string array -> (table -> t)  ->  init_table  ->
       unit

       val  dummy_class  :  string  * int * int -> t * (table -> Obj.t -> t) *
       (Obj.t -> t) * Obj.t

   Objects
       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

   Table cache
       type tables

       val lookup_tables : tables -> closure array -> tables

   Builtins to reduce code size
       type 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 closure

   Parameters
       type params = {

       mutable compact_table : bool ;

       mutable copy_parent : bool ;

       mutable clean_when_copying : bool ;

       mutable retry_count : int ;

       mutable bucket_small_size : int ;
        }

       val params : params

   Statistics
       type stats = {
        classes : int ;
        methods : int ;
        inst_vars : int ;
        }

       val stats : unit -> stats

OCamldoc                          2023-02-12                CamlinternalOO(3o)

Generated by dwww version 1.15 on Sun Jun 23 03:44:40 CEST 2024.