class RDoc::Markup::Document

def << part

def << part
  case part
  when RDoc::Markup::Document then
    unless part.empty? then
      parts.push(*part.parts)
      parts << RDoc::Markup::BlankLine.new
    end
  when String then
    raise ArgumentError,
          "expected RDoc::Markup::Document and friends, got String" unless
      part.empty?
  else
    parts << part
  end
end

def == other # :nodoc:

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

def accept visitor

def accept visitor
  visitor.start_accepting
  @parts.each do |item|
    item.accept visitor
  end
  visitor.end_accepting
end

def empty?

def empty?
  @parts.empty?
end

def initialize *parts

def initialize *parts
  @parts = []
  @parts.push(*parts)
end

def pretty_print q # :nodoc:

:nodoc:
def pretty_print q # :nodoc:
  q.group 2, '[doc: ', ']' do
    q.seplist @parts do |part|
      q.pp part
    end
  end
end

def push *parts

def push *parts
  self.parts.push(*parts)
end