summaryrefslogtreecommitdiffstats
path: root/variable.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-30 07:12:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-30 07:12:56 +0000
commitbe82df640b1e1aaa4d6c0d7eca224fe3ffedbdfd (patch)
tree91266a8dddfcfbaee3baa926c6c6200599201e59 /variable.c
parentccdb25688bd9d6035bb54bfd1747ab98b86d5d84 (diff)
downloadruby-be82df640b1e1aaa4d6c0d7eca224fe3ffedbdfd.tar.gz
ruby-be82df640b1e1aaa4d6c0d7eca224fe3ffedbdfd.tar.xz
ruby-be82df640b1e1aaa4d6c0d7eca224fe3ffedbdfd.zip
* variable.c (Init_var_tables): initializes __classid__ ID.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/variable.c b/variable.c
index b802189f1..966a7e0df 100644
--- a/variable.c
+++ b/variable.c
@@ -21,7 +21,7 @@ void rb_vm_inc_const_missing_count(void);
st_table *rb_global_tbl;
st_table *rb_class_tbl;
-static ID autoload, classpath, tmp_classpath;
+static ID autoload, classpath, tmp_classpath, classid;
void
Init_var_tables(void)
@@ -31,6 +31,7 @@ Init_var_tables(void)
CONST_ID(autoload, "__autoload__");
CONST_ID(classpath, "__classpath__");
CONST_ID(tmp_classpath, "__tmp_classpath__");
+ CONST_ID(classid, "__classid__");
}
struct fc_result {
@@ -147,10 +148,6 @@ classname(VALUE klass)
if (!klass) klass = rb_cObject;
if (RCLASS_IV_TBL(klass)) {
if (!st_lookup(RCLASS_IV_TBL(klass), (st_data_t)classpath, &n)) {
- ID classid;
-
- CONST_ID(classid, "__classid__");
-
if (!st_lookup(RCLASS_IV_TBL(klass), (st_data_t)classid, &n)) {
return find_class_path(klass);
}
@@ -273,7 +270,7 @@ rb_path2class(const char *path)
void
rb_name_class(VALUE klass, ID id)
{
- rb_iv_set(klass, "__classid__", ID2SYM(id));
+ rb_ivar_set(klass, classid, ID2SYM(id));
}
VALUE