278 #define METACLASS_OF(k) RBASIC(k)->klass
285 #define META_CLASS_OF_CLASS_CLASS_P(k) (METACLASS_OF(k) == (k))
295 #define ENSURE_EIGENCLASS(klass) \
296 (rb_ivar_get(METACLASS_OF(klass), id_attached) == (klass) ? METACLASS_OF(klass) : make_metaclass(klass))
447 return rb_funcall(super, inherited, 1, klass);
485 rb_warn(
"no super class for `%s', Object assumed", name);
552 rb_warn(
"no super class for `%s::%s', Object assumed",
637 module =
RBASIC(module)->klass;
653 RBASIC(klass)->klass = module;
679 int superclass_seen =
FALSE;
688 if (!superclass_seen) {
695 superclass_seen =
TRUE;
808 #define VISI(x) ((x)&NOEX_MASK)
809 #define VISI_CHECK(x,f) (VISI(x) == (f))
820 visi = (type == visi);
1240 #define SPECIAL_SINGLETON(x,c) do {\
1268 rb_bug(
"unknown immediate %p", (
void *)obj);
1273 klass =
RBASIC(obj)->klass;
1418 const char *
p = fmt;
1421 int f_var = 0, f_hash = 0, f_block = 0;
1422 int n_lead = 0, n_opt = 0, n_trail = 0, n_mand;
1457 rb_fatal(
"bad scan arg format: %s", fmt);
1459 n_mand = n_lead + n_trail;
1464 va_start(vargs, fmt);
1467 if (f_hash && n_mand < argc) {
1474 if (!f_var && n_mand + n_opt < argc)
1484 for (i = n_lead; i-- > 0; ) {
1485 var = va_arg(vargs,
VALUE *);
1486 if (var) *var = argv[argi];
1490 for (i = n_opt; i-- > 0; ) {
1491 var = va_arg(vargs,
VALUE *);
1492 if (argi < argc - n_trail) {
1493 if (var) *var = argv[argi];
1497 if (var) *var =
Qnil;
1502 int n_var = argc - argi - n_trail;
1504 var = va_arg(vargs,
VALUE *);
1514 for (i = n_trail; i-- > 0; ) {
1515 var = va_arg(vargs,
VALUE *);
1516 if (var) *var = argv[argi];
1521 var = va_arg(vargs,
VALUE *);
1522 if (var) *var =
hash;
1526 var = va_arg(vargs,
VALUE *);
1544 argc, n_mand, n_mand + n_opt, f_var ?
"+" :
"");
1547 argc, n_mand, f_var ?
"+" :
"");