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 | be82df640b1e1aaa4d6c0d7eca224fe3ffedbdfd (patch) | |
| tree | 91266a8dddfcfbaee3baa926c6c6200599201e59 /variable.c | |
| parent | ccdb25688bd9d6035bb54bfd1747ab98b86d5d84 (diff) | |
| download | ruby-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.c | 9 |
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 |
