public Method

Class.superclass

class.superclass  a_super_class or nil

Returns the superclass of class, or nil.

File.superclass     #=> IO
IO.superclass       #=> Object
Object.superclass   #=> nil

Source Code

/*
*  call-seq:
*     class.superclass -> a_super_class or nil
*  
*  Returns the superclass of <i>class</i>, or <code>nil</code>.
*     
*     File.superclass     #=> IO
*     IO.superclass       #=> Object
*     Object.superclass   #=> nil
*     
*/

static VALUE
rb_class_superclass(klass)
   VALUE klass;
{
   VALUE super = RCLASS(klass)->super;

   if (!super) {
       rb_raise(rb_eTypeError, "uninitialized class");
   }
   if (FL_TEST(klass, FL_SINGLETON)) {
       super = RBASIC(klass)->klass;
   }
   while (TYPE(super) == T_ICLASS) {
       super = RCLASS(super)->super;
   }
   if (!super) {
       return Qnil;
   }
   return super;
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.