class RuboCop::Cop::Lint::FormatParameterMismatch

def expected_fields_count(node)

def expected_fields_count(node)
  return :unknown unless string_type?(node)
  format_string = RuboCop::Cop::Utils::FormatString.new(node.source)
  return 1 if format_string.named_interpolation?
  max_digit_dollar_num = format_string.max_digit_dollar_num
  return max_digit_dollar_num if max_digit_dollar_num&.nonzero?
  format_string
    .format_sequences
    .reject(&:percent?)
    .reduce(0) { |acc, seq| acc + seq.arity }
end