module RuboCop::Cop::PercentArray

def allowed_bracket_array?(node)

def allowed_bracket_array?(node)
  comments_in_array?(node) || below_array_length?(node) ||
    invalid_percent_array_context?(node)
end

def check_bracketed_array(node, literal_prefix)

def check_bracketed_array(node, literal_prefix)
  return if allowed_bracket_array?(node)
  array_style_detected(:brackets, node.values.size)
  return unless style == :percent
  add_offense(node) do |corrector|
    percent_literal_corrector = PercentLiteralCorrector.new(@config, @preferred_delimiters)
    percent_literal_corrector.correct(corrector, node, literal_prefix)
  end
end

def check_percent_array(node)

def check_percent_array(node)
  array_style_detected(:percent, node.values.size)
  return unless style == :brackets
  add_offense(node) do |corrector|
    correct_bracketed(corrector, node)
  end
end

def comments_in_array?(node)

def comments_in_array?(node)
  line_span = node.source_range.first_line...node.source_range.last_line
  processed_source.each_comment_in_lines(line_span).any?
end

def invalid_percent_array_context?(node)

foo %i[bar baz] { qux }

@example

Ruby does not allow percent arrays in an ambiguous block context.
def invalid_percent_array_context?(node)
  parent = node.parent
  parent&.send_type? && parent.arguments.include?(node) &&
    !parent.parenthesized? && parent&.block_literal?
end

def message(_node)

def message(_node)
  style == :percent ? self.class::PERCENT_MSG : self.class::ARRAY_MSG
end