diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-08-01 22:17:51 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-08-01 22:25:49 +0900 |
| commit | da24af34b9c46120376fdf3e42dd5c9949fecd5c (patch) | |
| tree | fc1ec07883875bbd01d5505de4bb9dc25316e579 /include | |
| parent | 2170fad406ecbb7a9ace6f762a376b3bdc860352 (diff) | |
| download | mruby-da24af34b9c46120376fdf3e42dd5c9949fecd5c.tar.gz mruby-da24af34b9c46120376fdf3e42dd5c9949fecd5c.zip | |
Better class name management.
The change removes several internal instance variables used by
class name management. The variables `__classid__` and `__classpath__`
are no longer available. `__outer__` is used only for unnamed outer
classes/modules (and will be removed after they are named).
[Important note]
Along with this change we removed several public functions.
- mrb_class_outer_module()
- mrb_class_sym()
We believe no one have used those functions, but if you do, please
ask us for the workaround.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/class.h | 3 | ||||
| -rw-r--r-- | include/mruby/variable.h | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/mruby/class.h b/include/mruby/class.h index 0526386d6..0853bd7f4 100644 --- a/include/mruby/class.h +++ b/include/mruby/class.h @@ -75,12 +75,13 @@ MRB_API void mrb_define_method_raw(mrb_state*, struct RClass*, mrb_sym, struct R MRB_API void mrb_define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t func, mrb_aspec aspec); MRB_API void mrb_alias_method(mrb_state *mrb, struct RClass *c, mrb_sym a, mrb_sym b); -MRB_API struct RClass *mrb_class_outer_module(mrb_state*, struct RClass *); MRB_API struct RProc *mrb_method_search_vm(mrb_state*, struct RClass**, mrb_sym); MRB_API struct RProc *mrb_method_search(mrb_state*, struct RClass*, mrb_sym); MRB_API struct RClass* mrb_class_real(struct RClass* cl); +void mrb_class_name_class(mrb_state*, struct RClass*, struct RClass*, mrb_sym); +mrb_value mrb_class_find_path(mrb_state*, struct RClass*); void mrb_gc_mark_mt(mrb_state*, struct RClass*); size_t mrb_gc_mark_mt_size(mrb_state*, struct RClass*); void mrb_gc_free_mt(mrb_state*, struct RClass*); diff --git a/include/mruby/variable.h b/include/mruby/variable.h index 2f2bbbf98..addd5f703 100644 --- a/include/mruby/variable.h +++ b/include/mruby/variable.h @@ -126,7 +126,6 @@ mrb_value mrb_obj_instance_variables(mrb_state*, mrb_value); mrb_value mrb_mod_class_variables(mrb_state*, mrb_value); mrb_value mrb_mod_cv_get(mrb_state *mrb, struct RClass * c, mrb_sym sym); mrb_bool mrb_mod_cv_defined(mrb_state *mrb, struct RClass * c, mrb_sym sym); -mrb_sym mrb_class_sym(mrb_state *mrb, struct RClass *c, struct RClass *outer); /* GC functions */ void mrb_gc_mark_gv(mrb_state*); |
