rubocop-ast 1.39.0 → 1.41.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/builder.rb +24 -15
- data/lib/rubocop/ast/builder_prism.rb +11 -0
- data/lib/rubocop/ast/node/block_node.rb +7 -6
- data/lib/rubocop/ast/node/ensure_node.rb +13 -0
- data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +3 -3
- data/lib/rubocop/ast/node.rb +2 -1
- data/lib/rubocop/ast/node_pattern/parser.racc.rb +40 -42
- data/lib/rubocop/ast/processed_source.rb +28 -17
- data/lib/rubocop/ast/traversal.rb +2 -1
- data/lib/rubocop/ast/version.rb +1 -1
- metadata +6 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19ee463e3a3cb36f4cac11ef8a15c891d15ab7a7b616cab272bcef1e5d1511ad
|
4
|
+
data.tar.gz: d01d708fe51840b874ac59409db40e12860f04d639159606633bcaf31b73a22a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3172e1d4d9ec2d01a910ef63dbb2593b8c685936e9399ecc6d701cbb808969f25eadf6a7b46bce1993202693c03c11b9bc724be0c2c0e4018213a96ffc41e3b0
|
7
|
+
data.tar.gz: 33871fb889a66acdc8c39c7007f3b829cd2158f3a3c6cc111a924f1350bb1b0bcafa17de4e2c4216f0065449455b29cbec12fa3483cea9eb5623301a9060219e
|
data/lib/rubocop/ast/builder.rb
CHANGED
@@ -2,20 +2,13 @@
|
|
2
2
|
|
3
3
|
module RuboCop
|
4
4
|
module AST
|
5
|
-
#
|
6
|
-
#
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
# builder = RuboCop::AST::Builder.new
|
13
|
-
# require 'parser/ruby25'
|
14
|
-
# parser = Parser::Ruby25.new(builder)
|
15
|
-
# root_node = parser.parse(buffer)
|
16
|
-
class Builder < Parser::Builders::Default
|
17
|
-
self.emit_forward_arg = true if respond_to?(:emit_forward_arg=)
|
18
|
-
self.emit_match_pattern = true if respond_to?(:emit_match_pattern=)
|
5
|
+
# Common functionality between the parser and prism builder
|
6
|
+
# @api private
|
7
|
+
module BuilderExtensions
|
8
|
+
def self.included(base)
|
9
|
+
base.emit_forward_arg = true
|
10
|
+
base.emit_match_pattern = true
|
11
|
+
end
|
19
12
|
|
20
13
|
# @api private
|
21
14
|
NODE_MAP = {
|
@@ -39,6 +32,7 @@ module RuboCop
|
|
39
32
|
gvasgn: AsgnNode,
|
40
33
|
block: BlockNode,
|
41
34
|
numblock: BlockNode,
|
35
|
+
itblock: BlockNode,
|
42
36
|
break: BreakNode,
|
43
37
|
case_match: CaseMatchNode,
|
44
38
|
casgn: CasgnNode,
|
@@ -107,7 +101,7 @@ module RuboCop
|
|
107
101
|
node_klass(type).new(type, children, location: source_map)
|
108
102
|
end
|
109
103
|
|
110
|
-
#
|
104
|
+
# Overwrite the base method to allow strings with invalid encoding
|
111
105
|
# More details here https://github.com/whitequark/parser/issues/283
|
112
106
|
def string_value(token)
|
113
107
|
value(token)
|
@@ -119,5 +113,20 @@ module RuboCop
|
|
119
113
|
NODE_MAP[type] || Node
|
120
114
|
end
|
121
115
|
end
|
116
|
+
|
117
|
+
# `RuboCop::AST::Builder` is an AST builder that is utilized to let `Parser`
|
118
|
+
# generate ASTs with {RuboCop::AST::Node}.
|
119
|
+
#
|
120
|
+
# @example
|
121
|
+
# buffer = Parser::Source::Buffer.new('(string)')
|
122
|
+
# buffer.source = 'puts :foo'
|
123
|
+
#
|
124
|
+
# builder = RuboCop::AST::Builder.new
|
125
|
+
# require 'parser/ruby25'
|
126
|
+
# parser = Parser::Ruby25.new(builder)
|
127
|
+
# root_node = parser.parse(buffer)
|
128
|
+
class Builder < Parser::Builders::Default
|
129
|
+
include BuilderExtensions
|
130
|
+
end
|
122
131
|
end
|
123
132
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module AST
|
5
|
+
# A parser builder, based on the one provided by prism,
|
6
|
+
# which is capable of emitting AST for more recent Rubies.
|
7
|
+
class BuilderPrism < Prism::Translation::Parser::Builder
|
8
|
+
include BuilderExtensions
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -11,6 +11,8 @@ module RuboCop
|
|
11
11
|
class BlockNode < Node
|
12
12
|
include MethodIdentifierPredicates
|
13
13
|
|
14
|
+
IT_BLOCK_ARGUMENT = [ArgNode.new(:arg, [:it])].freeze
|
15
|
+
private_constant :IT_BLOCK_ARGUMENT
|
14
16
|
VOID_CONTEXT_METHODS = %i[each tap].freeze
|
15
17
|
private_constant :VOID_CONTEXT_METHODS
|
16
18
|
|
@@ -46,10 +48,10 @@ module RuboCop
|
|
46
48
|
#
|
47
49
|
# @return [Array<Node>]
|
48
50
|
def arguments
|
49
|
-
if
|
50
|
-
[].freeze # Numbered parameters have no block arguments.
|
51
|
-
else
|
51
|
+
if block_type?
|
52
52
|
node_parts[1]
|
53
|
+
else
|
54
|
+
[].freeze # Numblocks and itblocks have no explicit block arguments.
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
@@ -60,6 +62,8 @@ module RuboCop
|
|
60
62
|
def argument_list
|
61
63
|
if numblock_type?
|
62
64
|
numbered_arguments
|
65
|
+
elsif itblock_type?
|
66
|
+
IT_BLOCK_ARGUMENT
|
63
67
|
else
|
64
68
|
arguments.argument_list
|
65
69
|
end
|
@@ -153,10 +157,7 @@ module RuboCop
|
|
153
157
|
|
154
158
|
private
|
155
159
|
|
156
|
-
# Numbered arguments of this `numblock`.
|
157
160
|
def numbered_arguments
|
158
|
-
return [].freeze unless numblock_type?
|
159
|
-
|
160
161
|
max_param = children[1]
|
161
162
|
1.upto(max_param).map do |i|
|
162
163
|
ArgNode.new(:arg, [:"_#{i}"])
|
@@ -6,11 +6,24 @@ module RuboCop
|
|
6
6
|
# node when the builder constructs the AST, making its methods available
|
7
7
|
# to all `ensure` nodes within RuboCop.
|
8
8
|
class EnsureNode < Node
|
9
|
+
DEPRECATION_WARNING_LOCATION_CACHE = [] # rubocop:disable Style/MutableConstant
|
10
|
+
private_constant :DEPRECATION_WARNING_LOCATION_CACHE
|
11
|
+
|
9
12
|
# Returns the body of the `ensure` clause.
|
10
13
|
#
|
11
14
|
# @return [Node, nil] The body of the `ensure`.
|
12
15
|
# @deprecated Use `EnsureNode#branch`
|
13
16
|
def body
|
17
|
+
first_caller = caller(1..1).first
|
18
|
+
|
19
|
+
unless DEPRECATION_WARNING_LOCATION_CACHE.include?(first_caller)
|
20
|
+
warn '`EnsureNode#body` is deprecated and will be changed in the next major version of ' \
|
21
|
+
'rubocop-ast. Use `EnsureNode#branch` instead to get the body of the `ensure` branch.'
|
22
|
+
warn "Called from:\n#{caller.join("\n")}\n\n"
|
23
|
+
|
24
|
+
DEPRECATION_WARNING_LOCATION_CACHE << first_caller
|
25
|
+
end
|
26
|
+
|
14
27
|
branch
|
15
28
|
end
|
16
29
|
|
@@ -39,10 +39,10 @@ module RuboCop
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
# The `block` or `
|
42
|
+
# The `block`, `numblock`, or `itblock` node associated with this method dispatch, if any.
|
43
43
|
#
|
44
|
-
# @return [BlockNode, nil] the `block` or `
|
45
|
-
# call or `nil`
|
44
|
+
# @return [BlockNode, nil] the `block`, `numblock`, or `itblock` node associated with this
|
45
|
+
# method call or `nil`
|
46
46
|
def block_node
|
47
47
|
parent if block_literal?
|
48
48
|
end
|
data/lib/rubocop/ast/node.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
#
|
3
3
|
# DO NOT MODIFY!!!!
|
4
|
-
# This file is automatically generated by Racc 1.
|
5
|
-
# from Racc grammar file "
|
4
|
+
# This file is automatically generated by Racc 1.5.0
|
5
|
+
# from Racc grammar file "".
|
6
6
|
#
|
7
7
|
|
8
8
|
require 'racc/parser.rb'
|
@@ -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, 40, 5, 43, 6, 7, 8,
|
18
|
+
28, 23, 56, 50, 66, 61, 24, 51, 51, 40,
|
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, 9, 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, 28, 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, 47, 48, 49, -1, -1, -1, -2, -2,
|
51
|
+
-2 ]
|
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, 11, 42, 24, 42, 42, 42,
|
56
|
+
42, 42, 42, 30, 62, 54, 1, 63, 30, 10,
|
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,
|
59
|
+
59, 59, 59, nil, nil, 59, 5, 5, 5, 5,
|
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,
|
60
71
|
0, 0, 0, 0, 0, 0, nil, 0, 0, 0,
|
61
72
|
nil, 0, nil, 0, 0, 0, 0, 0, 4, 4,
|
62
73
|
4, 4, 4, 4, 4, 4, 4, 4, nil, 4,
|
63
74
|
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, 29, 29, 29, 25, 25, 25, 26, 26,
|
89
|
+
26 ]
|
90
90
|
|
91
91
|
racc_action_pointer = [
|
92
|
-
|
93
|
-
|
94
|
-
nil, nil, nil, nil,
|
92
|
+
164, 26, nil, nil, 186, 54, 76, 98, 120, 142,
|
93
|
+
17, 2, nil, nil, nil, nil, nil, nil, nil, nil,
|
94
|
+
nil, nil, nil, nil, 16, 318, 321, 208, 230, 315,
|
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, -2, -3, 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, 64, 32, 25, 34, 35, 36, 37, 38,
|
111
|
+
54, 26, 39, 41, 27, 42, 46, 63, 62, nil,
|
112
|
+
nil, nil, nil, nil, nil, nil, 45, 25, 38, nil,
|
113
|
+
nil, nil, nil, 53, 26, nil, nil, nil, nil, nil,
|
114
|
+
55, 57, 25, nil, nil, nil, 59, nil, nil, 26,
|
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, 13, 9, 2, 1, 1, 1, 1, 1,
|
120
|
+
14, 3, 6, 6, 4, 8, 10, 11, 12, nil,
|
121
|
+
nil, nil, nil, nil, nil, nil, 9, 2, 1, nil,
|
122
|
+
nil, nil, nil, 1, 3, nil, nil, nil, nil, nil,
|
123
|
+
1, 9, 2, nil, nil, nil, 5, nil, nil, 3,
|
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,
|
129
|
-
-
|
128
|
+
nil, 0, 0, 7, 10, -4, 2, nil, -8, -1,
|
129
|
+
-13, -42, -41, -57, -30 ]
|
130
130
|
|
131
131
|
racc_goto_default = [
|
132
132
|
nil, 29, 2, 3, nil, nil, nil, 13, nil, nil,
|
@@ -239,7 +239,6 @@ Racc_arg = [
|
|
239
239
|
racc_shift_n,
|
240
240
|
racc_reduce_n,
|
241
241
|
racc_use_result_var ]
|
242
|
-
Ractor.make_shareable(Racc_arg) if defined?(Ractor)
|
243
242
|
|
244
243
|
Racc_token_to_s_table = [
|
245
244
|
"$end",
|
@@ -290,7 +289,6 @@ Racc_token_to_s_table = [
|
|
290
289
|
"opt_rest",
|
291
290
|
"rest",
|
292
291
|
"arg_list" ]
|
293
|
-
Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
|
294
292
|
|
295
293
|
Racc_debug_parser = false
|
296
294
|
|
@@ -314,10 +314,10 @@ module RuboCop
|
|
314
314
|
|
315
315
|
case ruby_version
|
316
316
|
when 3.3
|
317
|
-
|
317
|
+
require 'prism/translation/parser33'
|
318
318
|
Prism::Translation::Parser33
|
319
319
|
when 3.4
|
320
|
-
|
320
|
+
require 'prism/translation/parser34'
|
321
321
|
Prism::Translation::Parser34
|
322
322
|
else
|
323
323
|
raise ArgumentError, 'RuboCop supports target Ruby versions 3.3 and above with Prism. ' \
|
@@ -326,34 +326,45 @@ module RuboCop
|
|
326
326
|
end
|
327
327
|
end
|
328
328
|
|
329
|
+
def builder_class(parser_engine)
|
330
|
+
case parser_engine
|
331
|
+
when :parser_whitequark
|
332
|
+
RuboCop::AST::Builder
|
333
|
+
when :parser_prism
|
334
|
+
require_prism
|
335
|
+
require_relative 'builder_prism'
|
336
|
+
RuboCop::AST::BuilderPrism
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
329
340
|
# Prism is a native extension, a `LoadError` will be raised if linked to an incompatible
|
330
341
|
# Ruby version. Only raise if it really was caused by Prism not being present.
|
342
|
+
# rubocop:disable Metrics/MethodLength
|
331
343
|
def require_prism
|
332
344
|
require 'prism'
|
345
|
+
required_prism_version = '1.4.0'
|
346
|
+
if required_prism_version > Prism::VERSION
|
347
|
+
# While Prism is not yet a dependency, users may run with outdated versions that
|
348
|
+
# don't have all the parsers.
|
349
|
+
warn <<~MESSAGE
|
350
|
+
Error: Prism version #{Prism::VERSION} was loaded, but rubocop-ast requires #{required_prism_version}.
|
351
|
+
* If you're using Bundler and don't yet have `gem 'prism'` as a dependency, add it now.
|
352
|
+
* If you're using Bundler and already have `gem 'prism'` as a dependency, update it to the most recent version.
|
353
|
+
* If you don't use Bundler, run `gem update prism`.
|
354
|
+
MESSAGE
|
355
|
+
exit!
|
356
|
+
end
|
333
357
|
rescue LoadError => e
|
334
358
|
raise unless e.path == 'prism'
|
335
359
|
|
336
360
|
warn "Error: Unable to load Prism. Add `gem 'prism'` to your Gemfile."
|
337
361
|
exit!
|
338
362
|
end
|
339
|
-
|
340
|
-
# While Prism is not yet a dependency, users may run with outdated versions that
|
341
|
-
# don't have all the parsers.
|
342
|
-
def require_prism_translation_parser(version)
|
343
|
-
require "prism/translation/parser#{version.to_s.delete('.')}"
|
344
|
-
rescue LoadError
|
345
|
-
warn <<~MESSAGE
|
346
|
-
Error: Unable to load Prism parser for Ruby #{version}.
|
347
|
-
* If you're using Bundler and don't yet have `gem 'prism'` as a dependency, add it now.
|
348
|
-
* If you're using Bundler and already have `gem 'prism'` as a dependency, update it to the most recent version.
|
349
|
-
* If you don't use Bundler, run `gem update prism`.
|
350
|
-
MESSAGE
|
351
|
-
exit!
|
352
|
-
end
|
363
|
+
# rubocop:enable Metrics/MethodLength
|
353
364
|
|
354
365
|
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
355
366
|
def create_parser(ruby_version, parser_engine, prism_result)
|
356
|
-
builder =
|
367
|
+
builder = builder_class(parser_engine).new
|
357
368
|
|
358
369
|
parser_class = parser_class(ruby_version, parser_engine)
|
359
370
|
|
@@ -159,6 +159,7 @@ module RuboCop
|
|
159
159
|
def_callback :if, :always, :nil?, :nil?
|
160
160
|
def_callback :block, :always, :always, :nil?
|
161
161
|
def_callback :numblock, :always, :skip, :nil?
|
162
|
+
def_callback :itblock, :always, :skip, :nil?
|
162
163
|
def_callback :defs, :always, :skip, :always, :nil?
|
163
164
|
|
164
165
|
def_callback %i[send csend], body: <<~RUBY
|
@@ -176,7 +177,7 @@ module RuboCop
|
|
176
177
|
|
177
178
|
to_define = ::Parser::Meta::NODE_TYPES.to_a
|
178
179
|
to_define -= defined
|
179
|
-
to_define -= %i[numargs ident] # transient
|
180
|
+
to_define -= %i[numargs itarg ident] # transient
|
180
181
|
to_define -= %i[blockarg_expr restarg_expr] # obsolete
|
181
182
|
to_define -= %i[objc_kwarg objc_restarg objc_varargs] # mac_ruby
|
182
183
|
def_callback to_define, body: <<~RUBY
|
data/lib/rubocop/ast/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.41.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
8
8
|
- Jonas Arvidsson
|
9
9
|
- Yuji Nakayama
|
10
|
-
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2025-03-
|
12
|
+
date: 2025-03-20 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: parser
|
@@ -18,14 +17,14 @@ dependencies:
|
|
18
17
|
requirements:
|
19
18
|
- - ">="
|
20
19
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.3.
|
20
|
+
version: 3.3.7.2
|
22
21
|
type: :runtime
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
24
|
requirements:
|
26
25
|
- - ">="
|
27
26
|
- !ruby/object:Gem::Version
|
28
|
-
version: 3.3.
|
27
|
+
version: 3.3.7.2
|
29
28
|
description: " RuboCop's Node and NodePattern classes.\n"
|
30
29
|
email: rubocop@googlegroups.com
|
31
30
|
executables: []
|
@@ -39,6 +38,7 @@ files:
|
|
39
38
|
- lib/rubocop-ast.rb
|
40
39
|
- lib/rubocop/ast.rb
|
41
40
|
- lib/rubocop/ast/builder.rb
|
41
|
+
- lib/rubocop/ast/builder_prism.rb
|
42
42
|
- lib/rubocop/ast/ext/range.rb
|
43
43
|
- lib/rubocop/ast/node.rb
|
44
44
|
- lib/rubocop/ast/node/alias_node.rb
|
@@ -147,7 +147,6 @@ metadata:
|
|
147
147
|
documentation_uri: https://docs.rubocop.org/rubocop-ast/
|
148
148
|
bug_tracker_uri: https://github.com/rubocop/rubocop-ast/issues
|
149
149
|
rubygems_mfa_required: 'true'
|
150
|
-
post_install_message:
|
151
150
|
rdoc_options: []
|
152
151
|
require_paths:
|
153
152
|
- lib
|
@@ -162,8 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
161
|
- !ruby/object:Gem::Version
|
163
162
|
version: '0'
|
164
163
|
requirements: []
|
165
|
-
rubygems_version: 3.
|
166
|
-
signing_key:
|
164
|
+
rubygems_version: 3.6.2
|
167
165
|
specification_version: 4
|
168
166
|
summary: RuboCop tools to deal with Ruby code AST.
|
169
167
|
test_files: []
|