summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 22:17:51 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 22:25:49 +0900
commitda24af34b9c46120376fdf3e42dd5c9949fecd5c (patch)
treefc1ec07883875bbd01d5505de4bb9dc25316e579 /include
parent2170fad406ecbb7a9ace6f762a376b3bdc860352 (diff)
downloadmruby-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.h3
-rw-r--r--include/mruby/variable.h1
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*);