aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-20 08:28:33 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-20 08:28:33 +0000
commitc0dba956d1bd798d2ce614dbc8573ab10bb44990 (patch)
tree320a164936a8ff648758b32db9c1a93e9511634b
parent7f3b12f05b95745ae4766e085bf2d21298e4fa1b (diff)
downloadruby-c0dba956d1bd798d2ce614dbc8573ab10bb44990.tar.gz
id.def: predefine to_i
* defs/id.def: predefine `to_i` as well as `to_int`. * numeric.c (id_to_i): use predefined `idTo_i`. * object.c (conv_method_names): add `to_i` ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--defs/id.def1
-rw-r--r--numeric.c4
-rw-r--r--object.c1
3 files changed, 4 insertions, 2 deletions
diff --git a/defs/id.def b/defs/id.def
index 90d2e84074..42386e5f36 100644
--- a/defs/id.def
+++ b/defs/id.def
@@ -35,6 +35,7 @@ firstline, predefined = __LINE__+1, %[\
to_io
to_a
to_s
+ to_i
_ UScore
"/*NULL*/" NULL
diff --git a/numeric.c b/numeric.c
index 35aa8e93c9..34abd1d90c 100644
--- a/numeric.c
+++ b/numeric.c
@@ -109,7 +109,8 @@ static VALUE fix_uminus(VALUE num);
static VALUE fix_mul(VALUE x, VALUE y);
static VALUE int_pow(long x, unsigned long y);
-static ID id_coerce, id_to_i, id_div;
+static ID id_coerce, id_div;
+#define id_to_i idTo_i
#define id_eq idEq
#define id_cmp idCmp
@@ -3981,7 +3982,6 @@ Init_Numeric(void)
_control87(_control87(0,0),0x1FFF);
#endif
id_coerce = rb_intern("coerce");
- id_to_i = rb_intern("to_i");
id_div = rb_intern("div");
rb_eZeroDivError = rb_define_class("ZeroDivisionError", rb_eStandardError);
diff --git a/object.c b/object.c
index 4f360a7906..582e2e2121 100644
--- a/object.c
+++ b/object.c
@@ -2559,6 +2559,7 @@ static const struct conv_method_tbl {
M(io),
M(a),
M(s),
+ M(i),
#undef M
};
#define IMPLICIT_CONVERSIONS 7