From 08fa9bad5bc00a8315900c7eed180a3925d8a75b Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 30 Jul 2009 07:12:56 +0000 Subject: * 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 --- variable.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'variable.c') 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 -- cgit v1.2.3