rubocop-ast 1.29.0 → 1.46.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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/rubocop/ast/builder.rb +33 -15
  4. data/lib/rubocop/ast/builder_prism.rb +11 -0
  5. data/lib/rubocop/ast/node/args_node.rb +1 -1
  6. data/lib/rubocop/ast/node/array_node.rb +9 -5
  7. data/lib/rubocop/ast/node/asgn_node.rb +2 -0
  8. data/lib/rubocop/ast/node/block_node.rb +27 -8
  9. data/lib/rubocop/ast/node/casgn_node.rb +4 -12
  10. data/lib/rubocop/ast/node/complex_node.rb +13 -0
  11. data/lib/rubocop/ast/node/const_node.rb +1 -52
  12. data/lib/rubocop/ast/node/def_node.rb +1 -1
  13. data/lib/rubocop/ast/node/ensure_node.rb +36 -0
  14. data/lib/rubocop/ast/node/for_node.rb +1 -1
  15. data/lib/rubocop/ast/node/hash_node.rb +1 -1
  16. data/lib/rubocop/ast/node/if_node.rb +11 -4
  17. data/lib/rubocop/ast/node/in_pattern_node.rb +1 -1
  18. data/lib/rubocop/ast/node/keyword_begin_node.rb +44 -0
  19. data/lib/rubocop/ast/node/masgn_node.rb +63 -0
  20. data/lib/rubocop/ast/node/mixin/basic_literal_node.rb +1 -1
  21. data/lib/rubocop/ast/node/mixin/collection_node.rb +1 -1
  22. data/lib/rubocop/ast/node/mixin/constant_node.rb +62 -0
  23. data/lib/rubocop/ast/node/mixin/descendence.rb +3 -3
  24. data/lib/rubocop/ast/node/mixin/hash_element_node.rb +2 -0
  25. data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +12 -13
  26. data/lib/rubocop/ast/node/mixin/numeric_node.rb +2 -2
  27. data/lib/rubocop/ast/node/mixin/parameterized_node.rb +2 -2
  28. data/lib/rubocop/ast/node/mixin/predicate_operator_node.rb +7 -2
  29. data/lib/rubocop/ast/node/mlhs_node.rb +29 -0
  30. data/lib/rubocop/ast/node/op_asgn_node.rb +3 -1
  31. data/lib/rubocop/ast/node/rational_node.rb +13 -0
  32. data/lib/rubocop/ast/node/str_node.rb +37 -1
  33. data/lib/rubocop/ast/node/until_node.rb +1 -1
  34. data/lib/rubocop/ast/node/var_node.rb +15 -0
  35. data/lib/rubocop/ast/node/when_node.rb +1 -1
  36. data/lib/rubocop/ast/node/while_node.rb +1 -1
  37. data/lib/rubocop/ast/node.rb +124 -45
  38. data/lib/rubocop/ast/node_pattern/compiler/binding.rb +3 -3
  39. data/lib/rubocop/ast/node_pattern/compiler/debug.rb +3 -8
  40. data/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +3 -4
  41. data/lib/rubocop/ast/node_pattern/compiler.rb +1 -1
  42. data/lib/rubocop/ast/node_pattern/lexer.rex.rb +1 -2
  43. data/lib/rubocop/ast/node_pattern/node.rb +11 -6
  44. data/lib/rubocop/ast/node_pattern/parser.racc.rb +4 -2
  45. data/lib/rubocop/ast/node_pattern/parser.rb +1 -1
  46. data/lib/rubocop/ast/node_pattern.rb +1 -1
  47. data/lib/rubocop/ast/processed_source.rb +158 -60
  48. data/lib/rubocop/ast/token.rb +2 -1
  49. data/lib/rubocop/ast/traversal.rb +35 -25
  50. data/lib/rubocop/ast/utilities/simple_forwardable.rb +27 -0
  51. data/lib/rubocop/ast/version.rb +1 -1
  52. data/lib/rubocop/ast.rb +10 -1
  53. metadata +29 -7
  54. data/lib/rubocop/ast/ext/range_min_max.rb +0 -18
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.29.0
4
+ version: 1.46.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: 2023-06-01 00:00:00.000000000 Z
13
+ date: 2025-07-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parser
@@ -18,14 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.1.0
21
+ version: 3.3.7.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 3.2.1.0
28
+ version: 3.3.7.2
29
+ - !ruby/object:Gem::Dependency
30
+ name: prism
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.4'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.4'
29
43
  description: " RuboCop's Node and NodePattern classes.\n"
30
44
  email: rubocop@googlegroups.com
31
45
  executables: []
@@ -39,8 +53,8 @@ files:
39
53
  - lib/rubocop-ast.rb
40
54
  - lib/rubocop/ast.rb
41
55
  - lib/rubocop/ast/builder.rb
