Method: YARD::Handlers::C::HandlerMethods#handle_class

Defined in:
lib/yard/handlers/c/handler_methods.rb

#handle_class(var_name, class_name, parent, in_module = nil) ⇒ Object

Since:

  • 0.8.0


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/yard/handlers/c/handler_methods.rb', line 8

def handle_class(var_name, class_name, parent, in_module = nil)
  parent = nil if parent == "0"
  namespace = in_module ? namespace_for_variable(in_module) : Registry.root
  register ClassObject.new(namespace, class_name) do |obj|
    if parent
      parent_class = namespace_for_variable(parent)
      if parent_class.is_a?(Proxy)
        obj.superclass = "::#{parent_class.path}"
        obj.superclass.type = :class
      else
        obj.superclass = parent_class
      end
    end
    namespaces[var_name] = obj
    register_file_info(obj, statement.file, statement.line)
  end
end