mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
proc.c: empty iseq names
* proc.c (proc_binding): unified the name and realpath of an empty iseq. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9006d059f4
commit
67850e8a9e
1 changed files with 4 additions and 1 deletions
5
proc.c
5
proc.c
|
@ -2844,12 +2844,15 @@ proc_binding(VALUE self)
|
|||
const struct vm_ifunc *ifunc = block->as.captured.code.ifunc;
|
||||
if (IS_METHOD_PROC_IFUNC(ifunc)) {
|
||||
VALUE method = (VALUE)ifunc->data;
|
||||
VALUE name = rb_fstring_cstr("<empty_iseq>");
|
||||
rb_iseq_t *empty;
|
||||
binding_self = method_receiver(method);
|
||||
iseq = rb_method_iseq(method);
|
||||
env = VM_ENV_ENVVAL_PTR(block->as.captured.ep);
|
||||
env = env_clone(env, method_cref(method));
|
||||
/* set empty iseq */
|
||||
RB_OBJ_WRITE(env, &env->iseq, rb_iseq_new(NULL, rb_str_new2("<empty iseq>"), rb_str_new2("<empty_iseq>"), Qnil, 0, ISEQ_TYPE_TOP));
|
||||
empty = rb_iseq_new(NULL, name, name, Qnil, 0, ISEQ_TYPE_TOP);
|
||||
RB_OBJ_WRITE(env, &env->iseq, empty);
|
||||
break;
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Reference in a new issue