mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
accepts ec
as first parameter.
* vm_insnhelper.c (vm_check_match): accepts `ec` as first parameter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1ae69a2064
commit
2fb4c36c44
2 changed files with 6 additions and 6 deletions
|
@ -759,7 +759,7 @@ checkmatch
|
||||||
(VALUE target, VALUE pattern)
|
(VALUE target, VALUE pattern)
|
||||||
(VALUE result)
|
(VALUE result)
|
||||||
{
|
{
|
||||||
result = vm_check_match(target, pattern, flag);
|
result = vm_check_match(ec, target, pattern, flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1464,7 +1464,7 @@ rb_eql_opt(VALUE obj1, VALUE obj2)
|
||||||
static VALUE vm_call0(rb_execution_context_t *ec, VALUE, ID, int, const VALUE*, const rb_callable_method_entry_t *);
|
static VALUE vm_call0(rb_execution_context_t *ec, VALUE, ID, int, const VALUE*, const rb_callable_method_entry_t *);
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
check_match(VALUE pattern, VALUE target, enum vm_check_match_type type)
|
check_match(rb_execution_context_t *ec, VALUE pattern, VALUE target, enum vm_check_match_type type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case VM_CHECKMATCH_TYPE_WHEN:
|
case VM_CHECKMATCH_TYPE_WHEN:
|
||||||
|
@ -1478,7 +1478,7 @@ check_match(VALUE pattern, VALUE target, enum vm_check_match_type type)
|
||||||
const rb_callable_method_entry_t *me =
|
const rb_callable_method_entry_t *me =
|
||||||
rb_callable_method_entry_with_refinements(CLASS_OF(pattern), idEqq, NULL);
|
rb_callable_method_entry_with_refinements(CLASS_OF(pattern), idEqq, NULL);
|
||||||
if (me) {
|
if (me) {
|
||||||
return vm_call0(GET_EC(), pattern, idEqq, 1, &target, me);
|
return vm_call0(ec, pattern, idEqq, 1, &target, me);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* fallback to funcall (e.g. method_missing) */
|
/* fallback to funcall (e.g. method_missing) */
|
||||||
|
@ -2979,7 +2979,7 @@ vm_splat_array(VALUE flag, VALUE ary)
|
||||||
}
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
vm_check_match(VALUE target, VALUE pattern, rb_num_t flag)
|
vm_check_match(rb_execution_context_t *ec, VALUE target, VALUE pattern, rb_num_t flag)
|
||||||
{
|
{
|
||||||
enum vm_check_match_type type = ((int)flag) & VM_CHECKMATCH_TYPE_MASK;
|
enum vm_check_match_type type = ((int)flag) & VM_CHECKMATCH_TYPE_MASK;
|
||||||
|
|
||||||
|
@ -2989,7 +2989,7 @@ vm_check_match(VALUE target, VALUE pattern, rb_num_t flag)
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
VALUE v = RARRAY_AREF(pattern, i);
|
VALUE v = RARRAY_AREF(pattern, i);
|
||||||
VALUE c = check_match(v, target, type);
|
VALUE c = check_match(ec, v, target, type);
|
||||||
|
|
||||||
if (RTEST(c)) {
|
if (RTEST(c)) {
|
||||||
return c;
|
return c;
|
||||||
|
@ -2998,7 +2998,7 @@ vm_check_match(VALUE target, VALUE pattern, rb_num_t flag)
|
||||||
return Qfalse;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return check_match(pattern, target, type);
|
return check_match(ec, pattern, target, type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue