示例#1
0
static VALUE
binding_clone(VALUE self)
{
    VALUE bindval = binding_dup(self);
    CLONESETUP(bindval, self);
    return bindval;
}
示例#2
0
static VALUE
proc_clone(VALUE self)
{
    VALUE procval = proc_dup(self);
    CLONESETUP(procval, self);
    return procval;
}
示例#3
0
static VALUE
method_clone(VALUE self)
{
    VALUE clone;
    struct METHOD *orig, *data;

    Data_Get_Struct(self, struct METHOD, orig);
    clone = Data_Make_Struct(CLASS_OF(self), struct METHOD, bm_mark, -1, data);
    CLONESETUP(clone, self);
    *data = *orig;

    return clone;
}
示例#4
0
文件: proc.c 项目: MSch/MacRuby
static VALUE
method_clone(VALUE self, SEL sel)
{
    VALUE clone;
    rb_vm_method_t *orig, *data;

    Data_Get_Struct(self, rb_vm_method_t, orig);
    clone =
	Data_Make_Struct(CLASS_OF(self), rb_vm_method_t, NULL, NULL, data);
    CLONESETUP(clone, self);
    *data = *orig;
    GC_WB(&data->recv, orig->recv);

    return clone;
}