56
+ - lib/rubocop/ast/builder_prism.rb
42
57
  - lib/rubocop/ast/ext/range.rb
43
- - lib/rubocop/ast/ext/range_min_max.rb
44
58
  - lib/rubocop/ast/node.rb
45
59
  - lib/rubocop/ast/node/alias_node.rb
46
60
  - lib/rubocop/ast/node/and_asgn_node.rb
@@ -55,6 +69,7 @@ files:
55
69
  - lib/rubocop/ast/node/case_node.rb
56
70
  - lib/rubocop/ast/node/casgn_node.rb
57
71
  - lib/rubocop/ast/node/class_node.rb
72
+ - lib/rubocop/ast/node/complex_node.rb
58
73
  - lib/rubocop/ast/node/const_node.rb
59
74
  - lib/rubocop/ast/node/csend_node.rb
60
75
  - lib/rubocop/ast/node/def_node.rb
@@ -70,12 +85,15 @@ files:
70
85
  - lib/rubocop/ast/node/index_node.rb
71
86
  - lib/rubocop/ast/node/indexasgn_node.rb
72
87
  - lib/rubocop/ast/node/int_node.rb
88
+ - lib/rubocop/ast/node/keyword_begin_node.rb
73
89
  - lib/rubocop/ast/node/keyword_splat_node.rb
74
90
  - lib/rubocop/ast/node/lambda_node.rb
91
+ - lib/rubocop/ast/node/masgn_node.rb
75
92
  - lib/rubocop/ast/node/mixin/basic_literal_node.rb
76
93
  - lib/rubocop/ast/node/mixin/binary_operator_node.rb
77
94
  - lib/rubocop/ast/node/mixin/collection_node.rb
78
95
  - lib/rubocop/ast/node/mixin/conditional_node.rb
96
+ - lib/rubocop/ast/node/mixin/constant_node.rb
79
97
  - lib/rubocop/ast/node/mixin/descendence.rb
80
98
  - lib/rubocop/ast/node/mixin/hash_element_node.rb
81
99
  - lib/rubocop/ast/node/mixin/method_dispatch_node.rb
@@ -84,6 +102,7 @@ files:
84
102
  - lib/rubocop/ast/node/mixin/numeric_node.rb
85
103
  - lib/rubocop/ast/node/mixin/parameterized_node.rb
86
104
  - lib/rubocop/ast/node/mixin/predicate_operator_node.rb
105
+ - lib/rubocop/ast/node/mlhs_node.rb
87
106
  - lib/rubocop/ast/node/module_node.rb
88
107
  - lib/rubocop/ast/node/next_node.rb
89
108
  - lib/rubocop/ast/node/op_asgn_node.rb
@@ -92,6 +111,7 @@ files:
92
111
  - lib/rubocop/ast/node/pair_node.rb
93
112
  - lib/rubocop/ast/node/procarg0_node.rb
94
113
  - lib/rubocop/ast/node/range_node.rb
114
+ - lib/rubocop/ast/node/rational_node.rb
95
115
  - lib/rubocop/ast/node/regexp_node.rb
96
116
  - lib/rubocop/ast/node/resbody_node.rb
97
117
  - lib/rubocop/ast/node/rescue_node.rb
@@ -102,6 +122,7 @@ files:
102
122
  - lib/rubocop/ast/node/super_node.rb
103
123
  - lib/rubocop/ast/node/symbol_node.rb
104
124
  - lib/rubocop/ast/node/until_node.rb
125
+ - lib/rubocop/ast/node/var_node.rb
105
126
  - lib/rubocop/ast/node/when_node.rb
106
127
  - lib/rubocop/ast/node/while_node.rb
107
128
  - lib/rubocop/ast/node/yield_node.rb
@@ -130,6 +151,7 @@ files:
130
151
  - lib/rubocop/ast/sexp.rb
131
152
  - lib/rubocop/ast/token.rb
132
153
  - lib/rubocop/ast/traversal.rb
154
+ - lib/rubocop/ast/utilities/simple_forwardable.rb
133
155
  - lib/rubocop/ast/version.rb
134
156
  homepage: https://github.com/rubocop/rubocop-ast
135
157
  licenses:
@@ -149,14 +171,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
171
  requirements:
150
172
  - - ">="
151
173
  - !ruby/object:Gem::Version
152
- version: 2.6.0
174
+ version: 2.7.0
153
175
  required_rubygems_version: !ruby/object:Gem::Requirement
154
176
  requirements:
155
177
  - - ">="
156
178
  - !ruby/object:Gem::Version
157
179
  version: '0'
158
180
  requirements: []
159
- rubygems_version: 3.4.1
181
+ rubygems_version: 3.5.11
160
182
  signing_key:
161
183
  specification_version: 4
162
184
  summary: RuboCop tools to deal with Ruby code AST.
@@ -1,18 +0,0 @@
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