class RuboCop::ProcessedSource

def parse(source, ruby_version)

def parse(source, ruby_version)
  buffer_name = @path || STRING_SOURCE_NAME
  @buffer = Parser::Source::Buffer.new(buffer_name, 1)
  begin
    @buffer.source = source
  rescue EncodingError => error
    @parser_error = error
    return
  end
  parser = create_parser(ruby_version)
  begin
    @ast, @comments, tokens = parser.tokenize(@buffer)
    @ast.complete! if @ast
  rescue Parser::SyntaxError # rubocop:disable Lint/HandleExceptions
    # All errors are in diagnostics. No need to handle exception.
  end
  @tokens = tokens.map { |t| Token.from_parser_token(t) } if tokens
end