From 5a65a7258f2bbd92901531ccafcccb48a5f66f52 Mon Sep 17 00:00:00 2001 From: skandhas Date: Thu, 20 Dec 2012 21:29:35 +0800 Subject: add mrb_mod_cv_get --- src/variable.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/variable.c') diff --git a/src/variable.c b/src/variable.c index 992663408..b4e262f8d 100644 --- a/src/variable.c +++ b/src/variable.c @@ -673,6 +673,21 @@ mrb_mod_class_variables(mrb_state *mrb, mrb_value mod) return ary; } +mrb_value +mrb_mod_cv_get(mrb_state *mrb, struct RClass * c, mrb_sym sym) +{ + while (c) { + if (c->iv) { + iv_tbl *t = c->iv; + mrb_value v; + + if (iv_get(mrb, t, sym, &v)) + return v; + } + c = c->super; + } + return mrb_nil_value(); +} mrb_value mrb_vm_cv_get(mrb_state *mrb, mrb_sym sym) -- cgit v1.2.3