Skip to content

Commit 11340d9

Browse files
committed
[fixes rubocop#22] Use Sets instead of Arrays
1 parent f496d2b commit 11340d9

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

lib/rubocop/ast/node.rb

+20-20
Original file line numberDiff line numberDiff line change
@@ -23,37 +23,37 @@ class Node < Parser::AST::Node # rubocop:disable Metrics/ClassLength
2323
extend NodePattern::Macros
2424

2525
# <=> isn't included here, because it doesn't return a boolean.
26-
COMPARISON_OPERATORS = %i[== === != <= >= > <].freeze
26+
COMPARISON_OPERATORS = %i[== === != <= >= > <].to_set.freeze
2727

2828
TRUTHY_LITERALS = %i[str dstr xstr int float sym dsym array
2929
hash regexp true irange erange complex
30-
rational regopt].freeze
31-
FALSEY_LITERALS = %i[false nil].freeze
32-
LITERALS = (TRUTHY_LITERALS + FALSEY_LITERALS).freeze
30+
rational regopt].to_set.freeze
31+
FALSEY_LITERALS = %i[false nil].to_set.freeze
32+
LITERALS = (TRUTHY_LITERALS + FALSEY_LITERALS).to_set.freeze
3333
COMPOSITE_LITERALS = %i[dstr xstr dsym array hash irange
34-
erange regexp].freeze
35-
BASIC_LITERALS = (LITERALS - COMPOSITE_LITERALS).freeze
34+
erange regexp].to_set.freeze
35+
BASIC_LITERALS = (LITERALS - COMPOSITE_LITERALS).to_set.freeze
3636
MUTABLE_LITERALS = %i[str dstr xstr array hash
37-
regexp irange erange].freeze
38-
IMMUTABLE_LITERALS = (LITERALS - MUTABLE_LITERALS).freeze
37+
regexp irange erange].to_set.freeze
38+
IMMUTABLE_LITERALS = (LITERALS - MUTABLE_LITERALS).to_set.freeze
3939

4040
EQUALS_ASSIGNMENTS = %i[lvasgn ivasgn cvasgn gvasgn
41-
casgn masgn].freeze
42-
SHORTHAND_ASSIGNMENTS = %i[op_asgn or_asgn and_asgn].freeze
43-
ASSIGNMENTS = (EQUALS_ASSIGNMENTS + SHORTHAND_ASSIGNMENTS).freeze
44-
45-
BASIC_CONDITIONALS = %i[if while until].freeze
46-
CONDITIONALS = [*BASIC_CONDITIONALS, :case].freeze
47-
VARIABLES = %i[ivar gvar cvar lvar].freeze
48-
REFERENCES = %i[nth_ref back_ref].freeze
41+
casgn masgn].to_set.freeze
42+
SHORTHAND_ASSIGNMENTS = %i[op_asgn or_asgn and_asgn].to_set.freeze
43+
ASSIGNMENTS = (EQUALS_ASSIGNMENTS + SHORTHAND_ASSIGNMENTS).to_set.freeze
44+
45+
BASIC_CONDITIONALS = %i[if while until].to_set.freeze
46+
CONDITIONALS = [*BASIC_CONDITIONALS, :case].to_set.freeze
47+
VARIABLES = %i[ivar gvar cvar lvar].to_set.freeze
48+
REFERENCES = %i[nth_ref back_ref].to_set.freeze
4949
KEYWORDS = %i[alias and break case class def defs defined?
5050
kwbegin do else ensure for if module next
5151
not or postexe redo rescue retry return self
5252
super zsuper then undef until when while
53-
yield].freeze
54-
OPERATOR_KEYWORDS = %i[and or].freeze
55-
SPECIAL_KEYWORDS = %w[__FILE__ __LINE__ __ENCODING__].freeze
56-
ARGUMENT_TYPES = %i[arg optarg restarg kwarg kwoptarg kwrestarg blockarg].freeze
53+
yield].to_set.freeze
54+
OPERATOR_KEYWORDS = %i[and or].to_set.freeze
55+
SPECIAL_KEYWORDS = %w[__FILE__ __LINE__ __ENCODING__].to_set.freeze
56+
ARGUMENT_TYPES = %i[arg optarg restarg kwarg kwoptarg kwrestarg blockarg].to_set.freeze
5757

5858
# @see https://www.rubydoc.info/gems/ast/AST/Node:initialize
5959
def initialize(type, children = [], properties = {})

lib/rubocop/ast/node/mixin/method_identifier_predicates.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ module MethodIdentifierPredicates
1010
ENUMERATOR_METHODS = %i[collect collect_concat detect downto each
1111
find find_all find_index inject loop map!
1212
map reduce reject reject! reverse_each select
13-
select! times upto].freeze
13+
select! times upto].to_set.freeze
1414

1515
# http://phrogz.net/programmingruby/language.html#table_18.4
1616
OPERATOR_METHODS = %i[| ^ & <=> == === =~ > >= < <= << >> + - * /
17-
% ** ~ +@ -@ !@ ~@ [] []= ! != !~ `].freeze
17+
% ** ~ +@ -@ !@ ~@ [] []= ! != !~ `].to_set.freeze
1818

1919
# Checks whether the method name matches the argument.
2020
#

0 commit comments

Comments
 (0)