mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
const_defined? to check superclasses; ref #2593
This commit is contained in:
+6
-10
@@ -854,16 +854,6 @@ mrb_vm_cv_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
|
||||
mrb_mod_cv_set(mrb, c, sym, v);
|
||||
}
|
||||
|
||||
MRB_API mrb_bool
|
||||
mrb_const_defined(mrb_state *mrb, mrb_value mod, mrb_sym sym)
|
||||
{
|
||||
struct RClass *m = mrb_class_ptr(mod);
|
||||
iv_tbl *t = m->iv;
|
||||
|
||||
if (!t) return FALSE;
|
||||
return iv_get(mrb, t, sym, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
mod_const_check(mrb_state *mrb, mrb_value mod)
|
||||
{
|
||||
@@ -1113,6 +1103,12 @@ retry:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MRB_API mrb_bool
|
||||
mrb_const_defined(mrb_state *mrb, mrb_value mod, mrb_sym id)
|
||||
{
|
||||
return mrb_const_defined_0(mrb, mrb_class_ptr(mod), id, TRUE, TRUE);
|
||||
}
|
||||
|
||||
MRB_API mrb_bool
|
||||
mrb_const_defined_at(mrb_state *mrb, struct RClass *klass, mrb_sym id)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user