183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
# File 'ext/internal/module/module.c', line 183
static VALUE ruby180_marshal_dump(int argc, VALUE * argv, VALUE klass)
{
VALUE class_restorer = Qnil;
if(argc >= 1 && (TYPE(argv[0]) == T_CLASS || TYPE(argv[0]) == T_MODULE))
{
class_restorer = create_class_restorer(argv[0]);
set_class_restore_state(argv[0]);
}
VALUE str = rb_funcall2(klass, rb_intern("_Internal__orig_dump"), argc, argv);
if(class_restorer != Qnil)
{
restore_class(class_restorer);
}
return str;
}
|