Module: Marshal

Defined in:
(unknown)

Class Method Summary collapse

Class Method Details

.dump(*args) ⇒ Object



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;
}