summaryrefslogtreecommitdiff
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
commit08fa9bad5bc00a8315900c7eed180a3925d8a75b (patch)
tree91266a8dddfcfbaee3baa926c6c6200599201e59 /variable.c
parentd67e9aeae2225e0a8e1ea6e47ac5a43e975027d6 (diff)
* variable.c (Init_var_tables): initializes __classid__ ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/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 b802189f10..966a7e0df8 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