From 513811b1037e6278c690d9daeea9bff5fa11ce7e Mon Sep 17 00:00:00 2001 From: Owen Stephens Date: Thu, 4 Jun 2020 09:20:50 +0100 Subject: [PATCH] Use Regexp option predicate from rubocop-ast Introduced in https://github.com/rubocop-hq/rubocop-ast/pull/20 --- lib/rubocop.rb | 1 - lib/rubocop/cop/mixin/regexp_literal_help.rb | 16 ---------------- .../style/redundant_regexp_character_class.rb | 7 +++---- lib/rubocop/cop/style/redundant_regexp_escape.rb | 5 +---- 4 files changed, 4 insertions(+), 25 deletions(-) delete mode 100644 lib/rubocop/cop/mixin/regexp_literal_help.rb diff --git a/lib/rubocop.rb b/lib/rubocop.rb index 82ec73b7dd6..e4d9cfde818 100644 --- a/lib/rubocop.rb +++ b/lib/rubocop.rb @@ -98,7 +98,6 @@ require_relative 'rubocop/cop/mixin/preceding_following_alignment' require_relative 'rubocop/cop/mixin/preferred_delimiters' require_relative 'rubocop/cop/mixin/rational_literal' -require_relative 'rubocop/cop/mixin/regexp_literal_help' require_relative 'rubocop/cop/mixin/rescue_node' require_relative 'rubocop/cop/mixin/safe_assignment' require_relative 'rubocop/cop/mixin/space_after_punctuation' diff --git a/lib/rubocop/cop/mixin/regexp_literal_help.rb b/lib/rubocop/cop/mixin/regexp_literal_help.rb deleted file mode 100644 index e28f8671c56..00000000000 --- a/lib/rubocop/cop/mixin/regexp_literal_help.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module RuboCop - module Cop - # Common functionality for handling Regexp literals. - module RegexpLiteralHelp - private - - def freespace_mode_regexp?(node) - regopt = node.children.find(&:regopt_type?) - - regopt.children.include?(:x) - end - end - end -end diff --git a/lib/rubocop/cop/style/redundant_regexp_character_class.rb b/lib/rubocop/cop/style/redundant_regexp_character_class.rb index 24935d7de94..6ad22e33c8b 100644 --- a/lib/rubocop/cop/style/redundant_regexp_character_class.rb +++ b/lib/rubocop/cop/style/redundant_regexp_character_class.rb @@ -23,7 +23,6 @@ module Style # r = /[ab]/ class RedundantRegexpCharacterClass < Cop include MatchRange - include RegexpLiteralHelp MSG_REDUNDANT_CHARACTER_CLASS = 'Redundant single-element character class, ' \ '`%s` can be replaced with `%s`.' @@ -44,7 +43,7 @@ class RedundantRegexpCharacterClass < Cop def on_regexp(node) each_redundant_character_class(node) do |loc| - next if whitespace_in_free_space_mode?(node, loc) + next if whitespace_in_extended_regexp?(node, loc) add_offense( node, @@ -78,8 +77,8 @@ def without_character_class(loc) loc.source[1..-2] end - def whitespace_in_free_space_mode?(node, loc) - return false unless freespace_mode_regexp?(node) + def whitespace_in_extended_regexp?(node, loc) + return false unless node.extended? /\[\s\]/.match?(loc.source) end diff --git a/lib/rubocop/cop/style/redundant_regexp_escape.rb b/lib/rubocop/cop/style/redundant_regexp_escape.rb index 426491e6f0a..e408ed2815f 100644 --- a/lib/rubocop/cop/style/redundant_regexp_escape.rb +++ b/lib/rubocop/cop/style/redundant_regexp_escape.rb @@ -31,7 +31,6 @@ module Style # /[+\-]\d/ class RedundantRegexpEscape < Cop include RangeHelp - include RegexpLiteralHelp MSG_REDUNDANT_ESCAPE = 'Redundant escape inside regexp literal' @@ -111,12 +110,10 @@ def escape_range_at_index(node, index) end def pattern_source(node) - freespace_mode = freespace_mode_regexp?(node) - node.children.reject(&:regopt_type?).map do |child| source = child.source - if freespace_mode + if node.extended? # Remove comments to avoid misleading results source.sub(/(?