Reuse CVAR_LOOKUP macro
This commit is contained in:
parent
94da5f7c36
commit
2d0dc376c4
Notes:
git
2023-03-12 01:08:40 +00:00
38
variable.c
38
variable.c
@ -3624,30 +3624,6 @@ cvar_overtaken(VALUE front, VALUE target, ID id)
|
||||
}
|
||||
}
|
||||
|
||||
static VALUE
|
||||
find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id)
|
||||
{
|
||||
VALUE v = Qundef;
|
||||
CVAR_ACCESSOR_SHOULD_BE_MAIN_RACTOR();
|
||||
if (cvar_lookup_at(klass, id, (&v))) {
|
||||
if (!*front) {
|
||||
*front = klass;
|
||||
}
|
||||
*target = klass;
|
||||
}
|
||||
|
||||
for (klass = cvar_front_klass(klass); klass; klass = RCLASS_SUPER(klass)) {
|
||||
if (cvar_lookup_at(klass, id, (&v))) {
|
||||
if (!*front) {
|
||||
*front = klass;
|
||||
}
|
||||
*target = klass;
|
||||
}
|
||||
}
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
#define CVAR_FOREACH_ANCESTORS(klass, v, r) \
|
||||
for (klass = cvar_front_klass(klass); klass; klass = RCLASS_SUPER(klass)) { \
|
||||
if (cvar_lookup_at(klass, id, (v))) { \
|
||||
@ -3661,6 +3637,20 @@ find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id)
|
||||
CVAR_FOREACH_ANCESTORS(klass, v, r);\
|
||||
} while(0)
|
||||
|
||||
static VALUE
|
||||
find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id)
|
||||
{
|
||||
VALUE v = Qundef;
|
||||
CVAR_LOOKUP(&v, {
|
||||
if (!*front) {
|
||||
*front = klass;
|
||||
}
|
||||
*target = klass;
|
||||
});
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
static void
|
||||
check_for_cvar_table(VALUE subclass, VALUE key)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user