def add_member(node)
      # Completely ignore member if @ignore used
      return if node[:ignore]

      if node[:owner]
        if @classes[node[:owner]]
          add_to_class(@classes[node[:owner]], node)
        else
          add_orphan(node)
        end
      elsif @current_class
        node[:owner] = @current_class[:name]
        add_to_class(@current_class, node)
      else
        add_orphan(node)
      end
    end
def add_member(node)
      # Completely ignore member if @ignore used
      return if node[:ignore]

      if node[:owner]
        if @classes[node[:owner]]
          add_to_class(@classes[node[:owner]], node)
        else
          add_orphan(node)
        end
      elsif @current_class
        node[:owner] = @current_class[:name]
        add_to_class(@current_class, node)
      else
        add_orphan(node)
      end
    end
Tries to place members into classes where they belong.

 @member explicitly defines the containing class, but we can meet
 item with @member=Foo before we actually meet class Foo - in
 that case we register them as orphans.  (Later when we finally
 meet class Foo, orphans are inserted into it.)

 Items without @member belong by default to the preceding class.
 When no class precedes them - they too are orphaned.