class RDoc::Parser::Ruby

def get_class_or_module container

def get_class_or_module container
  skip_tkspace
  name_t = get_tk
  given_name = ''
  # class ::A -> A is in the top level
  case name_t
  when TkCOLON2, TkCOLON3 then # bug
    name_t = get_tk
    container = @top_level
    given_name << '::'
  end
  skip_tkspace false
  given_name << name_t.name
  while TkCOLON2 === peek_tk do
    prev_container = container
    container = container.find_module_named name_t.name
    container ||= prev_container.add_module RDoc::NormalModule, name_t.name
    container.ignore unless prev_container.document_children
    get_tk
    skip_tkspace false
    name_t = get_tk
    given_name << '::' << name_t.name
  end
  skip_tkspace false
  return [container, name_t, given_name]
end