sig
val copy : (< .. > as 'a) -> 'a
type label
val new_method : string -> Oo.label
type table
and meth
and t
and obj
val new_variable : Oo.table -> string -> int
val get_variable : Oo.table -> string -> int
val get_method_label : Oo.table -> string -> Oo.label
val get_method : Oo.table -> Oo.label -> Oo.meth
val set_method : Oo.table -> Oo.label -> Oo.meth -> unit
val narrow : Oo.table -> string list -> string list -> string list -> unit
val widen : Oo.table -> unit
val add_initializer : Oo.table -> (Oo.obj -> unit) -> unit
val create_table : string list -> Oo.table
val init_class : Oo.table -> unit
val create_object : Oo.table -> Oo.obj
val run_initializers : Oo.obj -> Oo.table -> unit
val send : Oo.obj -> Oo.label -> Oo.t
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 : Oo.params
type stats = {
classes : int;
labels : int;
methods : int;
inst_vars : int;
buckets : int;
distrib : int array;
small_bucket_count : int;
small_bucket_max : int;
}
val stats : unit -> Oo.stats
val show_buckets : unit -> unit
end