diff --git a/Library/Homebrew/rubocops/checksum.rb b/Library/Homebrew/rubocops/checksum.rb index 2078dfbe5a..daeab70415 100644 --- a/Library/Homebrew/rubocops/checksum.rb +++ b/Library/Homebrew/rubocops/checksum.rb @@ -28,7 +28,6 @@ module RuboCop return if checksum.nil? if regex_match_group(checksum, /^$/) - @offense_source_range = @offensive_node.source_range problem "sha256 is empty" return end diff --git a/Library/Homebrew/rubocops/components_order.rb b/Library/Homebrew/rubocops/components_order.rb index 148605d1e9..eea8093512 100644 --- a/Library/Homebrew/rubocops/components_order.rb +++ b/Library/Homebrew/rubocops/components_order.rb @@ -27,7 +27,6 @@ module RuboCop if on_macos_blocks.length > 1 @offensive_node = on_macos_blocks.second - @offense_source_range = on_macos_blocks.second.source_range problem "there can only be one `on_macos` block in a formula." end @@ -37,7 +36,6 @@ module RuboCop if on_linux_blocks.length > 1 @offensive_node = on_linux_blocks.second - @offense_source_range = on_linux_blocks.second.source_range problem "there can only be one `on_linux` block in a formula." end @@ -58,7 +56,6 @@ module RuboCop end @offensive_node = resource_block - @offense_source_range = resource_block.source_range next if on_macos_blocks.length.zero? && on_linux_blocks.length.zero? @@ -122,7 +119,6 @@ module RuboCop valid_node ||= on_os_allowed_methods.include? child.method_name.to_s @offensive_node = child - @offense_source_range = child.source_range next if valid_node problem "`#{on_os_block.method_name}` cannot include `#{child.method_name}`. " \ diff --git a/Library/Homebrew/rubocops/extend/formula.rb b/Library/Homebrew/rubocops/extend/formula.rb index 894f680754..bf63a1d24e 100644 --- a/Library/Homebrew/rubocops/extend/formula.rb +++ b/Library/Homebrew/rubocops/extend/formula.rb @@ -18,7 +18,7 @@ module RuboCop # Superclass for all formula cops. # # @api private - class FormulaCop < Cop + class FormulaCop < Base include RangeHelp include HelperFunctions @@ -71,19 +71,16 @@ module RuboCop next unless method_node.method_name == method_name @offensive_node = method_node - @offense_source_range = method_node.source_range return method_node end # If not found then, parent node becomes the offensive node @offensive_node = node.parent - @offense_source_range = node.parent.source_range nil end # Sets the given node as the offending node when required in custom cops. def offending_node(node) @offensive_node = node - @offense_source_range = node.source_range end # Returns an array of method call nodes matching method_name inside node with depth first order (child nodes). @@ -142,7 +139,6 @@ module RuboCop next if method.receiver.const_name != instance && !(method.receiver.send_type? && method.receiver.method_name == instance) - @offense_source_range = method.source_range @offensive_node = method return true unless block_given? @@ -160,7 +156,6 @@ module RuboCop next if method_node.receiver.const_name != name && !(method_node.receiver.send_type? && method_node.receiver.method_name == name) - @offense_source_range = method_node.receiver.source_range @offensive_node = method_node.receiver return true unless block_given? @@ -179,7 +174,6 @@ module RuboCop end return if idx.nil? - @offense_source_range = dependency_nodes[idx].source_range @offensive_node = dependency_nodes[idx] end @@ -207,10 +201,7 @@ module RuboCop type_match = false end - if type_match || name_match - @offensive_node = node - @offense_source_range = node.source_range - end + @offensive_node = node if type_match || name_match type_match && name_match end @@ -223,7 +214,6 @@ module RuboCop next unless const_node.const_name == const_name @offensive_node = const_node - @offense_source_range = const_node.source_range yield const_node if block_given? return true end @@ -259,12 +249,10 @@ module RuboCop next if block_node.method_name != block_name @offensive_node = block_node - @offense_source_range = block_node.source_range return block_node end # If not found then, parent node becomes the offensive node @offensive_node = node.parent - @offense_source_range = node.parent.source_range nil end @@ -299,14 +287,12 @@ module RuboCop next if method_name != def_method_name && method_name.present? @offensive_node = def_node - @offense_source_range = def_node.source_range return def_node end return if node.parent.nil? # If not found then, parent node becomes the offensive node @offensive_node = node.parent - @offense_source_range = node.parent.source_range nil end @@ -317,7 +303,6 @@ module RuboCop next unless call_node.method_name == method_name @offensive_node = call_node - @offense_source_range = call_node.source_range return true end false @@ -345,7 +330,6 @@ module RuboCop next unless call_node.method_name == method_name @offensive_node = call_node - @offense_source_range = call_node.source_range return true end false @@ -365,7 +349,6 @@ module RuboCop def component_precedes?(first_node, next_node) return false if line_number(first_node) < line_number(next_node) - @offense_source_range = first_node.source_range @offensive_node = first_node true end @@ -394,7 +377,6 @@ module RuboCop def parameters_passed?(method_node, *params) method_params = parameters(method_node) @offensive_node = method_node - @offense_source_range = method_node.source_range params.all? do |given_param| method_params.any? do |method_param| if given_param.instance_of?(Regexp) @@ -420,9 +402,8 @@ module RuboCop # Yields to a block with comment text as parameter. def audit_comments - @processed_source.comments.each do |comment_node| + processed_source.comments.each do |comment_node| @offensive_node = comment_node - @offense_source_range = :expression yield comment_node.text end end @@ -435,7 +416,6 @@ module RuboCop # Returns the class node's name, or nil if not a class node. def class_name(node) @offensive_node = node - @offense_source_range = node.source_range node.const_name end diff --git a/Library/Homebrew/rubocops/lines.rb b/Library/Homebrew/rubocops/lines.rb index d3de64bbac..1d83506998 100644 --- a/Library/Homebrew/rubocops/lines.rb +++ b/Library/Homebrew/rubocops/lines.rb @@ -534,7 +534,7 @@ module RuboCop "Pass explicit paths to prevent Homebrew from removing empty folders." end - if find_method_def(@processed_source.ast) + if find_method_def(processed_source.ast) problem "Define method #{method_name(@offensive_node)} in the class body, not at the top-level" end diff --git a/Library/Homebrew/rubocops/shared/desc_helper.rb b/Library/Homebrew/rubocops/shared/desc_helper.rb index 53300c906c..f39269503c 100644 --- a/Library/Homebrew/rubocops/shared/desc_helper.rb +++ b/Library/Homebrew/rubocops/shared/desc_helper.rb @@ -27,7 +27,6 @@ module RuboCop end @offensive_node = desc_call - @offense_source_range = desc_call.source_range desc = desc_call.first_argument diff --git a/Library/Homebrew/rubocops/shared/helper_functions.rb b/Library/Homebrew/rubocops/shared/helper_functions.rb index 09ba102a7a..a2270efa47 100644 --- a/Library/Homebrew/rubocops/shared/helper_functions.rb +++ b/Library/Homebrew/rubocops/shared/helper_functions.rb @@ -28,7 +28,6 @@ module RuboCop @length = match_object.to_s.length @line_no = line_number(node) @source_buf = source_buffer(node) - @offense_source_range = source_range(@source_buf, @line_no, @column, @length) @offensive_node = node match_object end @@ -77,8 +76,8 @@ module RuboCop end end - def problem(msg) - add_offense(@offensive_node, location: @offense_source_range, message: msg) + def problem(msg, &block) + add_offense(@offensive_node, message: msg, &block) end end end