rubocop-ast 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rubocop/ast.rb +3 -0
- data/lib/rubocop/ast/builder.rb +10 -0
- data/lib/rubocop/ast/ext/range_min_max.rb +18 -0
- data/lib/rubocop/ast/node.rb +6 -5
- data/lib/rubocop/ast/node/arg_node.rb +34 -0
- data/lib/rubocop/ast/node/args_node.rb +10 -0
- data/lib/rubocop/ast/node/array_node.rb +1 -1
- data/lib/rubocop/ast/node/block_node.rb +27 -0
- data/lib/rubocop/ast/node/case_match_node.rb +1 -1
- data/lib/rubocop/ast/node/case_node.rb +1 -1
- data/lib/rubocop/ast/node/const_node.rb +1 -1
- data/lib/rubocop/ast/node/hash_node.rb +2 -2
- data/lib/rubocop/ast/node/if_node.rb +1 -1
- data/lib/rubocop/ast/node/mixin/descendence.rb +2 -2
- data/lib/rubocop/ast/node/procarg0_node.rb +17 -0
- data/lib/rubocop/ast/node/regexp_node.rb +1 -1
- data/lib/rubocop/ast/node/when_node.rb +1 -1
- data/lib/rubocop/ast/node_pattern.rb +1 -1
- data/lib/rubocop/ast/node_pattern/compiler.rb +1 -1
- data/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +2 -2
- data/lib/rubocop/ast/node_pattern/lexer.rb +1 -1
- data/lib/rubocop/ast/node_pattern/method_definer.rb +2 -0
- data/lib/rubocop/ast/node_pattern/node.rb +6 -21
- data/lib/rubocop/ast/node_pattern/parser.racc.rb +39 -39
- data/lib/rubocop/ast/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d42f2a7ab5fe1a168c8307ffad746e21eaa3811cdb5f9236ce423f2fb829b9ae
|
4
|
+
data.tar.gz: 74ca8b1fbbbb9f0a89ae61136235f9066579da11b4a056c0161a7a7a34092e19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffeca2200e1825749aa09f72e90b98b643617b55f4300ad9de8f34bedb59534278ebd4490d50d6e6866b055a5b5d9e28707e69c221c8da16e6c6691b83e7b162
|
7
|
+
data.tar.gz: 4e7b93a612f88394024fd26d025cbca1cf3b1926ea27650a115efd89b9f8bda2aab52d55968d427d1e63a295d588407046841d00ef5823e80443bb4d73b3acd2
|
data/lib/rubocop/ast.rb
CHANGED
@@ -5,6 +5,7 @@ require 'forwardable'
|
|
5
5
|
require 'set'
|
6
6
|
|
7
7
|
require_relative 'ast/ext/range'
|
8
|
+
require_relative 'ast/ext/range_min_max'
|
8
9
|
require_relative 'ast/ext/set'
|
9
10
|
require_relative 'ast/node_pattern/method_definer'
|
10
11
|
require_relative 'ast/node_pattern'
|
@@ -36,6 +37,7 @@ require_relative 'ast/node/mixin/predicate_operator_node'
|
|
36
37
|
require_relative 'ast/node/mixin/basic_literal_node'
|
37
38
|
require_relative 'ast/node/alias_node'
|
38
39
|
require_relative 'ast/node/and_node'
|
40
|
+
require_relative 'ast/node/arg_node'
|
39
41
|
require_relative 'ast/node/args_node'
|
40
42
|
require_relative 'ast/node/array_node'
|
41
43
|
require_relative 'ast/node/block_node'
|
@@ -61,6 +63,7 @@ require_relative 'ast/node/module_node'
|
|
61
63
|
require_relative 'ast/node/next_node'
|
62
64
|
require_relative 'ast/node/or_node'
|
63
65
|
require_relative 'ast/node/pair_node'
|
66
|
+
require_relative 'ast/node/procarg0_node'
|
64
67
|
require_relative 'ast/node/range_node'
|
65
68
|
require_relative 'ast/node/regexp_node'
|
66
69
|
require_relative 'ast/node/rescue_node'
|
data/lib/rubocop/ast/builder.rb
CHANGED
@@ -20,6 +20,15 @@ module RuboCop
|
|
20
20
|
NODE_MAP = {
|
21
21
|
and: AndNode,
|
22
22
|
alias: AliasNode,
|
23
|
+
arg: ArgNode,
|
24
|
+
blockarg: ArgNode,
|
25
|
+
forward_arg: ArgNode,
|
26
|
+
kwarg: ArgNode,
|
27
|
+
kwoptarg: ArgNode,
|
28
|
+
kwrestarg: ArgNode,
|
29
|
+
optarg: ArgNode,
|
30
|
+
restarg: ArgNode,
|
31
|
+
shadowarg: ArgNode,
|
23
32
|
args: ArgsNode,
|
24
33
|
array: ArrayNode,
|
25
34
|
block: BlockNode,
|
@@ -49,6 +58,7 @@ module RuboCop
|
|
49
58
|
next: NextNode,
|
50
59
|
or: OrNode,
|
51
60
|
pair: PairNode,
|
61
|
+
procarg0: Procarg0Node,
|
52
62
|
regexp: RegexpNode,
|
53
63
|
rescue: RescueNode,
|
54
64
|
resbody: ResbodyNode,
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module AST
|
5
|
+
module Ext
|
6
|
+
# Refinement to circumvent broken `Range#minmax` for infinity ranges in 2.6-
|
7
|
+
module RangeMinMax
|
8
|
+
if ::Range.instance_method(:minmax).owner != ::Range
|
9
|
+
refine ::Range do
|
10
|
+
def minmax
|
11
|
+
[min, max]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/rubocop/ast/node.rb
CHANGED
@@ -48,7 +48,7 @@ module RuboCop
|
|
48
48
|
|
49
49
|
# @api private
|
50
50
|
EQUALS_ASSIGNMENTS = %i[lvasgn ivasgn cvasgn gvasgn
|
51
|
-
casgn masgn
|
51
|
+
casgn masgn].to_set.freeze
|
52
52
|
# @api private
|
53
53
|
SHORTHAND_ASSIGNMENTS = %i[op_asgn or_asgn and_asgn].to_set.freeze
|
54
54
|
# @api private
|
@@ -77,7 +77,8 @@ module RuboCop
|
|
77
77
|
# @api private
|
78
78
|
SPECIAL_KEYWORDS = %w[__FILE__ __LINE__ __ENCODING__].to_set.freeze
|
79
79
|
# @api private
|
80
|
-
ARGUMENT_TYPES = %i[arg optarg restarg kwarg kwoptarg kwrestarg
|
80
|
+
ARGUMENT_TYPES = %i[arg optarg restarg kwarg kwoptarg kwrestarg
|
81
|
+
blockarg forward_arg shadowarg].to_set.freeze
|
81
82
|
|
82
83
|
LITERAL_RECURSIVE_METHODS = (COMPARISON_OPERATORS + %i[* ! <=>]).freeze
|
83
84
|
LITERAL_RECURSIVE_TYPES = (OPERATOR_KEYWORDS + COMPOSITE_LITERALS + %i[begin pair]).freeze
|
@@ -222,7 +223,7 @@ module RuboCop
|
|
222
223
|
# @return [self] if a block is given
|
223
224
|
# @return [Enumerator] if no block is given
|
224
225
|
def each_ancestor(*types, &block)
|
225
|
-
return to_enum(__method__, *types) unless
|
226
|
+
return to_enum(__method__, *types) unless block
|
226
227
|
|
227
228
|
visit_ancestors(types, &block)
|
228
229
|
|
@@ -237,7 +238,7 @@ module RuboCop
|
|
237
238
|
each_ancestor.to_a
|
238
239
|
end
|
239
240
|
|
240
|
-
#
|
241
|
+
# NOTE: Some rare nodes may have no source, like `s(:args)` in `foo {}`
|
241
242
|
# @return [String, nil]
|
242
243
|
def source
|
243
244
|
loc.expression&.source
|
@@ -410,7 +411,7 @@ module RuboCop
|
|
410
411
|
POST_CONDITION_LOOP_TYPES.include?(type)
|
411
412
|
end
|
412
413
|
|
413
|
-
#
|
414
|
+
# NOTE: `loop { }` is a normal method call and thus not a loop keyword.
|
414
415
|
def loop_keyword?
|
415
416
|
LOOP_TYPES.include?(type)
|
416
417
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module AST
|
5
|
+
# A node extension for `arg`, `optarg`, `restarg`, `kwarg`, `kwoptarg`,
|
6
|
+
# `kwrestarg`, `blockarg`, `shadowarg` and `forward_arg` nodes.
|
7
|
+
# This will be used in place of a plain node when the builder constructs
|
8
|
+
# the AST, making its methods available to all `arg` nodes within RuboCop.
|
9
|
+
class ArgNode < Node
|
10
|
+
# Returns the name of an argument.
|
11
|
+
#
|
12
|
+
# @return [Symbol, nil] the name of the argument
|
13
|
+
def name
|
14
|
+
node_parts[0]
|
15
|
+
end
|
16
|
+
|
17
|
+
# Returns the default value of the argument, if any.
|
18
|
+
#
|
19
|
+
# @return [Node, nil] the default value of the argument
|
20
|
+
def default_value
|
21
|
+
return unless default?
|
22
|
+
|
23
|
+
node_parts[1]
|
24
|
+
end
|
25
|
+
|
26
|
+
# Checks whether the argument has a default value
|
27
|
+
#
|
28
|
+
# @return [Boolean] whether the argument has a default value
|
29
|
+
def default?
|
30
|
+
optarg_type? || kwoptarg_type?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -24,6 +24,16 @@ module RuboCop
|
|
24
24
|
def empty_and_without_delimiters?
|
25
25
|
loc.expression.nil?
|
26
26
|
end
|
27
|
+
|
28
|
+
# Yield each argument from the collection.
|
29
|
+
# Arguments can be inside `mlhs` nodes in the case of destructuring, so this
|
30
|
+
# flattens the collection to just `arg`, `optarg`, `restarg`, `kwarg`,
|
31
|
+
# `kwoptarg`, `kwrestarg`, `blockarg`, `forward_arg` and `shadowarg`.
|
32
|
+
#
|
33
|
+
# @return [Array<Node>] array of argument nodes.
|
34
|
+
def argument_list
|
35
|
+
each_descendant(*ARGUMENT_TYPES).to_a.freeze
|
36
|
+
end
|
27
37
|
end
|
28
38
|
end
|
29
39
|
end
|
@@ -22,6 +22,9 @@ module RuboCop
|
|
22
22
|
end
|
23
23
|
|
24
24
|
# The arguments of this block.
|
25
|
+
# Note that if the block has destructured arguments, `arguments` will
|
26
|
+
# return a `mlhs` node, whereas `argument_list` will return only
|
27
|
+
# actual argument nodes.
|
25
28
|
#
|
26
29
|
# @return [Array<Node>]
|
27
30
|
def arguments
|
@@ -32,6 +35,18 @@ module RuboCop
|
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
38
|
+
# Returns a collection of all descendants of this node that are
|
39
|
+
# argument type nodes. See `ArgsNode#argument_list` for details.
|
40
|
+
#
|
41
|
+
# @return [Array<Node>]
|
42
|
+
def argument_list
|
43
|
+
if numblock_type?
|
44
|
+
numbered_arguments
|
45
|
+
else
|
46
|
+
arguments.argument_list
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
35
50
|
# The body of this block.
|
36
51
|
#
|
37
52
|
# @return [Node, nil] the body of the `block` node or `nil`
|
@@ -117,6 +132,18 @@ module RuboCop
|
|
117
132
|
def void_context?
|
118
133
|
VOID_CONTEXT_METHODS.include?(method_name)
|
119
134
|
end
|
135
|
+
|
136
|
+
private
|
137
|
+
|
138
|
+
# Numbered arguments of this `numblock`.
|
139
|
+
def numbered_arguments
|
140
|
+
return [].freeze unless numblock_type?
|
141
|
+
|
142
|
+
max_param = children[1]
|
143
|
+
1.upto(max_param).map do |i|
|
144
|
+
ArgNode.new(:arg, [:"_#{i}"])
|
145
|
+
end.freeze
|
146
|
+
end
|
120
147
|
end
|
121
148
|
end
|
122
149
|
end
|
@@ -17,7 +17,7 @@ module RuboCop
|
|
17
17
|
|
18
18
|
# @deprecated Use `in_pattern_branches.each`
|
19
19
|
def each_in_pattern(&block)
|
20
|
-
return in_pattern_branches.to_enum(__method__) unless
|
20
|
+
return in_pattern_branches.to_enum(__method__) unless block
|
21
21
|
|
22
22
|
in_pattern_branches.each(&block)
|
23
23
|
|
@@ -57,7 +57,7 @@ module RuboCop
|
|
57
57
|
# @return [self] if a block is given
|
58
58
|
# @return [Enumerator] if no block is given
|
59
59
|
def each_key(&block)
|
60
|
-
return pairs.map(&:key).to_enum unless
|
60
|
+
return pairs.map(&:key).to_enum unless block
|
61
61
|
|
62
62
|
pairs.map(&:key).each(&block)
|
63
63
|
|
@@ -81,7 +81,7 @@ module RuboCop
|
|
81
81
|
# @return [self] if a block is given
|
82
82
|
# @return [Enumerator] if no block is given
|
83
83
|
def each_value(&block)
|
84
|
-
return pairs.map(&:value).to_enum unless
|
84
|
+
return pairs.map(&:value).to_enum unless block
|
85
85
|
|
86
86
|
pairs.map(&:value).each(&block)
|
87
87
|
|
@@ -59,7 +59,7 @@ module RuboCop
|
|
59
59
|
# @return [self] if a block is given
|
60
60
|
# @return [Enumerator] if no block is given
|
61
61
|
def each_descendant(*types, &block)
|
62
|
-
return to_enum(__method__, *types) unless
|
62
|
+
return to_enum(__method__, *types) unless block
|
63
63
|
|
64
64
|
visit_descendants(types, &block)
|
65
65
|
|
@@ -94,7 +94,7 @@ module RuboCop
|
|
94
94
|
# @return [self] if a block is given
|
95
95
|
# @return [Enumerator] if no block is given
|
96
96
|
def each_node(*types, &block)
|
97
|
-
return to_enum(__method__, *types) unless
|
97
|
+
return to_enum(__method__, *types) unless block
|
98
98
|
|
99
99
|
yield self if types.empty? || types.include?(type)
|
100
100
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module AST
|
5
|
+
# A node extension for `procarg0` nodes.
|
6
|
+
# This will be used in place of a plain node when the builder constructs
|
7
|
+
# the AST, making its methods available to all `arg` nodes within RuboCop.
|
8
|
+
class Procarg0Node < ArgNode
|
9
|
+
# Returns the name of an argument.
|
10
|
+
#
|
11
|
+
# @return [Symbol, nil] the name of the argument
|
12
|
+
def name
|
13
|
+
node_parts[0].name
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -103,7 +103,7 @@ module RuboCop
|
|
103
103
|
# Yields its argument and any descendants, depth-first.
|
104
104
|
#
|
105
105
|
def self.descend(element, &block)
|
106
|
-
return to_enum(__method__, element) unless
|
106
|
+
return to_enum(__method__, element) unless block
|
107
107
|
|
108
108
|
yield element
|
109
109
|
|
@@ -33,7 +33,7 @@ module RuboCop
|
|
33
33
|
name
|
34
34
|
end
|
35
35
|
|
36
|
-
# Enumerates `enum` while keeping track of state
|
36
|
+
# Enumerates `enum` while keeping track of state across
|
37
37
|
# union branches (captures and unification).
|
38
38
|
def each_union(enum, &block)
|
39
39
|
enforce_same_captures(binding.union_bind(enum), &block)
|
@@ -40,7 +40,7 @@ module RuboCop
|
|
40
40
|
# sequence head
|
41
41
|
# :variadic_mode : child index held by @cur_index_var
|
42
42
|
# >= 0 : when the current child index is known
|
43
|
-
# (from the
|
43
|
+
# (from the beginning)
|
44
44
|
# < 0 : when the index is known from the end,
|
45
45
|
# where -1 is *past the end*,
|
46
46
|
# -2 is the last child, etc...
|
@@ -328,7 +328,7 @@ module RuboCop
|
|
328
328
|
"#{@seq_var}.children.size - #{-(cur + DELTA)}"
|
329
329
|
end
|
330
330
|
|
331
|
-
#
|
331
|
+
# NOTE: assumes `@cur_index != :seq_head`. Node types using `within_loop` must
|
332
332
|
# have `def in_sequence_head; :raise; end`
|
333
333
|
def within_loop
|
334
334
|
sync do |sync_code|
|
@@ -7,12 +7,13 @@ module RuboCop
|
|
7
7
|
class Node < ::Parser::AST::Node
|
8
8
|
extend Forwardable
|
9
9
|
include ::RuboCop::AST::Descendence
|
10
|
+
using Ext::RangeMinMax
|
10
11
|
|
11
12
|
MATCHES_WITHIN_SET = %i[symbol number string].to_set.freeze
|
12
13
|
private_constant :MATCHES_WITHIN_SET
|
13
14
|
|
14
15
|
###
|
15
|
-
# To be
|
16
|
+
# To be overridden by subclasses
|
16
17
|
###
|
17
18
|
|
18
19
|
def rest?
|
@@ -59,7 +60,7 @@ module RuboCop
|
|
59
60
|
end
|
60
61
|
|
61
62
|
# @return [Boolean] returns true for nodes having a Ruby literal equivalent
|
62
|
-
# that matches
|
63
|
+
# that matches within a Set (e.g. `42`, `:sym` but not `/regexp/`)
|
63
64
|
def matches_within_set?
|
64
65
|
MATCHES_WITHIN_SET.include?(type)
|
65
66
|
end
|
@@ -197,27 +198,13 @@ module RuboCop
|
|
197
198
|
end
|
198
199
|
end
|
199
200
|
|
200
|
-
# Circumvent broken `Range#minmax` for infinity ranges in 2.6-
|
201
|
-
module MapMinMax
|
202
|
-
if RUBY_VERSION >= '2.7'
|
203
|
-
def map_min_max(enum)
|
204
|
-
enum.map(&:minmax)
|
205
|
-
end
|
206
|
-
else
|
207
|
-
def map_min_max(enum)
|
208
|
-
enum.map { |r| [r.min, r.max] } # rubocop:disable Style/MinMax
|
209
|
-
end
|
210
|
-
end
|
211
|
-
end
|
212
|
-
|
213
201
|
# A list (potentially empty) of nodes; part of a Union
|
214
202
|
class Subsequence < Node
|
215
203
|
include ForbidInSeqHead
|
216
|
-
include MapMinMax
|
217
204
|
|
218
205
|
def arity
|
219
|
-
min, max =
|
220
|
-
min == max ? min || 0 : min..max #
|
206
|
+
min, max = children.map(&:arity_range).map(&:minmax).transpose.map(&:sum)
|
207
|
+
min == max ? min || 0 : min..max # NOTE: || 0 for empty case, where min == max == nil.
|
221
208
|
end
|
222
209
|
|
223
210
|
def in_sequence_head
|
@@ -231,10 +218,8 @@ module RuboCop
|
|
231
218
|
|
232
219
|
# Node class for `{ ... }`
|
233
220
|
class Union < Node
|
234
|
-
include MapMinMax
|
235
|
-
|
236
221
|
def arity
|
237
|
-
minima, maxima =
|
222
|
+
minima, maxima = children.map(&:arity_range).map(&:minmax).transpose
|
238
223
|
min = minima.min
|
239
224
|
max = maxima.max
|
240
225
|
min == max ? min : min..max
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
#
|
3
3
|
# DO NOT MODIFY!!!!
|
4
|
-
# This file is automatically generated by Racc 1.
|
4
|
+
# This file is automatically generated by Racc 1.5.1
|
5
5
|
# from Racc grammar file "".
|
6
6
|
#
|
7
7
|
|
@@ -14,15 +14,15 @@ module RuboCop
|
|
14
14
|
|
15
15
|
racc_action_table = [
|
16
16
|
14, 15, 16, 21, 18, 17, 19, 10, 11, 12,
|
17
|
-
60, 22, 20, 4,
|
18
|
-
28, 23, 56, 50,
|
17
|
+
60, 22, 20, 4, 24, 5, 40, 6, 7, 8,
|
18
|
+
28, 23, 56, 50, 40, 61, 43, 66, 51, 51,
|
19
19
|
58, 14, 15, 16, 21, 18, 17, 19, 10, 11,
|
20
20
|
12, nil, 22, 20, 4, nil, 5, nil, 6, 7,
|
21
21
|
8, 28, 23, nil, nil, -34, 14, 15, 16, 21,
|
22
22
|
18, 17, 19, 10, 11, 12, nil, 22, 20, 4,
|
23
23
|
nil, 5, nil, 6, 7, 8, 9, 23, 14, 15,
|
24
24
|
16, 21, 18, 17, 19, 10, 11, 12, nil, 22,
|
25
|
-
20, 4, nil, 5, nil, 6, 7, 8,
|
25
|
+
20, 4, nil, 5, nil, 6, 7, 8, 28, 23,
|
26
26
|
14, 15, 16, 21, 18, 17, 19, 10, 11, 12,
|
27
27
|
nil, 22, 20, 4, nil, 5, nil, 6, 7, 8,
|
28
28
|
9, 23, 14, 15, 16, 21, 18, 17, 19, 10,
|
@@ -33,7 +33,7 @@ racc_action_table = [
|
|
33
33
|
18, 17, 19, 10, 11, 12, nil, 22, 20, 4,
|
34
34
|
nil, 5, nil, 6, 7, 8, 9, 23, 14, 15,
|
35
35
|
16, 21, 18, 17, 19, 10, 11, 12, nil, 22,
|
36
|
-
20, 4, nil, 5, nil, 6, 7, 8,
|
36
|
+
20, 4, nil, 5, nil, 6, 7, 8, 9, 23,
|
37
37
|
14, 15, 16, 21, 18, 17, 19, 10, 11, 12,
|
38
38
|
nil, 22, 20, 4, 44, 5, nil, 6, 7, 8,
|
39
39
|
28, 23, 14, 15, 16, 21, 18, 17, 19, 10,
|
@@ -47,31 +47,31 @@ racc_action_table = [
|
|
47
47
|
20, 4, nil, 5, nil, 6, 7, 8, 9, 23,
|
48
48
|
14, 15, 16, 21, 18, 17, 19, 10, 11, 12,
|
49
49
|
nil, 22, 20, 4, nil, 5, nil, 6, 7, 8,
|
50
|
-
9, 23,
|
51
|
-
|
50
|
+
9, 23, -1, -1, -1, -2, -2, -2, 47, 48,
|
51
|
+
49 ]
|
52
52
|
|
53
53
|
racc_action_check = [
|
54
54
|
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
|
55
|
-
54, 42, 42, 42,
|
56
|
-
42, 42, 42, 30,
|
55
|
+
54, 42, 42, 42, 1, 42, 10, 42, 42, 42,
|
56
|
+
42, 42, 42, 30, 11, 54, 24, 62, 30, 63,
|
57
57
|
42, 59, 59, 59, 59, 59, 59, 59, 59, 59,
|
58
58
|
59, nil, 59, 59, 59, nil, 59, nil, 59, 59,
|
59
|
-
59, 59, 59, nil, nil, 59,
|
60
|
-
5, 5, 5, 5, 5, 5, nil, 5, 5, 5,
|
61
|
-
nil, 5, nil, 5, 5, 5, 5, 5, 6, 6,
|
62
|
-
6, 6, 6, 6, 6, 6, 6, 6, nil, 6,
|
63
|
-
6, 6, nil, 6, nil, 6, 6, 6, 6, 6,
|
64
|
-
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
65
|
-
nil, 7, 7, 7, nil, 7, nil, 7, 7, 7,
|
66
|
-
7, 7, 8, 8, 8, 8, 8, 8, 8, 8,
|
67
|
-
8, 8, nil, 8, 8, 8, nil, 8, nil, 8,
|
68
|
-
8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
|
69
|
-
9, 9, 9, 9, nil, 9, 9, 9, nil, 9,
|
70
|
-
nil, 9, 9, 9, 9, 9, 0, 0, 0, 0,
|
59
|
+
59, 59, 59, nil, nil, 59, 0, 0, 0, 0,
|
71
60
|
0, 0, 0, 0, 0, 0, nil, 0, 0, 0,
|
72
61
|
nil, 0, nil, 0, 0, 0, 0, 0, 4, 4,
|
73
62
|
4, 4, 4, 4, 4, 4, 4, 4, nil, 4,
|
74
63
|
4, 4, nil, 4, nil, 4, 4, 4, 4, 4,
|
64
|
+
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
65
|
+
nil, 5, 5, 5, nil, 5, nil, 5, 5, 5,
|
66
|
+
5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
|
67
|
+
6, 6, nil, 6, 6, 6, nil, 6, nil, 6,
|
68
|
+
6, 6, 6, 6, 7, 7, 7, 7, 7, 7,
|
69
|
+
7, 7, 7, 7, nil, 7, 7, 7, nil, 7,
|
70
|
+
nil, 7, 7, 7, 7, 7, 8, 8, 8, 8,
|
71
|
+
8, 8, 8, 8, 8, 8, nil, 8, 8, 8,
|
72
|
+
nil, 8, nil, 8, 8, 8, 8, 8, 9, 9,
|
73
|
+
9, 9, 9, 9, 9, 9, 9, 9, nil, 9,
|
74
|
+
9, 9, nil, 9, nil, 9, 9, 9, 9, 9,
|
75
75
|
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
|
76
76
|
nil, 27, 27, 27, 27, 27, nil, 27, 27, 27,
|
77
77
|
27, 27, 28, 28, 28, 28, 28, 28, 28, 28,
|
@@ -85,17 +85,17 @@ racc_action_check = [
|
|
85
85
|
50, 50, nil, 50, nil, 50, 50, 50, 50, 50,
|
86
86
|
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
|
87
87
|
nil, 61, 61, 61, nil, 61, nil, 61, 61, 61,
|
88
|
-
61, 61,
|
89
|
-
|
88
|
+
61, 61, 25, 25, 25, 26, 26, 26, 29, 29,
|
89
|
+
29 ]
|
90
90
|
|
91
91
|
racc_action_pointer = [
|
92
|
-
|
93
|
-
|
94
|
-
nil, nil, nil, nil,
|
92
|
+
54, 14, nil, nil, 76, 98, 120, 142, 164, 186,
|
93
|
+
4, 12, nil, nil, nil, nil, nil, nil, nil, nil,
|
94
|
+
nil, nil, nil, nil, 26, 315, 318, 208, 230, 321,
|
95
95
|
-2, nil, nil, 252, nil, nil, nil, nil, nil, nil,
|
96
96
|
274, nil, -2, nil, nil, nil, nil, nil, nil, nil,
|
97
97
|
296, nil, nil, nil, -6, nil, nil, nil, nil, 29,
|
98
|
-
nil, 318,
|
98
|
+
nil, 318, 1, -1, nil, nil, nil ]
|
99
99
|
|
100
100
|
racc_action_default = [
|
101
101
|
-47, -47, -1, -2, -31, -47, -47, -47, -47, -47,
|
@@ -107,26 +107,26 @@ racc_action_default = [
|
|
107
107
|
-37, -47, -47, -47, -35, -39, -26 ]
|
108
108
|
|
109
109
|
racc_goto_table = [
|
110
|
-
1, 33,
|
111
|
-
|
112
|
-
nil, nil, nil, nil, nil, nil,
|
113
|
-
nil, nil, nil, 53,
|
114
|
-
55,
|
110
|
+
1, 33, 27, 25, 26, 34, 35, 36, 37, 38,
|
111
|
+
42, 32, 39, 41, 46, 63, 62, 64, 54, nil,
|
112
|
+
nil, nil, nil, nil, nil, nil, 25, 26, 38, nil,
|
113
|
+
nil, nil, nil, 53, 45, nil, nil, nil, nil, nil,
|
114
|
+
55, 25, 26, nil, nil, nil, 59, nil, nil, 57,
|
115
115
|
34, nil, nil, nil, nil, nil, nil, nil, nil, 53,
|
116
116
|
nil, 65 ]
|
117
117
|
|
118
118
|
racc_goto_check = [
|
119
|
-
1, 5,
|
120
|
-
|
121
|
-
nil, nil, nil, nil, nil, nil,
|
122
|
-
nil, nil, nil, 1,
|
123
|
-
1,
|
119
|
+
1, 5, 4, 2, 3, 1, 1, 1, 1, 1,
|
120
|
+
8, 9, 6, 6, 10, 11, 12, 13, 14, nil,
|
121
|
+
nil, nil, nil, nil, nil, nil, 2, 3, 1, nil,
|
122
|
+
nil, nil, nil, 1, 9, nil, nil, nil, nil, nil,
|
123
|
+
1, 2, 3, nil, nil, nil, 5, nil, nil, 9,
|
124
124
|
1, nil, nil, nil, nil, nil, nil, nil, nil, 1,
|
125
125
|
nil, 1 ]
|
126
126
|
|
127
127
|
racc_goto_pointer = [
|
128
|
-
nil, 0, 0,
|
129
|
-
-
|
128
|
+
nil, 0, -1, 0, -2, -4, 2, nil, -13, 7,
|
129
|
+
-15, -44, -43, -42, -22 ]
|
130
130
|
|
131
131
|
racc_goto_default = [
|
132
132
|
nil, 29, 2, 3, nil, nil, nil, 13, nil, nil,
|
data/lib/rubocop/ast/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-11-
|
13
|
+
date: 2020-11-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parser
|
@@ -60,10 +60,12 @@ files:
|
|
60
60
|
- lib/rubocop/ast.rb
|
61
61
|
- lib/rubocop/ast/builder.rb
|
62
62
|
- lib/rubocop/ast/ext/range.rb
|
63
|
+
- lib/rubocop/ast/ext/range_min_max.rb
|
63
64
|
- lib/rubocop/ast/ext/set.rb
|
64
65
|
- lib/rubocop/ast/node.rb
|
65
66
|
- lib/rubocop/ast/node/alias_node.rb
|
66
67
|
- lib/rubocop/ast/node/and_node.rb
|
68
|
+
- lib/rubocop/ast/node/arg_node.rb
|
67
69
|
- lib/rubocop/ast/node/args_node.rb
|
68
70
|
- lib/rubocop/ast/node/array_node.rb
|
69
71
|
- lib/rubocop/ast/node/block_node.rb
|
@@ -101,6 +103,7 @@ files:
|
|
101
103
|
- lib/rubocop/ast/node/next_node.rb
|
102
104
|
- lib/rubocop/ast/node/or_node.rb
|
103
105
|
- lib/rubocop/ast/node/pair_node.rb
|
106
|
+
- lib/rubocop/ast/node/procarg0_node.rb
|
104
107
|
- lib/rubocop/ast/node/range_node.rb
|
105
108
|
- lib/rubocop/ast/node/regexp_node.rb
|
106
109
|
- lib/rubocop/ast/node/resbody_node.rb
|
@@ -158,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
161
|
requirements:
|
159
162
|
- - ">="
|
160
163
|
- !ruby/object:Gem::Version
|
161
|
-
version: 2.
|
164
|
+
version: 2.4.0
|
162
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
166
|
requirements:
|
164
167
|
- - ">="
|