    # File lib/yard/code_objects/base.rb, line 207
          def initialize(namespace, name, *args, &block)
            if namespace && namespace != :root &&
                !namespace.is_a?(NamespaceObject) && !namespace.is_a?(Proxy)
              raise ArgumentError, "Invalid namespace object: #{namespace}"
            end

            @files = []
            @current_file_has_comments = false
            @name = name.to_sym
            @source_type = :ruby
            @visibility = :public
            @tags = []
            @docstring = Docstring.new('', self)
            @docstring_extra = nil
            @docstring_extra_tags = nil
            @namespace = nil
            self.namespace = namespace
            yield(self) if block_given?
          end