    # File lib/yard/handlers/base.rb, line 355
          def push_state(opts = {}, &block)
            opts = {
              :namespace => namespace,
              :scope => :instance,
              :owner => owner || namespace,
              :visibility => nil
            }.update(opts)

            ns, vis, sc, oo = namespace, visibility, scope, owner
            self.namespace = opts[:namespace]
            self.visibility = opts[:visibility] || :public
            self.scope = opts[:scope]
            self.owner = opts[:owner]

            yield

            self.namespace = ns
            self.visibility = vis
            self.scope = sc
            self.owner = oo
          end