rubocop-ast 1.40.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 572b1323e4358215b5e093fa0326fb04dc3d7986746143b75bd0d58223d2dc9e
4
- data.tar.gz: 96d40dd742d28e480ca3be7dd7fd16bf9f410e7631373d4c441a74530bfc0314
3
+ metadata.gz: 19ee463e3a3cb36f4cac11ef8a15c891d15ab7a7b616cab272bcef1e5d1511ad
4
+ data.tar.gz: d01d708fe51840b874ac59409db40e12860f04d639159606633bcaf31b73a22a
5
5
  SHA512:
6
- metadata.gz: fd75e5325a907aead5239937ee34447d16da764f1fe2a31d140c9d4f5398b4c4a81c5f88a697bb62149845fc24691b53d526cc5ac05b1060472e92fceaceefae
7
- data.tar.gz: d04d2d4dcf76bd6b23e9f6b2a44af18562d8bed8d9767b0511e58feabe762f90fba42f73869500fbe8c34ec1d0e4b6bebe74e7b3bbee18a83b284a97c05d477c
6
+ metadata.gz: 3172e1d4d9ec2d01a910ef63dbb2593b8c685936e9399ecc6d701cbb808969f25eadf6a7b46bce1993202693c03c11b9bc724be0c2c0e4018213a96ffc41e3b0
7
+ data.tar.gz: 33871fb889a66acdc8c39c7007f3b829cd2158f3a3c6cc111a924f1350bb1b0bcafa17de4e2c4216f0065449455b29cbec12fa3483cea9eb5623301a9060219e
@@ -32,6 +32,7 @@ module RuboCop
32
32
  gvasgn: AsgnNode,
33
33
  block: BlockNode,
34
34
  numblock: BlockNode,
35
+ itblock: BlockNode,
35
36
  break: BreakNode,
36
37
  case_match: CaseMatchNode,
37
38
  casgn: CasgnNode,
@@ -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 numblock_type?
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 `numblock` node associated with this method dispatch, if any.
42
+ # The `block`, `numblock`, or `itblock` node associated with this method dispatch, if any.
43
43
  #
44
- # @return [BlockNode, nil] the `block` or `numblock` node associated with this method
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
@@ -112,7 +112,8 @@ module RuboCop
112
112
  csend: :call,
113
113
 
114
114
  block: :any_block,
115
- numblock: :any_block
115
+ numblock: :any_block,
116
+ itblock: :any_block
116
117
  }.freeze
117
118
  private_constant :GROUP_FOR_TYPE
118
119
 
@@ -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.8.1
5
- # from Racc grammar file "parser.y".
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, 24, 5, 40, 6, 7, 8,
18
- 28, 23, 56, 50, 40, 61, 43, 66, 51, 51,
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, 28, 23,
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, 9, 23,
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, -1, -1, -1, -2, -2, -2, 47, 48,
51
- 49 ]
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, 1, 42, 10, 42, 42, 42,
56
- 42, 42, 42, 30, 11, 54, 24, 62, 30, 63,
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, 0, 0, 0, 0,
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, 25, 25, 25, 26, 26, 26, 29, 29,
89
- 29 ]
88
+ 61, 61, 29, 29, 29, 25, 25, 25, 26, 26,
89
+ 26 ]
90
90
 
91
91
  racc_action_pointer = [
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,
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, 1, -1, nil, nil, nil ]
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, 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,
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, 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,
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, -1, 0, -2, -4, 2, nil, -13, 7,
129
- -15, -44, -43, -42, -22 ]
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
 
@@ -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
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module AST
5
5
  module Version
6
- STRING = '1.40.0'
6
+ STRING = '1.41.0'
7
7
  end
8
8
  end
9
9
  end
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.40.0
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-19 00:00:00.000000000 Z
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.1.0
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.1.0
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: []
@@ -148,7 +147,6 @@ metadata:
148
147
  documentation_uri: https://docs.rubocop.org/rubocop-ast/
149
148
  bug_tracker_uri: https://github.com/rubocop/rubocop-ast/issues
150
149
  rubygems_mfa_required: 'true'
151
- post_install_message:
152
150
  rdoc_options: []
153
151
  require_paths:
154
152
  - lib
@@ -163,8 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
161
  - !ruby/object:Gem::Version
164
162
  version: '0'
165
163
  requirements: []
166
- rubygems_version: 3.5.11
167
- signing_key:
164
+ rubygems_version: 3.6.2
168
165
  specification_version: 4
169
166
  summary: RuboCop tools to deal with Ruby code AST.
170
167
  test_files: []