aboutsummaryrefslogtreecommitdiffstats
path: root/object.c
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-26 07:57:15 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-26 07:57:15 +0000
commit65d95e0a04c0a6901364a7890e9aae3f6591554b (patch)
tree366e0950459b1f285413a3de5a3b19a5b8a4fc58 /object.c
parent487c982f147f0e619e42183d9fe0546f00c1c143 (diff)
downloadruby-65d95e0a04c0a6901364a7890e9aae3f6591554b.tar.gz
Use RB_INTEGER_TYPE_P instead of rb_obj_is_kind_of
For checking whether an object is an Integer, because a subclass of Integer is meaningless in Ruby, RB_INTEGER_TYPE_P is better than rb_obj_is_kind_of for speed. * object.c (rb_to_integer): Use RB_INTEGER_TYPE_P instead of rb_obj_is_kind_of. * object.c (rb_check_to_integer): ditto. * range.c (range_max): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r--object.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/object.c b/object.c
index f51d7d43fe..b04843eec8 100644
--- a/object.c
+++ b/object.c
@@ -3043,8 +3043,8 @@ rb_to_integer(VALUE val, const char *method)
if (FIXNUM_P(val)) return val;
if (RB_TYPE_P(val, T_BIGNUM)) return val;
v = convert_type(val, "Integer", method, TRUE);
- if (!rb_obj_is_kind_of(v, rb_cInteger)) {
- conversion_mismatch(val, "Integer", method, v);
+ if (!RB_INTEGER_TYPE_P(v)) {
+ conversion_mismatch(val, "Integer", method, v);
}
return v;
}
@@ -3067,8 +3067,8 @@ rb_check_to_integer(VALUE val, const char *method)
if (FIXNUM_P(val)) return val;
if (RB_TYPE_P(val, T_BIGNUM)) return val;
v = convert_type(val, "Integer", method, FALSE);
- if (!rb_obj_is_kind_of(v, rb_cInteger)) {
- return Qnil;
+ if (!RB_INTEGER_TYPE_P(v)) {
+ return Qnil;
}
return v;
}