Flowdock
method

handle_class_module

Importance_0
v1_9_2_180 - Show latest stable - 0 notes - Class: C
handle_class_module(var_name, type, class_name, parent, in_module) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/rdoc/parser/c.rb, line 475
  def handle_class_module(var_name, type, class_name, parent, in_module)
    parent_name = @known_classes[parent] || parent

    if in_module then
      enclosure = @classes[in_module] || @@enclosure_classes[in_module]

      if enclosure.nil? and enclosure = @known_classes[in_module] then
        type = /^rb_m/ =~ in_module ? "module" : "class"
        handle_class_module in_module, type, enclosure, nil, nil
        enclosure = @classes[in_module]
      end

      unless enclosure then
        warn "Enclosing class/module '#{in_module}' for #{type} #{class_name} not known"
        return
      end
    else
      enclosure = @top_level
    end

    if type == "class" then
      full_name = if RDoc::ClassModule === enclosure then
                    enclosure.full_name + "::#{class_name}"
                  else
                    class_name
                  end

      if @content =~ %{Document-class:\s+#{full_name}\s*<\s+([:,\w]+)} then
        parent_name = $1
      end

      cm = enclosure.add_class RDoc::NormalClass, class_name, parent_name

      @stats.add_class cm
    else
      cm = enclosure.add_module RDoc::NormalModule, class_name
      @stats.add_module cm
    end

    cm.record_location enclosure.top_level

    find_class_comment cm.full_name, cm

    @classes[var_name] = cm
    @@enclosure_classes[var_name] = cm
    @known_classes[var_name] = cm.full_name
  end
Register or log in to add new notes.