Sorry --- But this code is driving me a little crazy
1) if (BUILTIN_TYPE(obj) == T_CLASS && FL_TEST(obj, FL_SINGLETON)) {
2) RBASIC(klass)->klass = klass;
3) RCLASS(klass)->super =
RBASIC(rb_class_real(RCLASS(obj)->super))->klass;
4) }
5) else {
6) VALUE metasuper = RBASIC(rb_class_real(super))->klass;
7)
8) /* metaclass of a superclass may be NULL at boot time */
9) if (metasuper) {
10) RBASIC(klass)->klass = metasuper;
11) }
12) }
Questions:
2) This says (i think) set the metaclass: klass pointer to the
current Object?
3) and set the metaclass: super pointer to the first real object in
the base classes
super inheritance tree.
and beyond that I seem to be lost!! -- Can this be explained in
plain english?
Thanks in advance. Chuck T.