Header: mruby/class.h
Overview
Class class
Function Summary collapse
- struct RClass* mrb_class(mrb_state *, mrb_value)
- void mrb_define_method_raw(mrb_state*, struct RClass*, mrb_sym, mrb_method_t)
- void mrb_alias_method(mrb_state*, struct RClass *, mrb_sym, mrb_sym)
- void mrb_remove_method(mrb_state *, struct RClass *, mrb_sym)
- mrb_method_t mrb_method_search_vm(mrb_state*, struct RClass*, mrb_sym)
- mrb_method_t mrb_method_search(mrb_state*, struct RClass*, mrb_sym)
- struct RClass* mrb_class_real(struct RClass*)
- struct RClass* mrb_class_outer(mrb_state *, struct RClass *)
- void mrb_mt_foreach(mrb_state*, struct RClass*, mrb_mt_foreach_func*, void*)
Define Summary
- #define MRUBY_CLASS_H
- #define mrb_class_ptr
- #define MRB_FL_CLASS_IS_PREPENDED
flags:
20: frozen 19: is_prepended 18: is_origin 17: is_inherited (used by method cache) 7-16: unused 6: prohibit Class#allocate 0-5: instance type - #define MRB_FL_CLASS_IS_ORIGIN
- #define MRB_CLASS_ORIGIN
- #define MRB_FL_CLASS_IS_INHERITED
- #define MRB_INSTANCE_TT_MASK
- #define MRB_SET_INSTANCE_TT
- #define MRB_INSTANCE_TT
- #define MRB_FL_UNDEF_ALLOCATE
- #define MRB_UNDEF_ALLOCATOR
- #define MRB_UNDEF_ALLOCATOR_P
- #define MRB_DEFINE_ALLOCATOR
- #define mrb_mc_clear_by_class
- #define MRB_MT_READONLY_BIT
- #define MRB_MT_FROZEN_BIT
- #define MRB_MT_FUNC
- #define MRB_MT_PUBLIC
- #define MRB_MT_PRIVATE
- #define MRB_MT_ENTRY
ROM table entry: 3rd param is MRB_ARGS_*() optionally OR'd with MRB_MT_PRIVATE.
- #define MRB_MT_ASPEC
- #define MRB_MT_REMOVED_P
"removed" tombstone: MRB_MT_FUNC flag set with NULL function pointer. This combination never occurs naturally (C functions are never NULL). Unlike undef (proc=NULL without MRB_MT_FUNC), a removed marker makes mt_get() return 0 ("not found"), blocking ROM chain walk while allowing superclass lookup.
- #define MRB_MT_INIT_ROM