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;
806 #define VISI(x) ((x)&NOEX_MASK)
807 #define VISI_CHECK(x,f) (VISI(x) == (f))
818 visi = (type == visi);
1238 #define SPECIAL_SINGLETON(x,c) do {\
1266 rb_bug(
"unknown immediate %p", (
void *)obj);
1271 klass =
RBASIC(obj)->klass;
1416 const char *
p = fmt;
1419 int f_var = 0, f_hash = 0, f_block = 0;
1420 int n_lead = 0, n_opt = 0, n_trail = 0, n_mand;
1455 rb_fatal(
"bad scan arg format: %s", fmt);
1457 n_mand = n_lead + n_trail;
1462 va_start(vargs, fmt);
1465 if (f_hash && n_mand < argc) {
1472 if (!f_var && n_mand + n_opt < argc)
1482 for (i = n_lead; i-- > 0; ) {
1483 var = va_arg(vargs,
VALUE *);
1484 if (var) *var = argv[argi];
1488 for (i = n_opt; i-- > 0; ) {
1489 var = va_arg(vargs,
VALUE *);
1490 if (argi < argc - n_trail) {
1491 if (var) *var = argv[argi];
1495 if (var) *var =
Qnil;
1500 int n_var = argc - argi - n_trail;
1502 var = va_arg(vargs,
VALUE *);
1512 for (i = n_trail; i-- > 0; ) {
1513 var = va_arg(vargs,
VALUE *);
1514 if (var) *var = argv[argi];
1519 var = va_arg(vargs,
VALUE *);
1520 if (var) *var =
hash;
1524 var = va_arg(vargs,
VALUE *);
1542 argc, n_mand, n_mand + n_opt, f_var ?
"+" :
"");
1545 argc, n_mand, f_var ?
"+" :
"");