mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
th
-> ec
for rb_raise_method_missing().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2ffa4d2394
commit
cf28dbc543
3 changed files with 11 additions and 11 deletions
|
@ -302,8 +302,8 @@ NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
|
||||||
#if 0
|
#if 0
|
||||||
NORETURN(void rb_vm_jump_tag_but_local_jump(int));
|
NORETURN(void rb_vm_jump_tag_but_local_jump(int));
|
||||||
#endif
|
#endif
|
||||||
NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
|
NORETURN(void rb_raise_method_missing(rb_execution_context_t *ec,
|
||||||
VALUE obj, int call_status));
|
int argc, const VALUE *argv, VALUE obj, int call_status));
|
||||||
|
|
||||||
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
|
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
|
||||||
rb_cref_t *rb_vm_cref(void);
|
rb_cref_t *rb_vm_cref(void);
|
||||||
|
|
16
vm_eval.c
16
vm_eval.c
|
@ -591,7 +591,7 @@ rb_call(VALUE recv, ID mid, int argc, const VALUE *argv, call_type scope)
|
||||||
return rb_call0(ec, recv, mid, argc, argv, scope, ec->cfp->self);
|
return rb_call0(ec, recv, mid, argc, argv, scope, ec->cfp->self);
|
||||||
}
|
}
|
||||||
|
|
||||||
NORETURN(static void raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
|
NORETURN(static void raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv,
|
||||||
VALUE obj, enum method_missing_reason call_status));
|
VALUE obj, enum method_missing_reason call_status));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -631,7 +631,7 @@ static VALUE
|
||||||
rb_method_missing(int argc, const VALUE *argv, VALUE obj)
|
rb_method_missing(int argc, const VALUE *argv, VALUE obj)
|
||||||
{
|
{
|
||||||
rb_thread_t *th = GET_THREAD();
|
rb_thread_t *th = GET_THREAD();
|
||||||
raise_method_missing(th, argc, argv, obj, th->method_missing_reason);
|
raise_method_missing(th->ec, argc, argv, obj, th->method_missing_reason);
|
||||||
UNREACHABLE;
|
UNREACHABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -662,7 +662,7 @@ make_no_method_exception(VALUE exc, VALUE format, VALUE obj,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv, VALUE obj,
|
raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv, VALUE obj,
|
||||||
enum method_missing_reason last_call_status)
|
enum method_missing_reason last_call_status)
|
||||||
{
|
{
|
||||||
VALUE exc = rb_eNoMethodError;
|
VALUE exc = rb_eNoMethodError;
|
||||||
|
@ -677,7 +677,7 @@ raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv, VALUE obj,
|
||||||
rb_obj_class(argv[0]));
|
rb_obj_class(argv[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
stack_check(th->ec);
|
stack_check(ec);
|
||||||
|
|
||||||
if (last_call_status & MISSING_PRIVATE) {
|
if (last_call_status & MISSING_PRIVATE) {
|
||||||
format = rb_fstring_cstr("private method `%s' called for %s%s%s");
|
format = rb_fstring_cstr("private method `%s' called for %s%s%s");
|
||||||
|
@ -715,7 +715,7 @@ method_missing(VALUE obj, ID id, int argc, const VALUE *argv, enum method_missin
|
||||||
|
|
||||||
if (id == idMethodMissing) {
|
if (id == idMethodMissing) {
|
||||||
missing:
|
missing:
|
||||||
raise_method_missing(rb_ec_thread_ptr(ec), argc, argv, obj, call_status | MISSING_MISSING);
|
raise_method_missing(ec, argc, argv, obj, call_status | MISSING_MISSING);
|
||||||
}
|
}
|
||||||
|
|
||||||
nargv = ALLOCV_N(VALUE, work, argc + 1);
|
nargv = ALLOCV_N(VALUE, work, argc + 1);
|
||||||
|
@ -735,11 +735,11 @@ method_missing(VALUE obj, ID id, int argc, const VALUE *argv, enum method_missin
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
rb_raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
|
rb_raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv,
|
||||||
VALUE obj, int call_status)
|
VALUE obj, int call_status)
|
||||||
{
|
{
|
||||||
vm_passed_block_handler_set(th->ec, VM_BLOCK_HANDLER_NONE);
|
vm_passed_block_handler_set(ec, VM_BLOCK_HANDLER_NONE);
|
||||||
raise_method_missing(th, argc, argv, obj, call_status | MISSING_MISSING);
|
raise_method_missing(ec, argc, argv, obj, call_status | MISSING_MISSING);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -2339,7 +2339,7 @@ vm_call_method_nome(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct
|
||||||
if (ci->mid == idMethodMissing) {
|
if (ci->mid == idMethodMissing) {
|
||||||
rb_control_frame_t *reg_cfp = cfp;
|
rb_control_frame_t *reg_cfp = cfp;
|
||||||
VALUE *argv = STACK_ADDR_FROM_TOP(calling->argc);
|
VALUE *argv = STACK_ADDR_FROM_TOP(calling->argc);
|
||||||
rb_raise_method_missing(rb_ec_thread_ptr(ec), calling->argc, argv, calling->recv, stat);
|
rb_raise_method_missing(ec, calling->argc, argv, calling->recv, stat);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cc->aux.method_missing_reason = stat;
|
cc->aux.method_missing_reason = stat;
|
||||||
|
|
Loading…
Add table
Reference in a new issue