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