@@ -23,37 +23,37 @@ class Node < Parser::AST::Node # rubocop:disable Metrics/ClassLength
23
23
extend NodePattern ::Macros
24
24
25
25
# <=> isn't included here, because it doesn't return a boolean.
26
- COMPARISON_OPERATORS = %i[ == === != <= >= > < ] . freeze
27
-
28
- TRUTHY_LITERALS = %i[ str dstr xstr int float sym dsym array
29
- hash regexp true irange erange complex
30
- rational regopt ] . freeze
31
- FALSEY_LITERALS = %i[ false nil ] . freeze
32
- LITERALS = ( TRUTHY_LITERALS + FALSEY_LITERALS ) . freeze
33
- COMPOSITE_LITERALS = %i[ dstr xstr dsym array hash irange
34
- erange regexp ] . freeze
35
- BASIC_LITERALS = ( LITERALS - COMPOSITE_LITERALS ) . freeze
36
- MUTABLE_LITERALS = %i[ str dstr xstr array hash
37
- regexp irange erange ] . freeze
38
- IMMUTABLE_LITERALS = ( LITERALS - MUTABLE_LITERALS ) . freeze
39
-
40
- 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
49
- KEYWORDS = %i[ alias and break case class def defs defined?
50
- kwbegin do else ensure for if module next
51
- not or postexe redo rescue retry return self
52
- 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
26
+ COMPARISON_OPERATORS = FastArray %i[ == === != <= >= > < ]
27
+
28
+ TRUTHY_LITERALS = FastArray %i[ str dstr xstr int float sym dsym array
29
+ hash regexp true irange erange complex
30
+ rational regopt ]
31
+ FALSEY_LITERALS = FastArray %i[ false nil ]
32
+ LITERALS = FastArray ( TRUTHY_LITERALS + FALSEY_LITERALS )
33
+ COMPOSITE_LITERALS = FastArray %i[ dstr xstr dsym array hash irange
34
+ erange regexp ]
35
+ BASIC_LITERALS = FastArray ( LITERALS - COMPOSITE_LITERALS )
36
+ MUTABLE_LITERALS = FastArray %i[ str dstr xstr array hash
37
+ regexp irange erange ]
38
+ IMMUTABLE_LITERALS = FastArray ( LITERALS - MUTABLE_LITERALS )
39
+
40
+ EQUALS_ASSIGNMENTS = FastArray %i[ lvasgn ivasgn cvasgn gvasgn
41
+ casgn masgn ]
42
+ SHORTHAND_ASSIGNMENTS = FastArray %i[ op_asgn or_asgn and_asgn ]
43
+ ASSIGNMENTS = FastArray ( EQUALS_ASSIGNMENTS + SHORTHAND_ASSIGNMENTS )
44
+
45
+ BASIC_CONDITIONALS = FastArray %i[ if while until ]
46
+ CONDITIONALS = FastArray [ *BASIC_CONDITIONALS , :case ]
47
+ VARIABLES = FastArray %i[ ivar gvar cvar lvar ]
48
+ REFERENCES = FastArray %i[ nth_ref back_ref ]
49
+ KEYWORDS = FastArray %i[ alias and break case class def defs defined?
50
+ kwbegin do else ensure for if module next
51
+ not or postexe redo rescue retry return self
52
+ super zsuper then undef until when while
53
+ yield ]
54
+ OPERATOR_KEYWORDS = FastArray %i[ and or ]
55
+ SPECIAL_KEYWORDS = FastArray %w[ __FILE__ __LINE__ __ENCODING__ ]
56
+ ARGUMENT_TYPES = FastArray %i[ arg optarg restarg kwarg kwoptarg kwrestarg blockarg ]
57
57
58
58
# @see https://www.rubydoc.info/gems/ast/AST/Node:initialize
59
59
def initialize ( type , children = [ ] , properties = { } )
0 commit comments