mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge branch 'master' of github.com:mruby/mruby
This commit is contained in:
@@ -1050,6 +1050,9 @@ mrb_class_new(mrb_state *mrb, struct RClass *super)
|
||||
mrb_check_inheritable(mrb, super);
|
||||
}
|
||||
c = boot_defclass(mrb, super);
|
||||
if (super){
|
||||
MRB_SET_INSTANCE_TT(c, MRB_INSTANCE_TT(super));
|
||||
}
|
||||
make_metaclass(mrb, c);
|
||||
|
||||
return c;
|
||||
|
||||
@@ -514,6 +514,12 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
|
||||
mrb_free(mrb, ((struct RRange*)obj)->edges);
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_STRUCT
|
||||
case MRB_TT_STRUCT:
|
||||
mrb_free(mrb, ((struct RStruct*)obj)->ptr);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case MRB_TT_DATA:
|
||||
{
|
||||
struct RData *d = (struct RData*)obj;
|
||||
@@ -632,6 +638,15 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj)
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_STRUCT
|
||||
case MRB_TT_STRUCT:
|
||||
{
|
||||
struct RStruct *s = (struct RStruct*)obj;
|
||||
children += s->len;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user