mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
df9d49d088
commit
0a2f8b61d4
17 changed files with 271 additions and 82 deletions
51
variable.c
51
variable.c
|
@ -1054,8 +1054,8 @@ rb_autoload_load(id)
|
|||
|
||||
st_delete(autoload_tbl, &id, &modname);
|
||||
module = rb_str_new2(modname);
|
||||
FL_UNSET(module, FL_TAINT);
|
||||
free(modname);
|
||||
FL_UNSET(module, FL_TAINT);
|
||||
rb_f_require(Qnil, module);
|
||||
}
|
||||
|
||||
|
@ -1395,6 +1395,55 @@ rb_cvar_defined(klass, id)
|
|||
return Qfalse;
|
||||
}
|
||||
|
||||
int
|
||||
rb_cvar_defined_singleton(obj, id)
|
||||
VALUE obj;
|
||||
ID id;
|
||||
{
|
||||
switch (TYPE(obj)) {
|
||||
case T_MODULE:
|
||||
case T_CLASS:
|
||||
break;
|
||||
default:
|
||||
obj = CLASS_OF(obj);
|
||||
break;
|
||||
}
|
||||
return rb_cvar_defined(obj, id);
|
||||
}
|
||||
|
||||
void
|
||||
rb_cvar_set_singleton(obj, id, value)
|
||||
VALUE obj;
|
||||
ID id;
|
||||
VALUE value;
|
||||
{
|
||||
switch (TYPE(obj)) {
|
||||
case T_MODULE:
|
||||
case T_CLASS:
|
||||
break;
|
||||
default:
|
||||
obj = CLASS_OF(obj);
|
||||
break;
|
||||
}
|
||||
rb_cvar_set(obj, id, value);
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_cvar_get_singleton(obj, id)
|
||||
VALUE obj;
|
||||
ID id;
|
||||
{
|
||||
switch (TYPE(obj)) {
|
||||
case T_MODULE:
|
||||
case T_CLASS:
|
||||
break;
|
||||
default:
|
||||
obj = CLASS_OF(obj);
|
||||
break;
|
||||
}
|
||||
return rb_cvar_get(obj, id);
|
||||
}
|
||||
|
||||
void
|
||||
rb_cv_set(klass, name, val)
|
||||
VALUE klass;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue