rubocop-ast 1.43.0 → 1.45.1
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/node/mixin/method_dispatch_node.rb +2 -3
- data/lib/rubocop/ast/node.rb +15 -1
- data/lib/rubocop/ast/node_pattern/compiler/debug.rb +2 -0
- data/lib/rubocop/ast/processed_source.rb +4 -2
- data/lib/rubocop/ast/traversal.rb +2 -2
- 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: 521d7e1613b1073ddff48a0cbe4b9845082cbe146ec4526d7b3ffbea9682a289
|
4
|
+
data.tar.gz: 53f870c81fb23413c05b2d51968b2c5eef0160b0ff6dc0a5ce50b00a694f4629
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcea8269fce5fa28c1b99a176cf80c81899c929e6d8d195359a8d2841edf07a20920282aa54e0f37ad4fc606fccc8a6ffcd9769c47a14d737390456713581291
|
7
|
+
data.tar.gz: 7061c378e6de7e7e8fdbb9b95d986a0e5447ce52e717c70e588add642360cf95ae6aafb0a67f6c580e2a498e06d46cc4d0480a207d5c7e8465b7a3570329dd85
|
@@ -200,8 +200,7 @@ module RuboCop
|
|
200
200
|
arg = node.children[2]
|
201
201
|
|
202
202
|
return unless node.send_type? && node.receiver.nil? && arg.is_a?(::AST::Node)
|
203
|
-
|
204
|
-
return arg if arg.type?(:def, :defs)
|
203
|
+
return arg if arg.any_def_type?
|
205
204
|
|
206
205
|
def_modifier(arg)
|
207
206
|
end
|
@@ -271,7 +270,7 @@ module RuboCop
|
|
271
270
|
|
272
271
|
# @!method adjacent_def_modifier?(node = self)
|
273
272
|
def_node_matcher :adjacent_def_modifier?, <<~PATTERN
|
274
|
-
(send nil? _ (
|
273
|
+
(send nil? _ (any_def ...))
|
275
274
|
PATTERN
|
276
275
|
|
277
276
|
# @!method bare_access_modifier_declaration?(node = self)
|
data/lib/rubocop/ast/node.rb
CHANGED
@@ -87,6 +87,9 @@ module RuboCop
|
|
87
87
|
|
88
88
|
# @api private
|
89
89
|
GROUP_FOR_TYPE = {
|
90
|
+
def: :any_def,
|
91
|
+
defs: :any_def,
|
92
|
+
|
90
93
|
arg: :argument,
|
91
94
|
optarg: :argument,
|
92
95
|
restarg: :argument,
|
@@ -113,7 +116,10 @@ module RuboCop
|
|
113
116
|
|
114
117
|
block: :any_block,
|
115
118
|
numblock: :any_block,
|
116
|
-
itblock: :any_block
|
119
|
+
itblock: :any_block,
|
120
|
+
|
121
|
+
match_pattern: :any_match_pattern,
|
122
|
+
match_pattern_p: :any_match_pattern
|
117
123
|
}.freeze
|
118
124
|
private_constant :GROUP_FOR_TYPE
|
119
125
|
|
@@ -513,6 +519,10 @@ module RuboCop
|
|
513
519
|
parent&.send_type? && parent.arguments.include?(self)
|
514
520
|
end
|
515
521
|
|
522
|
+
def any_def_type?
|
523
|
+
GROUP_FOR_TYPE[type] == :any_def
|
524
|
+
end
|
525
|
+
|
516
526
|
def argument_type?
|
517
527
|
GROUP_FOR_TYPE[type] == :argument
|
518
528
|
end
|
@@ -533,6 +543,10 @@ module RuboCop
|
|
533
543
|
GROUP_FOR_TYPE[type] == :any_block
|
534
544
|
end
|
535
545
|
|
546
|
+
def any_match_pattern_type?
|
547
|
+
GROUP_FOR_TYPE[type] == :any_match_pattern
|
548
|
+
end
|
549
|
+
|
536
550
|
def guard_clause?
|
537
551
|
node = operator_keyword? ? rhs : self
|
538
552
|
|
@@ -256,7 +256,8 @@ module RuboCop
|
|
256
256
|
[ast, comments, tokens]
|
257
257
|
end
|
258
258
|
|
259
|
-
|
259
|
+
# rubocop:disable Lint/FloatComparison, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
260
|
+
def parser_class(ruby_version, parser_engine)
|
260
261
|
case parser_engine
|
261
262
|
when :parser_whitequark
|
262
263
|
case ruby_version
|
@@ -323,6 +324,7 @@ module RuboCop
|
|
323
324
|
end
|
324
325
|
end
|
325
326
|
end
|
327
|
+
# rubocop:enable Lint/FloatComparison, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
326
328
|
|
327
329
|
def builder_class(parser_engine)
|
328
330
|
case parser_engine
|
@@ -339,7 +341,7 @@ module RuboCop
|
|
339
341
|
|
340
342
|
parser_class = parser_class(ruby_version, parser_engine)
|
341
343
|
|
342
|
-
parser_instance = if prism_result
|
344
|
+
parser_instance = if parser_engine == :parser_prism && prism_result
|
343
345
|
# NOTE: Since it is intended for use with Ruby LSP, it targets only Prism.
|
344
346
|
# If there is no reuse of a pre-parsed result, such as in Ruby LSP,
|
345
347
|
# regular parsing with Prism occurs, and `else` branch will be executed.
|
@@ -118,7 +118,7 @@ module RuboCop
|
|
118
118
|
many_node_children = %i[dstr dsym xstr regexp array hash pair
|
119
119
|
mlhs masgn or_asgn and_asgn rasgn mrasgn
|
120
120
|
undef alias args super yield or and
|
121
|
-
while_post until_post
|
121
|
+
while_post until_post
|
122
122
|
match_with_lvasgn begin kwbegin return
|
123
123
|
in_match match_alt break next
|
124
124
|
match_as array_pattern array_pattern_with_tail
|
@@ -126,7 +126,7 @@ module RuboCop
|
|
126
126
|
index indexasgn procarg0 kwargs]
|
127
127
|
many_opt_node_children = %i[case rescue resbody ensure for when
|
128
128
|
case_match in_pattern irange erange
|
129
|
-
match_pattern match_pattern_p]
|
129
|
+
match_pattern match_pattern_p iflipflop eflipflop]
|
130
130
|
|
131
131
|
### Callbacks for above
|
132
132
|
def_callback no_children
|
data/lib/rubocop/ast/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.45.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
8
8
|
- Jonas Arvidsson
|
9
9
|
- Yuji Nakayama
|
10
|
+
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2025-
|
13
|
+
date: 2025-06-08 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: parser
|
@@ -161,6 +162,7 @@ metadata:
|
|
161
162
|
documentation_uri: https://docs.rubocop.org/rubocop-ast/
|
162
163
|
bug_tracker_uri: https://github.com/rubocop/rubocop-ast/issues
|
163
164
|
rubygems_mfa_required: 'true'
|
165
|
+
post_install_message:
|
164
166
|
rdoc_options: []
|
165
167
|
require_paths:
|
166
168
|
- lib
|
@@ -175,7 +177,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
177
|
- !ruby/object:Gem::Version
|
176
178
|
version: '0'
|
177
179
|
requirements: []
|
178
|
-
rubygems_version: 3.
|
180
|
+
rubygems_version: 3.5.11
|
181
|
+
signing_key:
|
179
182
|
specification_version: 4
|
180
183
|
summary: RuboCop tools to deal with Ruby code AST.
|
181
184
|
test_files: []
|