class YARD::Handlers::Processor

def process(statements)

Returns:
  • (void) -

Parameters:
  • statements (Array) -- a list of statements
def process(statements)
  statements.each_with_index do |stmt, _index|
    find_handlers(stmt).each do |handler|
      begin
        handler.new(self, stmt).process
      rescue HandlerAborted
        log.debug "#{handler} cancelled from #{caller.last}"
        log.debug "\tin file '#{file}':#{stmt.line}:\n\n" + stmt.show + "\n"
      rescue NamespaceMissingError => missingerr
        log.warn "The #{missingerr.object.type} #{missingerr.object.path} has not yet been recognized.\n" \
                 "If this class/method is part of your source tree, this will affect your documentation results.\n" \
                 "You can correct this issue by loading the source file for this object before `#{file}'\n"
      rescue Parser::UndocumentableError => undocerr
        log.warn "in #{handler}: Undocumentable #{undocerr.message}\n" \
                 "\tin file '#{file}':#{stmt.line}:\n\n" + stmt.show + "\n"
      rescue => e
        log.error "Unhandled exception in #{handler}:\n" \
                  "  in `#{file}`:#{stmt.line}:\n\n#{stmt.show}\n"
        log.backtrace(e)
      end
    end
  end
end