class RDoc::RD::Inline

def self.new rdoc, reference = rdoc

def self.new rdoc, reference = rdoc
  if self === rdoc and reference.equal? rdoc then
    rdoc
  else
    super
  end
end

def == other # :nodoc:

:nodoc:
def == other # :nodoc:
  self.class === other and
    @reference == other.reference and @rdoc == other.rdoc
end

def append more

def append more
  case more
  when String then
    @reference << more
    @rdoc      << more
  when RDoc::RD::Inline then
    @reference << more.reference
    @rdoc      << more.rdoc
  else
    raise "unknown thingy #{more}"
  end
  self
end

def initialize rdoc, reference # :not-new:

:not-new:
def initialize rdoc, reference # :not-new:
  @reference = reference.equal?(rdoc) ? reference.dup : reference
  # unpack
  @reference = @reference.reference if self.class === @reference
  @rdoc      = rdoc
end

def inspect # :nodoc:

:nodoc:
def inspect # :nodoc:
  "(inline: #{self})"
end