class RDoc::NormalClass

def ancestors

def ancestors
  if String === superclass then
    super << superclass
  elsif superclass then
    ancestors = super
    ancestors << superclass
    ancestors.concat superclass.ancestors
  else
    super
  end
end

def aref_prefix # :nodoc:

:nodoc:
def aref_prefix # :nodoc:
  'class'
end

def definition

def definition
  "class #{full_name}"
end

def direct_ancestors

def direct_ancestors
  superclass ? super + [superclass] : super
end

def inspect # :nodoc:

:nodoc:
def inspect # :nodoc:
  superclass = @superclass ? " < #{@superclass}" : nil
  "<%s:0x%x class %s%s includes: %p extends: %p attributes: %p methods: %p aliases: %p>" % [
    self.class, object_id,
    full_name, superclass, @includes, @extends, @attributes, @method_list, @aliases
  ]
end

def pretty_print q # :nodoc:

:nodoc:
def pretty_print q # :nodoc:
  superclass = @superclass ? " < #{@superclass}" : nil
  q.group 2, "[class #{full_name}#{superclass} ", "]" do
    q.breakable
    q.text "includes:"
    q.breakable
    q.seplist @includes do |inc| q.pp inc end
    q.breakable
    q.text "constants:"
    q.breakable
    q.seplist @constants do |const| q.pp const end
    q.breakable
    q.text "attributes:"
    q.breakable
    q.seplist @attributes do |attr| q.pp attr end
    q.breakable
    q.text "methods:"
    q.breakable
    q.seplist @method_list do |meth| q.pp meth end
    q.breakable
    q.text "aliases:"
    q.breakable
    q.seplist @aliases do |aliaz| q.pp aliaz end
    q.breakable
    q.text "comment:"
    q.breakable
    q.pp comment
  end
end

def to_s # :nodoc:

:nodoc:
def to_s # :nodoc:
  display = "#{self.class.name} #{self.full_name}"
  if superclass
    display << ' < ' << (superclass.is_a?(String) ? superclass : superclass.full_name)
  end
  display << ' -> ' << is_alias_for.to_s if is_alias_for
  display
end