diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-30 07:12:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-30 07:12:56 +0000 |
commit | 08fa9bad5bc00a8315900c7eed180a3925d8a75b (patch) | |
tree | 91266a8dddfcfbaee3baa926c6c6200599201e59 /variable.c | |
parent | d67e9aeae2225e0a8e1ea6e47ac5a43e975027d6 (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.c | 9 |
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 |