* 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
This commit is contained in:
parent
d67e9aeae2
commit
08fa9bad5b
@ -1,4 +1,6 @@
|
|||||||
Thu Jul 30 16:10:47 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Thu Jul 30 16:12:48 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* variable.c (Init_var_tables): initializes __classid__ ID.
|
||||||
|
|
||||||
* variable.c: use st_data_t for st functions.
|
* variable.c: use st_data_t for st functions.
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ void rb_vm_inc_const_missing_count(void);
|
|||||||
|
|
||||||
st_table *rb_global_tbl;
|
st_table *rb_global_tbl;
|
||||||
st_table *rb_class_tbl;
|
st_table *rb_class_tbl;
|
||||||
static ID autoload, classpath, tmp_classpath;
|
static ID autoload, classpath, tmp_classpath, classid;
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_var_tables(void)
|
Init_var_tables(void)
|
||||||
@ -31,6 +31,7 @@ Init_var_tables(void)
|
|||||||
CONST_ID(autoload, "__autoload__");
|
CONST_ID(autoload, "__autoload__");
|
||||||
CONST_ID(classpath, "__classpath__");
|
CONST_ID(classpath, "__classpath__");
|
||||||
CONST_ID(tmp_classpath, "__tmp_classpath__");
|
CONST_ID(tmp_classpath, "__tmp_classpath__");
|
||||||
|
CONST_ID(classid, "__classid__");
|
||||||
}
|
}
|
||||||
|
|
||||||
struct fc_result {
|
struct fc_result {
|
||||||
@ -147,10 +148,6 @@ classname(VALUE klass)
|
|||||||
if (!klass) klass = rb_cObject;
|
if (!klass) klass = rb_cObject;
|
||||||
if (RCLASS_IV_TBL(klass)) {
|
if (RCLASS_IV_TBL(klass)) {
|
||||||
if (!st_lookup(RCLASS_IV_TBL(klass), (st_data_t)classpath, &n)) {
|
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)) {
|
if (!st_lookup(RCLASS_IV_TBL(klass), (st_data_t)classid, &n)) {
|
||||||
return find_class_path(klass);
|
return find_class_path(klass);
|
||||||
}
|
}
|
||||||
@ -273,7 +270,7 @@ rb_path2class(const char *path)
|
|||||||
void
|
void
|
||||||
rb_name_class(VALUE klass, ID id)
|
rb_name_class(VALUE klass, ID id)
|
||||||
{
|
{
|
||||||
rb_iv_set(klass, "__classid__", ID2SYM(id));
|
rb_ivar_set(klass, classid, ID2SYM(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
VALUE
|
VALUE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user