diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-04-20 13:17:56 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-04-20 13:17:56 +0900 |
| commit | d9ce44e99b9eaedfea60aada200f37b90b8174f1 (patch) | |
| tree | c2cc4188233ae65fe6e73bdbb772dc030c2dfd0d /src/class.c | |
| parent | 08451ed2008c841bd30982c66690b3be26d097f5 (diff) | |
| download | mruby-d9ce44e99b9eaedfea60aada200f37b90b8174f1.tar.gz mruby-d9ce44e99b9eaedfea60aada200f37b90b8174f1.zip | |
wrong inheritance chain from singleton class
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c index aa2485cb1..5de791c85 100644 --- a/src/class.c +++ b/src/class.c @@ -105,12 +105,7 @@ make_metaclass(mrb_state *mrb, struct RClass *c) } sc = mrb_obj_alloc(mrb, MRB_TT_SCLASS, mrb->class_class); sc->mt = 0; - if (!c->super) { - sc->super = mrb->class_class; - } - else { - sc->super = c->super->c; - } + sc->super = c->c; c->c = sc; mrb_field_write_barrier(mrb, (struct RBasic*)c, (struct RBasic*)sc); mrb_field_write_barrier(mrb, (struct RBasic*)sc, (struct RBasic*)sc->super); |
